Apache Documentroot 访问被禁止

Apache Documentroot 访问被禁止

运行 Arch Linux 时,我尝试让 apache 使用 /www(而不是 /var/www)作为 DocumentRoot。/www 是 /home/user/www 的软链接。但是,我不断收到“访问被禁止”错误。//home文件夹属于不同的分区。这可能是问题所在吗?

我已经排除了以下问题:

  • CHMOD 权限问题。所有目录的权限均为 777,且归 Apache 所有。符号链接也是如此。
  • FollowSymLinks 选项工作正常。如果我将 /www 链接到 /srv/http,它工作。只有当我将其指向 /home/ 文件夹时,它才会停止工作。

Apache 错误日志中的具体错误是:

[Sun Oct 23 09:52:24 2011] [error] [client 127.0.0.1] Symbolic link not allowed or link target not accessible: /www

我曾经strace看看它是否能提供一些有用的东西,但它没有提供任何线索。

有人知道吗?如果问题确实是符号链接指向另一个分区上的文件夹,有什么解决方法吗?

答案1

听起来您需要FollowSymLinks为文档根目录进行设置。

答案2

SELinux 是否处于活动状态?

你可能遇到了这样的问题:

http://lwn.net/Articles/289365/

答案3

您需要告诉 apache 可以使用该目录:

<Directory /home/user/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

如果不是这样,那么可能是/和之间的目录中缺少 x 位/home/userchmod a+x /home/user应该有所帮助。

相关内容