امشب Apache را از مخزن توزیع نصب می‌کنیم و میان نصب بسته، اجرای سرویس و دسترسی شبکه تفاوت می‌گذاریم. نتیجه باید پاسخ HTTP واقعی از VM باشد.

این جلسه بخشی از دورهٔ آپاچی در ۵۰ شب است. قرارداد نام‌ها، مسیرها و روش اعمال تغییر را در راهنمای دوره بخوان.

محیط: Debian 13 یا Ubuntu Server 24.04، حساب sudo و Snapshot شب اول. شاخهٔ AlmaLinux و Rocky در شب سوم است.

بسته و سرویس#

sudo apt update
sudo apt install apache2 apache2-utils curl openssl
sudo systemctl enable --now apache2
sudo apache2ctl -t
sudo apache2ctl -v
sudo systemctl status apache2 --no-pager

enable اجرای خودکار هنگام بوت را تنظیم می‌کند؛ --now همین حالا سرویس را هم راه می‌اندازد. -t نحو پیکربندی را بررسی می‌کند. نتیجهٔ مورد انتظار، پیکربندی معتبر و سرویس فعال است؛ شمارهٔ نسخه را از خروجی خودت ثبت کن.

curl -i http://127.0.0.1/
sudo ss -lntp
sudo journalctl -u apache2 -n 30 --no-pager

صفحهٔ پیش‌فرض به معنی آماده بودن سایت واقعی نیست. فعلاً باید پورت 80 و یک پاسخ قابل تشخیص ببینی. از کلاینت نیز curl -i http://192.168.56.10/ را اجرا کن. اگر درخواست محلی موفق و راه دور ناموفق است، فایروال و شبکه را بررسی کن.

آدرس‌های مهم#

پیکربندی اصلی /etc/apache2/apache2.conf، پورت‌ها /etc/apache2/ports.conf و لاگ‌ها /var/log/apache2/ هستند. کارگرها معمولاً با www-data اجرا می‌شوند. برای فرمان‌های ادامهٔ دوره، متغیرهای شاخهٔ Debian را از راهنما در shell فعلی تعریف کن.

بستهٔ توزیع را با فایل اجرایی دانلودشده از یک آموزش ناشناس جایگزین نکن. نسخهٔ upstream و revision بسته را جدا ثبت کن؛ توزیع ممکن است اصلاح امنیتی را به همان نسخهٔ پایه برگرداند.

بررسی و بازگشت: یک reboot آزمایشگاهی انجام بده و دوباره پاسخ محلی را بگیر. برای توقف تمرین، sudo systemctl disable --now apache2 سرویس را متوقف و اجرای بوت را غیرفعال می‌کند؛ تنظیمات باقی می‌مانند.

منبع: نصب Apache در Ubuntu Server ، Apache در Debian .