我正在使用新的 CentOS 6.3 最小安装,并安装了全新的 httpd
当我访问我的虚拟主机时,它会向我显示 apache 测试页面,然后如果我访问 mydomain.co.uk/index.html (我刚刚设置用于测试),它会显示禁止。所有常见的答案似乎都不起作用,老实说,我浏览了大量的论坛和其他人的问题/答案,但似乎没有什么对我有用。
我创建了一个名为“www”的组,并将用户“apache”添加到其中。这是我在 httpd.conf 文件中的根目录,我将其保持打开状态以供测试:
<Directory />
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from All
</Directory>
这是我的虚拟主机文件:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html/
</VirtualHost>
<VirtualHost *:80>
ServerName domain.co.uk
ServerAlias www.domain.co.uk
DocumentRoot /home/domain/public_html
<Directory "/home/domain/public_html">
Options Indexes FollowSymLinks ExecCGI
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
从/home/开始,我已将组设置为 www
当在主文件夹上使用 ls -lA 时,我得到
drwxrwsr-x. 5 root www 4096 Feb 5 20:57 home
我在日志文件中遇到的错误是权限错误:
[Wed Feb 06 10:24:42 2013] [error] [client 62.254.7.226] (13)Permission denied: access to /index.html denied (filesystem path '/home/domain/public_html/index.html') because search permissions are missing on a component of the path
该文件夹中的其他所有内容也是如此。我真的不知道下一步该尝试什么。我已经到了需要询问我的具体设置的地步,因为遵循其他教程或答案对我不起作用。非常感谢任何帮助!
最佳答案
错误 13 表示您的 apache 配置 (httpd.conf) 中指定的用户/组没有访问这些文件的权限。这些文件及其上面的所有目录都需要具有允许该用户和组的权限。
更棘手的部分之一是扩展权限。如果您正在运行 selinux,服务器用户可能会因为文件的扩展权限而被拒绝。要检查这一点,请运行(从命令行):
setenforce 0
如果问题消失(即页面可见),则您的扩展权限正在阻止访问。
关于apache - 显示 apache 测试页面的虚拟主机和文档根目录中的其他所有内容均被禁止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14726931/