【问题标题】:Amazon EC2 Apache Symbolic Link Not Allowed不允许 Amazon EC2 Apache 符号链接
【发布时间】:2011-09-20 18:25:34
【问题描述】:

我创建了一个 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 是否阻止符号链接?请帮忙!

【问题讨论】:

    标签: linux apache permissions symlink vhosts


    【解决方案1】:

    更新

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

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

    【讨论】:

    • 这是一个 Zend Framework 应用程序,因此您的担忧已被注意到,但它并没有回答我的问题。谢谢!
    • @Eistrati 你能试试上面建议的conf
    • 是的,我遇到了同样的问题,正如预期的那样。这与 VirtualHost 配置无关。我认为要么(不太可能)我在 Apache2 的通用配置httpd.conf 中遗漏了一些东西,要么(很可能)我需要对操作系统配置进行一些更改。这就是我专门询问 Amazon EC2 的原因……这有意义吗?
    【解决方案2】:

    Apache 是否对 /home/ec2-user/services 具有读取权限?符号链接在设计上是 0777 用于权限,但只有这样才能让所有内容都流过以占用符号链接所指向的任何内容的权限。

    【讨论】:

    • 是的,确实如此。我已经把所有东西都给 apache 组了。
    猜你喜欢
    • 1970-01-01
    • 2016-01-27
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 2023-01-05
    • 2015-11-06
    相关资源
    最近更新 更多