Ubuntu 18.04

نحوه نصب وب سرور Apache در اوبونتو 18.04

معرفی

سرور Apache HTTP پرکاربردترین وب سرور در جهان است. این ویژگی های قدرتمند بسیاری از جمله ماژول های قابل بارگذاری پویا ، پشتیبانی رسانه ای قوی و ادغام گسترده با سایر نرم افزارهای محبوب را ارائه می دهد.

در این راهنما ، نحوه نصب وب سرور Apache را روی سرور اوبونتو 18.04 خود خواهید آموخت. این راهنما همچنین اطلاعات مربوط به فایلها و فهرستهای مهم Apache را تشریح می کند.

پیش نیازها

قبل از شروع این راهنما ، باید یک کاربر معمولی و غیر روت با امتیازات sudo پیکربندی شده در سرور خود داشته باشید. علاوه بر این ، شما باید یک فایروال اساسی را فعال کنید تا پورت های غیر ضروری را مسدود کند. شما می توانید نحوه پیکربندی یک حساب کاربری معمولی و راه اندازی فایروال برای سرور خود را با پیروی از راهنمای راه اندازی اولیه سرور ما برای اوبونتو 18.04 بیاموزید.

هنگامی که یک حساب ایجاد کردید ، برای شروع به عنوان کاربر غیر ریشه خود وارد شوید.

مرحله 1 – نصب Apache

Apache در پیش فرض اوبونتو موجود است و امکان نصب آن را با استفاده از ابزارهای معمول مدیریت بسته فراهم می کند.

بیایید با به روز رسانی فهرست بسته محلی شروع کنیم تا آخرین تغییرات بالادستی را منعکس کنیم:

sudo apt update

سپس ، بسته apache2 را نصب کنید:

sudo apt install apache2

پس از تأیید نصب ، apt Apache و تمام وابستگی های مورد نیاز را نصب می کند.

مرحله 2 – تنظیم فایروال

قبل از آزمایش Apache ، لازم است تنظیمات فایروال را تغییر دهید تا دسترسی خارجی به پورت های وب پیش فرض امکان پذیر باشد. اگر دستورالعمل های پیش نیاز را دنبال کرده اید ، باید یک فایروال UFW پیکربندی کرده باشید تا دسترسی به سرور شما محدود شود.

در حین نصب ، Apache خود را با UFW ثبت می کند تا چند پروفایل برنامه را ارائه دهد که می توان از آنها برای فعال یا غیرفعال کردن دسترسی به Apache از طریق فایروال استفاده کرد.

با اجرای دستورات زیر پروفایل های برنامه ufw را لیست کنید

sudo ufw app list

با این کار لیستی از پروفایل های برنامه باز می گردد:

Output
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

این لیست نشان می دهد که سه نمایه برای Apache در دسترس است:

  • Apache: این نمایه فقط پورت 80 را باز می کند (ترافیک وب معمولی و رمزگذاری نشده)
  • Apache Full: این نمایه هم پورت 80 (ترافیک معمولی و رمزگذاری نشده وب) و هم پورت 443 (ترافیک رمزگذاری شده TLS/SSL) را باز می کند.
  • Apache Secure: این نمایه فقط پورت 443 را باز می کند (ترافیک رمزگذاری شده TLS/SSL)

توصیه می شود محدود کننده ترین نمایه را فعال کنید که همچنان ترافیکی را که پیکربندی کرده اید اجازه می دهد. از آنجا که هنوز SSL را برای سرور خود در این راهنما پیکربندی نکرده اید ، فقط باید ترافیک در پورت 80 را مجاز کنید:

sudo ufw allow ‘Apache’

با بررسی وضعیت ، این تغییر را تأیید کنید:

sudo ufw status

 

اکنون ترافیک مجاز HTTP در خروجی نمایش داده می شود:

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Apache                     ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Apache (v6)                ALLOW       Anywhere (v6)

 

اکنون پروفایل آپاچی فعال شده است تا دسترسی به سرور وب امکان پذیر باشد.

