مقدمه
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 تعریف کنید.
ابتدا دایرکتوری سایت را بسازید:
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نمونه تنظیمات:
<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>فعالسازی سایت:
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.comCertbot بهصورت خودکار ریدایرکت 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 خواهد بود.

