رفتن به محتوای اصلی
دیدگاه کلود | ارائه‌کننده سرورهای ابری و اختصاصی
آموزش نصب و راه‌اندازی Apache Web Server روی Ubuntu

آموزش نصب و راه‌اندازی Apache Web Server روی Ubuntu

Apache HTTP Server که معمولا با نام Apache شناخته می‌شود، یکی از قدیمی‌ترین و در عین حال محبوب‌ترین وب‌سرورهای دنیاست. این وب‌سرور متن‌باز از سال ۱۹۹۵ تا امروز همچنان یکی از انتخاب‌های اصلی برای میزبانی وب‌سایت‌ها و اپلیکیشن‌ها روی سرورهای لینوکسی مثل Ubuntu بوده است. دلیل این محبوبیت هم روشن است: پایداری بالا، انعطاف‌پذیری، ماژولار بودن و جامعه کاربری بسیار بزرگ.

مقدمه

Apache HTTP Server که معمولا با نام Apache شناخته می‌شود، یکی از قدیمی‌ترین و در عین حال محبوب‌ترین وب‌سرورهای دنیاست. این وب‌سرور متن‌باز از سال ۱۹۹۵ تا امروز همچنان یکی از انتخاب‌های اصلی برای میزبانی وب‌سایت‌ها و اپلیکیشن‌ها روی سرورهای لینوکسی مثل Ubuntu بوده است. دلیل این محبوبیت هم روشن است: پایداری بالا، انعطاف‌پذیری، ماژولار بودن و جامعه کاربری بسیار بزرگ.

در نسخه‌های جدید اوبونتو، Apache به‌صورت پیش‌فرض با معماری مدرن‌تری اجرا می‌شود و برای سرورهای پرترافیک عملکرد بهتری ارائه می‌دهد. در این راهنما یاد می‌گیرید چگونه Apache را روی Ubuntu نصب کنید، فایروال را تنظیم نمایید، Virtual Host بسازید، HTTPS را با Let’s Encrypt فعال کنید و در نهایت نکات مهم مدیریت، امنیت و عیب‌یابی را بشناسید.

این آموزش با رویکرد HTTPS First نوشته شده تا وب‌سرور شما از همان ابتدا برای استفاده در محیط واقعی و production آماده باشد.


پیش‌نیازها

قبل از شروع، موارد زیر باید روی سرور شما آماده باشد:

  • یک سرور Ubuntu (ترجیحا نسخه LTS جدید)

  • یک کاربر عادی (non-root) با دسترسی sudo

  • فعال بودن فایروال UFW و اجازه دسترسی SSH

پس از آماده‌سازی موارد بالا، با همان کاربر وارد سرور شوید و مراحل را ادامه دهید.


نصب Apache روی Ubuntu

Apache در مخازن رسمی Ubuntu وجود دارد و نصب آن بسیار ساده است.

ابتدا لیست پکیج‌ها را به‌روزرسانی کنید:

sudo apt update
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

سپس Apache را نصب نمایید:

sudo apt install apache2
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

پس از اتمام نصب، می‌توانید نسخه Apache را بررسی کنید:

apache2 -v
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اگر خروجی بدون خطا نمایش داده شد، یعنی Apache با موفقیت نصب شده است.


بررسی ماژول پردازشی Apache (MPM)

Apache از چند مدل پردازشی مختلف استفاده می‌کند. در نسخه‌های جدید، مدل event MPM به‌صورت پیش‌فرض پیشنهاد می‌شود چون برای سرورهای پرترافیک بهینه‌تر است.

برای بررسی MPM فعال:

apache2ctl -M | grep mpm
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اگر قصد دارید Apache را در کنار PHP-FPM استفاده کنید، حتما event MPM انتخاب مناسبی خواهد بود.


تنظیم فایروال برای Apache

اگر UFW فعال است، باید دسترسی HTTP و HTTPS را باز کنید.