مرحله 3 – بررسی سرور وب خود

در پایان مراحل نصب ، اوبونتو 18.04 Apache را راه اندازی می کند. سرور وب باید از قبل فعال باشد.

برای اطمینان از اینکه سرویس در حال اجرا است ، با سیستم systemd init تماس بگیرید:

sudo systemctl status apache2

Output
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Tue 2021-09-28 16:52:56 UTC; 1min 14s ago
 Main PID: 9409 (apache2)
    Tasks: 55 (limit: 4915)
   CGroup: /system.slice/apache2.service
           ├─9409 /usr/sbin/apache2 -k start
           ├─9410 /usr/sbin/apache2 -k start
           └─9411 /usr/sbin/apache2 -k start

این خروجی نشان می دهد که سرویس با موفقیت شروع شده است. با این حال ، بهترین راه برای تأیید این امر درخواست صفحه از Apache است.

برای تأیید صحت عملکرد نرم افزار از طریق آدرس IP شما ، می توانید به صفحه فرود پیش فرض Apache دسترسی پیدا کنید. اگر آدرس IP سرور خود را نمی دانید ، می توانید آن را از چند طریق مختلف از خط فرمان دریافت کنید.

موارد زیر را در خط فرمان سرور خود اجرا کنید:

hostname -I

چند آدرس دریافت خواهید کرد که با فاصله خالی شده اند. می توانید هر کدام را در مرورگر وب خود امتحان کنید تا بررسی کنید که آیا کار می کنند یا خیر.

جایگزینی در حال اجرای دستور زیر است که باید آدرس IP عمومی شما را به شما نشان دهد ، زیرا از مکان دیگری در اینترنت مشخص شده است:

curl -4 icanhazip.com

وقتی آدرس IP سرور خود را دارید ، آن را در نوار آدرس مرورگر خود وارد کنید:

http://your_server_ip

شما باید صفحه وب پیش فرض Ubuntu 18.04 Apache را دریافت کنید:

این صفحه وب نشان می دهد که Apache به درستی کار می کند. همچنین شامل برخی اطلاعات اولیه در مورد فایل های مهم Apache و مکان های فهرست راهنما می باشد.

مرحله 4 – مدیریت فرایند آپاچی

اکنون که سرور وب خود را فعال کرده اید ، اجازه دهید برخی از دستورات اصلی مدیریت را مرور کنیم.

با دستور زیر می توانید وب سرور خود را متوقف کنید ::

sudo systemctl stop apache2

برای راه اندازی وب سرور در صورت توقف ، این دستور را اجرا کنید:

sudo systemctl start apache2

با اجرای موارد زیر می توانید سرویس را متوقف کرده و دوباره شروع کنید:

sudo systemctl restart apache2

اگر فقط تغییرات پیکربندی را انجام می دهید ، آپاچی اغلب می تواند بدون رها کردن اتصالات بارگیری شود. برای انجام این کار ، دستور زیر را اجرا کنید:

sudo systemctl reload apache2

به طور پیش فرض ، Apache پیکربندی شده است که هنگام بوت شدن سرور به طور خودکار شروع به کار کند. اگر این آن چیزی نیست که می خواهید ، می توانید این رفتار را با موارد زیر غیرفعال کنید:

sudo systemctl disable apache2

روش دیگر ، برای فعال یا فعال کردن مجدد سرویس هنگام راه اندازی ، این دستور را اجرا کنید:

sudo systemctl enable apache2

وقتی دوباره سرور بوت می شود ، Apache باید به طور خودکار شروع به کار کند.

مرحله 5 – راه اندازی میزبان مجازی (توصیه می شود)

نگام استفاده از سرور وب آپاچی ، می توانید از میزبان مجازی (مشابه بلوک سرور در Nginx) برای درج جزئیات پیکربندی و میزبانی بیش از یک دامنه از یک سرور استفاده کنید. برای مثال ما ، ما یک دامنه به نام your_domain ایجاد می کنیم ، اما شما باید این نام را با نام دامنه خود جایگزین کنید. برای کسب اطلاعات بیشتر در مورد تنظیم نام دامنه با DigitalOcean ، مقدمه ما بر DigitalOcean DNS را مطالعه کنید.

