在Ubuntu上安全運行PHP,可以遵循以下步驟:
sudo apt update
sudo apt upgrade
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
php.ini
,根據你的需求進行相應的配置。通常,該文件位于/etc/php/{版本號}/cli/php.ini
和/etc/php/{版本號}/fpm/php.ini
。例如,要禁用危險函數,可以在php.ini
文件中找到disable_functions
設置,并添加你想要禁用的函數,如:disable_functions = eval,assert,system,curl_exec,curl_multi_exec,parse_ini_file,show_source
配置PHP-FPM:
編輯PHP-FPM配置文件www.conf
,通常位于/etc/php/{版本號}/fpm/pool.d/www.conf
。確保listen.owner
和listen.group
設置為www-data
,以便PHP-FPM以非root用戶身份運行。
配置Nginx或Apache:
根據你使用的Web服務器(Nginx或Apache),配置相應的PHP處理程序。對于Nginx,你需要修改/etc/nginx/sites-available/{你的站點配置文件}
,并添加以下內容:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php{版本號}-fpm.sock;
}
對于Apache,確保啟用了mod_proxy_fcgi
模塊,并在虛擬主機配置中添加以下內容:
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php{版本號}-fpm.sock|fcgi://localhost"
</FilesMatch>
sudo systemctl restart nginx
# 或者
sudo systemctl restart apache2
sudo ufw enable
sudo ufw allow http
sudo ufw allow https
遵循以上步驟,你應該可以在Ubuntu上安全地運行PHP。但請注意,安全性是一個持續的過程,需要定期檢查和更新。