لیست پروفایل‌های Apache:

sudo ufw app list
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

برای باز کردن همزمان پورت‌های 80 و 443:

sudo ufw allow 'Apache Full'
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

بررسی وضعیت فایروال:

sudo ufw status
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

بررسی وضعیت سرویس Apache

Apache بعد از نصب به‌صورت خودکار اجرا می‌شود. برای بررسی وضعیت:

sudo systemctl status apache2
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اگر وضعیت روی active (running) باشد، وب‌سرور در حال اجراست.

در صورت نیاز می‌توانید آن را دستی اجرا کنید:

sudo systemctl start apache2
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

تست Apache با IP سرور

برای اطمینان از عملکرد صحیح Apache، IP عمومی سرور را در مرورگر وارد کنید.

دریافت IP:

hostname -I
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

یا:

curl -4 icanhazip.com
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اگر صفحه خوش‌آمدگویی Apache نمایش داده شد، همه‌چیز درست است.


مدیریت سرویس Apache

دستورات پرکاربرد مدیریت Apache:

  • توقف سرویس:

sudo systemctl stop apache2
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • شروع سرویس:

sudo systemctl start apache2
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • ری‌استارت کامل:

sudo systemctl restart apache2
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • بارگذاری مجدد تنظیمات بدون قطع اتصال کاربران:

sudo systemctl reload apache2
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

ساخت Virtual Host

برای میزبانی چند سایت روی یک سرور، باید Virtual Host تعریف کنید.

ابتدا دایرکتوری سایت را بسازید:

3 خط
sudo mkdir /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www/example.com
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

سپس یک فایل تست ایجاد کنید:

nano /var/www/example.com/index.html
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

ساخت فایل Virtual Host

sudo nano /etc/apache2/sites-available/example.com.conf
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

نمونه تنظیمات:

8 خط
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

فعال‌سازی سایت:

4 خط
sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

فعال‌سازی HTTPS با Let’s Encrypt

برای امنیت و سئو، استفاده از HTTPS الزامی است.

نصب Certbot:

sudo apt install certbot python3-certbot-apache
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

دریافت و نصب گواهی SSL:

sudo certbot --apache -d example.com -d www.example.com
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

Certbot به‌صورت خودکار ریدایرکت HTTP به HTTPS را نیز تنظیم می‌کند.


تمدید خودکار SSL

گواهی‌های Let’s Encrypt هر ۹۰ روز تمدید می‌شوند. Certbot این کار را به‌صورت خودکار انجام می‌دهد.

بررسی تایمر:

sudo systemctl status certbot.timer
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

تست تمدید:

sudo certbot renew --dry-run
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

فایل‌ها و مسیرهای مهم Apache

  • /var/www/ : محل فایل‌های سایت‌ها

  • /etc/apache2/ : تنظیمات اصلی Apache

  • sites-available : تنظیمات سایت‌ها

  • sites-enabled : سایت‌های فعال

  • mods-enabled : ماژول‌های فعال

  • /var/log/apache2/ : لاگ‌ها


نکات امنیتی مهم

  • غیرفعال‌سازی لیست دایرکتوری‌ها

  • تنظیم صحیح permission فایل‌ها

  • فعال‌سازی هدرهای امنیتی

  • غیرفعال کردن ماژول‌های بلااستفاده

  • به‌روزرسانی منظم سیستم


جمع‌بندی

در این راهنما با نصب و راه‌اندازی Apache روی Ubuntu آشنا شدید، فایروال را تنظیم کردید، Virtual Host ساختید، HTTPS را فعال نمودید و نکات مهم مدیریت و امنیت را یاد گرفتید. Apache همچنان یکی از پایدارترین و قابل‌اعتمادترین وب‌سرورها برای میزبانی سایت‌ها و سرویس‌های آنلاین است.

با رعایت این مراحل، وب‌سرور شما آماده استفاده در محیط واقعی و production خواهد بود.