Apache-2.2

僅 suEXEC 的 Apache 錯誤

  • April 3, 2010

當我按照此處的教程啟用 suEXEC時,我可以讓 PHP 在 cgi 模式下在 Apache 上執行,但是當我開始嘗試使用 suEXEC 時,我得到一個 403,並且錯誤日誌中出現以下錯誤“客戶端被拒絕伺服器配置”。suEXEC 日誌為空。我怎樣才能得到這個工作?我的最終目標是用 suexec 執行 fastcgi,而這個錯誤讓我動不動就停下來。

httpd.conf 的相關部分:

ScriptAlias /php5-cgi /usr/bin/php-cgi
Action php5-cgi /php5-cgi
AddHandler php5-cgi .php
<Directory /usr/bin>
   Order allow,deny
   Allow from all
</Directory>

<VirtualHost *:80>
   ServerName skylords.com
   ServerAlias  www.skylords.com en.skylords.com lt.skylords.com nl.skylords.com
   DocumentRoot /srv/http/htdocs

   SuexecUserGroup skylords skylords

   AddHandler php5-cgi .php
   ScriptAlias /php5-cgi /var/http/htdocs/cgi-bin/php-cgi
   ErrorDocument 404 /srv/http/htdocs
   ErrorLog /srv/http/logs/apache_error.log
   <Directory "/srv/http/htdocs">
       AllowOverride All
       Order allow,deny
       Allow from all
       Options Indexes +FollowSymLinks +ExecCGI
   </Directory>
</VirtualHost>

文件權限:

-rwxr-xr-x  1 skylords skylords 7207288 Apr  1 06:00 php-cgi
drwxr-xr-x  2 skylords skylords  4096 Apr  1 06:13 cgi-bin
drwxr-xr-x 17 skylords skylords      4096 Apr  1 06:19 htdocs
drwxr-xr-x 11 skylords skylords 4096 Apr  1 06:13 http
drwxr-xr-x   4 root root  4096 Apr  1 05:57 srv

你的cgi-bin目錄和 PHP fastcgi 包裝腳本的權限是什麼樣的?cgi-bin以我的經驗,suEXEC 403 錯誤通常是因為腳本的所有者/組與目錄的所有者或它上面的目錄不匹配。

**編輯:**好的。不知道這裡發生了什麼…新資訊讓我有點困惑 :-) 您是否嘗試過LogLevel Debug在 httpd.conf 中進行設置,並在您嘗試在瀏覽器中載入 PHP 腳本時檢查 error_log 中出現的內容?

ScriptAlias /php5-cgi /var/http/htdocs/cgi-bin/php-cgi應該是ScriptAlias /php5-cgi /srv/http/htdocs/cgi-bin/php-cgi。很抱歉浪費了您的時間。

引用自:https://serverfault.com/questions/128809