在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。但请注意,安全性是一个持续的过程,需要定期检查和更新。