همان Apache در خانوادهٔ RHEL با نام بسته و سرویس httpd عرضه می‌شود. امشب آن را با SELinux فعال نصب می‌کنیم و مسیرهای این شاخه را ثبت می‌کنیم.

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

محیط: AlmaLinux 9 یا Rocky Linux 9 به‌روز، حساب sudo و کنسول مستقل.

نصب و مشاهده#

sudo dnf install httpd httpd-tools mod_ssl curl openssl \
  policycoreutils-python-utils
sudo systemctl enable --now httpd
sudo httpd -t
sudo httpd -v
getenforce
curl -i http://127.0.0.1/
sudo journalctl -u httpd -n 30 --no-pager

نصب mod_ssl ممکن است میزبان پیش‌فرض TLS و Listen 443 را هم اضافه کند؛ پیش از تغییر، /etc/httpd/conf.d/ssl.conf را بخوان. صفحهٔ پیش‌فرض توزیع با محتوا و وضعیت HTTP متفاوت ممکن است نمایش داده شود؛ معیار نهایی ما میزبان اختصاصی شب پنجم است.

پیکربندی اصلی /etc/httpd/conf/httpd.conf، فایل‌های اضافی /etc/httpd/conf.d/*.conf و بارگذاری ماژول‌ها /etc/httpd/conf.modules.d/*.conf هستند. حساب کارگر معمولاً apache است. در این شاخه a2ensite و a2enmod وجود ندارند.

شبکه و برچسب امنیتی#

sudo ss -lntp
sudo firewall-cmd --get-active-zones
ls -Zd /var/www/html

فرمان firewalld فقط وقتی کاربرد دارد که سرویس آن فعال باشد. باز کردن دسترسی کلاینت‌های lab را طبق راهنمای دوره انجام بده؛ در این مرحله قانون عمومی اینترنتی اضافه نکن. وجود شنونده، مجوز فایروال و مجوز SELinux سه بررسی جدا هستند.

SELinux کنترل دسترسی اجباری بر اساس policy است. Enforcing را برای رفع خطای وب به Disabled تغییر نده؛ در شب هفتم، برچسب فایل و در شب بیست‌وچهارم، مجوز اتصال پراکسی را بررسی می‌کنیم.

تمرین و بازگشت: از .20 به .30 درخواست بفرست و نام service، کاربر و مسیر config را با شاخهٔ Debian مقایسه کن. برای توقف آزمایش sudo systemctl disable --now httpd کافی است؛ Snapshot مسیر بازگشت کامل محیط خواهد بود.

منبع: وب‌سرورهای خانوادهٔ RHEL 9 ، راهنمای Apache در Rocky .