我有一个新的 CentOS 5.5 盒子,并安装了 Webmin+VirtualMin 3.79。我在 apache 中启用了 UserDir,网站可以通过以下方式查看http://ip地址/~用户/但 PHP 不起作用。(如果我通过其域名访问该网站,PHP 可以正常工作)
以下是我在 httpd.conf 中输入的内容,以便获取当前位置:
<IfModule mod_userdir.c>
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
Options -Indexes +IncludesNOEXEC +FollowSymLinks +ExecCGI
allow from all
AllowOverride All
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
</Directory>
当我尝试访问 PHP 文件时,出现 500 错误,并且以下内容记录到 /var/log/httpd/error_log:
suexec failure: could not open log file
fopen: Permission denied
任何帮助/指导都将不胜感激。
答案1
它应该是:
Order allow,deny
Allow from all
还要确保您的 php 在给定目录的 apache(httpd)服务器中使用正确的用户,否则它将无法访问这些文件。
答案2
您确定要在这种情况下使用 UserDir 吗?Apache 开发人员不鼓励在 suexec 环境中使用它,因为这可能会带来难以理解的安全隐患。
我们有一个关于 UserDir 替代方案的常见问题解答(其中还包括如何使 UserDir 正常工作):