Apache در اوبونتو 18.04 دارای یک بلوک سرور به طور پیش فرض فعال است که برای ارائه اسناد از فهرست/var/www/html پیکربندی شده است. اگرچه این کار برای یک سایت واحد خوب عمل می کند ، اما اگر از چندین سایت میزبانی می کنید ، ممکن است مشکل باشد. به جای تغییر/var/www/html ، یک ساختار فهرست درون/var/www برای یک سایت your_domain ایجاد کنید ، در صورتی که درخواست مشتری با سایر موارد مطابقت نداشته باشد ،/var/www/html را به عنوان فهرست پیش فرض در محل قرار دهید. سایت های.

دایرکتوری مربوط به دامنه خود را به شرح زیر ایجاد کنید:

sudo mkdir /var/www/your_domain

سپس ، مالکیت دایرکتوری را با متغیر محیط USER $ تعیین کنید:

sudo chown -R $USER:$USER /var/www/your_domain

اگر مقدار ماسک خود را تغییر نداده اید ، مجوز ریشه های وب شما باید صحیح باشد ، اما می توانید با تایپ موارد زیر مطمئن شوید:

sudo chmod -R 755 /var/www/your_domain

سپس ، یک صفحه نمونه index.html با استفاده از nano یا ویرایشگر مورد علاقه خود ایجاد کنید:

nano /var/www/your_domain/index.html

داخل ، نمونه HTML زیر را اضافه کنید:

/var/www/your_domain/index.html
<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain virtual host is working!</h1>
    </body>
</html>

پس از اتمام کار فایل را ذخیره و ببندید. در صورت استفاده از نانو ، می توانید با فشار دادن CTRL + X ، Y و ENTER از سیستم خارج شوید.

برای اینکه Apache این محتوا را ارائه دهد ، لازم است یک فایل میزبان مجازی با دستورالعمل های صحیح ایجاد کنید. به جای تغییر فایل پیکربندی پیش فرض واقع در /etc/apache2/sites-available/000-default.conf ، یک فایل جدید در

/etc/apache2/sites-available/your_domain.conf:

sudo nano /etc/apache2/sites-available/your_domain.conf

بلوک پیکربندی زیر را اضافه کنید ، که مشابه پیش فرض است ، اما برای فهرست و نام دامنه جدید شما به روز شده است:

/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

توجه داشته باشید که ما DocumentRoot را به فهرست جدید و ServerAdmin را به ایمیلی که سرپرست سایت your_domain می تواند به آن دسترسی داشته باشد ، به روز کرده ایم. ما همچنین دو دستورالعمل اضافه کرده ایم: ServerName ، که دامنه اصلی را که باید با این تعریف میزبان مجازی مطابقت داشته باشد ، ایجاد می کند ، و ServerAlias ، نامهای دیگری را که باید مطابق نام اصلی باشد مطابقت می دهد.

پس از اتمام کار فایل را ذخیره و ببندید.

بعد ، فایل را با ابزار a2ensite فعال کنید:

sudo a2ensite your_domain.conf

سایت پیش فرض تعریف شده در 000-default.conf را غیرفعال کنید:

sudo a2dissite 000-default.conf

اکنون خطاهای پیکربندی را آزمایش کنید:

sudo apache2ctl configtest

شما باید خروجی زیر را دریافت کنید:

Output
Syntax OK

برای پیاده سازی تغییرات ، Apache را مجدداً راه اندازی کنید:

sudo systemctl restart apache2

Apache اکنون باید نام دامنه شما را ارائه دهد. می توانید این مورد را با حرکت به آدرس http: // your_domain ، جایی که باید چیزی مانند موارد زیر دریافت کنید ، آزمایش کنید:

