Virtualmin 全新安装 - PHP 的内部服务器错误

Virtualmin 全新安装 - PHP 的内部服务器错误

我刚刚重新安装了服务器的操作系统 (Ubuntu 10.04 LTS),并使用安装脚本 (install.sh) 安装了 Virtualmin。服务器上的所有内容都是完全原始的 - 登录到干净的系统后,我唯一做的事情就是运行 install.sh 并启用 userdir Apache 模块。

我创建了一个虚拟主机并使用 SFTP 登录其帐户,然后创建了一个包含 phpinfo() 的 php 文件。当我浏览该文件时,出现 500 内部服务器错误。Virtualmin 的默认设置使用 fcgid 来执行 PHP。

Apache 的 error.log 显示以下内容:

[Fri Jan 27 10:20:46 2012] [notice] mod_fcgid: call /home/username/public_html/info.php with wrapper /home/username/fcgi-bin/php5.fcgi
suexec policy violation: see suexec log for more details
[Fri Jan 27 10:20:52 2012] [notice] mod_fcgid: process /home/username/public_html/info.php(28890) exit(communication error), terminated by calling exit(), return code: 112

并且 suexec.log 有以下内容:

[2012-01-27 10:20:46]: uid: (1000/username) gid: (1000/username) cmd: php5.fcgi
[2012-01-27 10:20:46]: cannot get docroot information (/home/username)

虚拟主机的错误日志中有这样的内容:

[Fri Jan 27 11:07:02 2012] [warn] [client 1.2.3.4] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[Fri Jan 27 11:07:02 2012] [error] [client 1.2.3.4] Premature end of script headers: info.php

显然问题出在 suexec 上,但我已经在这个服务器上玩了几天,试图正确配置(但收效甚微),这次我要在接触任何东西并可能使情况变得更糟之前寻求帮助:)

任何帮助将非常感激 :)

答案1

请检查 apache2-suexec-custom 模块是否已安装。另外,请检查 /etc/apache2/suexec/www-data 文件的内容:

/home
public_html/cgi-bin
# The first two lines contain the suexec document root and the suexec userdir
# suffix. If one of them is disabled by prepending a # character, suexec will
# refuse the corresponding type of request.
# This config file is only used by the apache2-suexec-custom package. See the
# suexec man page included in the package for more details.

我猜你是将网站托管在 /home 目录中?如果不是,则需要调整配置。

相关内容