我的 apache 服务器以用户 foo 身份运行。
我在 /home/foo/app1 /home/foo/app2 中有一些 Rails 应用程序。每个应用程序都有一个 vhost
<VirtualHost *:80>
ServerName app1.foobar.com
ServerAlias www.app1.foobar.com
DocumentRoot /var/www/html/app1/current/public
RailsEnv production
<Directory /var/www/html/app1/current/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
我在 /var/www/html/app1 中有一个符号链接:
current -> /home/foo/app1/tmp_20102611
所有文件权限都设置正确(用户 foo 组 foo),我可以从 shell 浏览文件系统。
SELINUX 已禁用
发行版是 CentOs 5.5
上面的符号链接我得到一个 403 和一个错误日志中的错误条目
不允许符号链接或链接目标无法访问:/var/www/html/app1/current
当我将我的应用程序符号链接到 /var/www/html 子目录而不是 /home/foo 子目录中时,它可以工作。
我如何才能避免这个错误,仍然将我的应用程序放在我的 /home/foo 目录中?
答案1
我遇到了非常类似的问题。像您一样,我无法跟踪主目录下的符号链接,尽管我启用了 FollowSymlinks,并且我可以使用 http 用户进行 ls 操作,但将符号链接放在 /srv/http 下却没问题...我通过将主目录 chmod 为可执行文件来修复此问题:
chmod +x /home/mgalgs
这对我很有帮助!也许可以试试
chmod +x /home/foo/app1