运行 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
答案3
您需要告诉 apache 可以使用该目录:
<Directory /home/user/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
如果不是这样,那么可能是/
和之间的目录中缺少 x 位/home/user
。chmod a+x /home/user
应该有所帮助。