在Ubuntu上配置PHP-FPM以實現安全設置,可以遵循以下步驟:
更新系統: 首先,確保你的Ubuntu系統是最新的。
sudo apt update && sudo apt upgrade -y
安裝PHP-FPM: 如果你還沒有安裝PHP-FPM,可以使用以下命令安裝:
sudo apt install php-fpm -y
配置PHP-FPM:
PHP-FPM的配置文件通常位于/etc/php/{version}/fpm/pool.d/www.conf
,其中{version}
是你的PHP版本號。例如,如果你使用的是PHP 7.4,配置文件路徑將是/etc/php/7.4/fpm/pool.d/www.conf
。
限制訪問:
編輯www.conf
文件,找到listen
指令,將其設置為Unix socket或TCP/IP端口,并確保只有授權用戶可以訪問。
listen = /run/php/php7.4-fpm.sock
; 或者
listen = 127.0.0.1:9000
如果使用Unix socket,確保目錄權限設置正確:
sudo chown www-data:www-data /run/php/php7.4-fpm.sock
sudo chmod 755 /run/php/php7.4-fpm.sock
用戶和組:
確保PHP-FPM以非特權用戶和組運行,通常是www-data
。
user = www-data
group = www-data
安全選項:
在www.conf
中,你可以啟用一些安全選項,例如:
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i
php_admin_flag[display_errors] = off
php_admin_flag[log_errors] = on
配置防火墻:
使用ufw
(Uncomplicated Firewall)來限制對PHP-FPM端口的訪問。
sudo ufw allow 9000/tcp
sudo ufw reload
SELinux/AppArmor: 如果你的系統啟用了SELinux或AppArmor,確保它們不會阻止PHP-FPM的正常運行。你可能需要調整相關的策略。
定期更新和維護: 定期更新PHP和PHP-FPM到最新版本,以確保安全漏洞得到修復。
sudo apt update && sudo apt upgrade -y
監控和日志: 配置PHP-FPM的日志記錄,并定期檢查日志文件以發現任何異?;顒?。
access.log = /var/log/php-fpm/access.log
error.log = /var/log/php-fpm/error.log
通過以上步驟,你可以大大提高在Ubuntu上運行PHP-FPM的安全性。記住,安全性是一個持續的過程,需要定期審查和更新配置。