不允许使用Amazon EC2 Apache符号链接

时间:2011-06-22 21:29:23

标签: linux apache permissions symlink vhosts

我创建了一个Amazon EC2实例,并在其上安装了Apache和PHP:

$ sudo yum install apache2
$ sudo yum install php
$ ls -al /var/www/services/
lrwxrwxrwx 1 root root   42 Jun 22 21:13 production -> /home/ec2-user/services

我创建了新的VirtualHost:

<VirtualHost *:80>
    ServerName ec2-***.compute-1.amazonaws.com
    DocumentRoot "/var/www/services/production/public"

    <Directory "/var/www/services/production/public">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

现在,当我在浏览器中运行我的请求时,它显示403 Forbidden并且日志显示符号链接问题:

[Wed Jun 22 21:14:19 2011] [error] [client ***] Symbolic link not allowed or link target not accessible: /var/www/services/production
[Wed Jun 22 21:14:20 2011] [error] [client ***] Symbolic link not allowed or link target not accessible: /var/www/services/production

出了什么问题? EC2阻止符号链接?请帮忙!

2 个答案:

答案 0 :(得分:5)

<强>已更新

现在,我能想到的唯一问题是permission production用户访问apache。确保符号链接上的/var/www/services/production(以及目标文件夹)文件夹的权限设置为0755。目标文件夹

测试: 以apache(sudo -u apache)成为用户,现在尝试切换到目录(cd)并确保apache用户能够遍历。

答案 1 :(得分:2)

Apache是​​否对/ home / ec2-user / services具有读取权限?符号链接是设计0777的权限,但只有这样所有内容都会流入以获取符号链接所指向的权限。