使用 fcgi 和 suexec 使 apache 工作时出错

使用 fcgi 和 suexec 使 apache 工作时出错

我有一台 Debian 6 服务器,之前使用带有 mod_php 的 Apache,但由于 Wordpress 不知何故导致 Apache 崩溃,因此决定改用 fcgi。我的站点的 Apache 配置文件中有以下内容:

Options +ExecCGI
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php

SuexecUserGroup "#1001" "#1003"

如果我不包含 ,一切都会正常工作SuexecUserGroup,但显然它会以 而不是上面的用户和组的身份运行脚本。当我包含该行时,我收到 500 错误,并且我的文件www-data中显示以下内容:suexec.log

[2013-05-22 16:00:12]: command not in docroot (/usr/lib/cgi-bin/php5)

一切都是使用软件包安装的,所以我甚至不知道文档根目录在哪里

这是我的 suexec 信息:

# /usr/lib/apache2/suexec -V
 -D SUEXEC_CONFIG_DIR=/etc/apache2/suexec/
 -D AP_GID_MIN=100
 -D AP_LOG_EXEC="/var/log/apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100

如果与我的 php5 文件的权限有关,请执行以下操作:

# ls -l /usr/lib/cgi-bin/php5
-rwxr-xr-x 1 root root 7769160 Mar  4 08:25 /usr/lib/cgi-bin/php5

答案1

错误消息中的文档根目录是suexec文档根目录。出于安全原因,您不能直接使用FCGIWrappersuexec 目录中未包含的任何命令。默认情况下,这是/var/www/,但是当使用 时apache2-suexec-custom,您可以通过修改文件的第一行将其更改为您想要的任何目录/etc/apache2/suexec/www-data

相关内容