溫馨提示×

如何在ubuntu上安全配置php-fpm

小樊
33
2025-06-29 12:38:00
欄目: 編程語言

在 Ubuntu 上安全配置 PHP-FPM 的步驟如下:

  1. 安裝 PHP-FPM: 在終端中運行以下命令以安裝 PHP-FPM:

    sudo apt-get update
    sudo apt-get install php-fpm
    
  2. 配置 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。

    使用文本編輯器打開配置文件,例如:

    sudo nano /etc/php/7.4/fpm/pool.d/www.conf
    

    在配置文件中,您可以設置以下選項以提高安全性:

    • listen.ownerlisten.group:將這兩個選項設置為非 root 用戶和組,以限制對 PHP-FPM 套接字的訪問。例如:

      listen.owner = www-data
      listen.group = www-data
      
    • listen.mode:將此選項設置為 0660,以便只有 owner 和 group 可以訪問 PHP-FPM 套接字。

      listen.mode = 0660
      
    • usergroup:將這兩個選項設置為非 root 用戶和組,以限制 PHP-FPM 進程的權限。例如:

      user = www-data
      group = www-data
      
    • clear_env:將此選項設置為 no,以防止 PHP-FPM 進程繼承不必要的環境變量。

      clear_env = no
      
    • security.limit_extensions:此選項允許您限制 PHP-FPM 處理的文件擴展名。這可以防止潛在的惡意文件上傳。例如,僅允許處理 PHP 和 HTML 文件:

      security.limit_extensions = .php .html
      

    保存并關閉配置文件。

  3. 重啟 PHP-FPM: 為了使更改生效,請重啟 PHP-FPM 服務:

    sudo systemctl restart php{version}-fpm
    

    {version} 替換為您安裝的 PHP 版本,例如:php7.4-fpm。

  4. 配置 Nginx 或 Apache: 根據您使用的 Web 服務器(Nginx 或 Apache),您需要相應地配置它以使用 PHP-FPM。確保將 FastCGI 參數指向正確的 PHP-FPM 套接字,并限制對套接字的訪問。

    對于 Nginx,您可以在 /etc/nginx/sites-available/{your-site} 文件中添加以下配置:

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php{version}-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    

    {your-site} 替換為您的站點名稱,將 {version} 替換為您安裝的 PHP 版本。

    對于 Apache,您需要在 /etc/apache2/sites-available/{your-site}.conf 文件中添加以下配置:

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php/php{version}-fpm.sock|fcgi://localhost"
    </FilesMatch>
    

    {your-site} 替換為您的站點名稱,將 {version} 替換為您安裝的 PHP 版本。

    保存并關閉配置文件。對于 Nginx,運行 sudo nginx -t 以檢查配置文件的語法,然后運行 sudo systemctl restart nginx 重啟 Nginx。對于 Apache,運行 sudo systemctl restart apache2 重啟 Apache。

現在,您已經在 Ubuntu 上安全地配置了 PHP-FPM。請確保定期更新您的系統和軟件包,以保持安全性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女