مرحله 6 – آشنایی با فایلها و فهرستهای مهم Apache

اکنون که می دانید چگونه سرویس Apache را مدیریت کنید ، باید چند دقیقه وقت بگذارید تا با چند دایرکتوری و فایل مهم آشنا شوید.

محتوا

  • /var/www/html: محتوای واقعی وب ، که به طور پیش فرض فقط شامل صفحه پیش فرض Apache است که قبلاً مشاهده کردید ، خارج از فهرست/var/www/html ارائه می شود. با تغییر پرونده های پیکربندی Apache می توانید این مورد را تغییر دهید.

پیکربندی سرور

  • /etc/apache2: فهرست پیکربندی Apache. همه فایلهای پیکربندی Apache در اینجا قرار دارند.
  • /etc/apache2/apache2.conf: فایل اصلی پیکربندی Apache است. این می تواند برای ایجاد تغییر در پیکربندی جهانی Apache اصلاح شود. این فایل مسئول بارگیری بسیاری از فایل های دیگر در فهرست پیکربندی است.
  • /etc/apache2/ports.conf: این فایل پورتهایی را که Apache به آنها گوش می دهد ، مشخص می کند. به طور پیش فرض ، هنگامی که ماژولی که قابلیت های SSL را فعال می کند ، آپاچی به پورت 80 گوش می دهد و همچنین به پورت 443 گوش می دهد.
  • /etc/apache2/sites-available/: دایرکتوری که میزبان مجازی هر سایت در آن ذخیره می شود. Apache از فایلهای پیکربندی موجود در این پوشه استفاده نمی کند مگر اینکه به فهرست راهنمای سایتها پیوند خورده باشد. به طور معمول ، تمام پیکربندی بلوک سرور در این فهرست انجام می شود و سپس با پیوند دادن به فهرست دیگر با دستور a2ensite فعال می شود.
  • /etc/apache2/sites-enabled/: دایرکتوری که میزبان مجازی هر سایت فعال در آن ذخیره می شود. به طور معمول ، اینها با پیوند دادن به فایلهای پیکربندی موجود در فهرست سایتهای موجود با a2ensite ایجاد می شوند. Apache فایلهای پیکربندی و پیوندهای موجود در این فهرست را هنگام شروع یا بارگیری مجدد برای کامپایل یک پیکربندی کامل می خواند.
  • /etc/apache2/conf-available/،/etc/apache2/conf-enabled/: این فهرستها همانند فهرستهای سایتهای موجود و سایتهای فعال هستند ، اما برای ذخیره قطعات پیکربندی که متعلق به یک میزبان مجازی فایل های موجود در فهرست conf-available را می توان با دستور a2enconf فعال کرد و با دستور a2disconf غیرفعال کرد.
  • /etc/apache2/mods-available/،/etc/apache2/mods-enabled/: این فهرستها به ترتیب شامل ماژولهای موجود و فعال هستند. فایل هایی که به .load ختم می شوند شامل قطعاتی برای بارگذاری ماژول های خاص هستند ، در حالی که فایل هایی که به .conf ختم می شوند حاوی پیکربندی آن ماژول ها هستند. ماژول ها را می توان با استفاده از دستورات a2enmod و a2dismod فعال و غیرفعال کرد.

Server Logs

  • /var/log/apache2/access.log: به طور پیش فرض ، هر درخواستی از سرور وب شما در این فایل لاگ ثبت می شود مگر اینکه Apache به گونه دیگری تنظیم شده باشد.
  • /var/log/apache2/error.log: به طور پیش فرض ، همه خطاها در این پرونده ثبت می شوند. دستورالعمل LogLevel در پیکربندی Apache مشخص می کند که چقدر شامل خطا خواهند داشت.

نتیجه

اکنون که وب سرور Apache خود را نصب کرده اید ، گزینه های زیادی برای نوع محتوا و سرویس هایی که می توانید برای ایجاد تجربه ای غنی تر استفاده کنید ، در اختیار دارید.


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/