پرش به محتوا

وب‌سرور Apache (httpd) با PHP در Rocky و AlmaLinux

httpd و PHP-FPM را نصب کنید، VirtualHost بسازید و تنظیمات SELinux و firewalld لازم برای سایت را انجام دهید.

Rocky Linux 9سطح: مقدماتیبرای: Rocky Linux 10، AlmaLinux 10، CentOS Stream 10، Rocky Linux 9، AlmaLinux 9به‌روزرسانی: ۱۶ آبان ۱۴۰۵

در خانواده‌ی RHEL، Apache با نام httpd شناخته می‌شود و PHP به‌طور پیش‌فرض از طریق PHP-FPM اجرا می‌شود.

۱. نصب

bash
sudo dnf install -y httpd mod_ssl php php-fpm php-mysqlnd php-mbstring php-xml php-gd php-intl
sudo systemctl enable --now httpd php-fpm
sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload

۲. VirtualHost

bash
sudo mkdir -p /var/www/example.ir/public
sudo nano /etc/httpd/conf.d/example.ir.conf
ini
<VirtualHost *:80>
    ServerName example.ir
    ServerAlias www.example.ir
    DocumentRoot /var/www/example.ir/public

    <Directory /var/www/example.ir/public>
        AllowOverride All
        Require all granted
        Options -Indexes +FollowSymLinks
    </Directory>

    ErrorLog /var/log/httpd/example.ir-error.log
    CustomLog /var/log/httpd/example.ir-access.log combined
</VirtualHost>

چون محتوا زیر /var/www است، برچسب SELinux آن خودکار درست است. اگر برنامه باید در پوشه‌ای بنویسد (مثلاً آپلود)، فقط همان پوشه را قابل‌نوشتن کنید:

bash
sudo mkdir -p /var/www/example.ir/public/uploads
sudo chown apache: /var/www/example.ir/public/uploads
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/example.ir/public/uploads(/.*)?"
sudo restorecon -Rv /var/www/example.ir

۳. اعمال و آزمایش

bash
sudo apachectl configtest && sudo systemctl reload httpd
echo '<?php echo "ok ", PHP_VERSION;' | sudo tee /var/www/example.ir/public/t.php
curl -s -H 'Host: example.ir' http://127.0.0.1/t.php && sudo rm /var/www/example.ir/public/t.php

۴. اتصال به پایگاه داده روی سرور دیگر

bash
sudo setsebool -P httpd_can_network_connect_db on

۵. HTTPS

bash
sudo dnf install -y certbot python3-certbot-apache
sudo certbot --apache -d example.ir -d www.example.ir

certbot در مخزن EPEL است (فعال‌سازی EPEL).