Apache2 不遵循符号链接

Apache2 不遵循符号链接

已经为此工作了几个小时,无法让 apache2 遵循符号链接。版本是 debian 7.4。/etc/apache2/sites-enabled/000-default 指向 ../sites-available/default

sites-available/default 看起来像

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

    (ssl config)

如果我的网页位于 /var/www,则一切正常。如果我在 /var/www 中创建符号链接:

ln -s /mount/movies/htdocs 电影

并将浏览器指向电影目录中的文件 apache2 日志(在信息和调试日志级别)

[2014 年 2 月 12 日星期三 08:59:53] [错误] [客户端 127.0.0.1] 不允许符号链接或链接目标不可访问:/var/www/movies

路径上的权限为 666,并且全部归 root 所有。

谢谢你的反馈,弗雷德

我试过

chmod -R 555 *

在 /var/www 目录中,没有任何好处。apache2 日志:

[2014 年 2 月 12 日星期三 10:46:20] [错误] [客户端 127.0.0.1] 不允许符号链接或链接目标不可访问:/var/www/movies

谢谢,弗雷德

使用浏览器查看 /var/www 的内容时,符号链接“电影”不会显示。

为了进行测试,我在 /var/www 中创建了一个名为 tools 的目录。我指向 http:// 并看到了 tools 的目录图标。在该目录中,我创建了一个指向挂载上的文件的符号链接。

ln -s /mnt/movies/htdocs/test1.php test1.php

当我点击浏览器中的工具图标时,test1.php 没有显示出来,只有指向父目录的链接。

/tools 索引 [ICO] 名称 最后修改 大小 描述 [DIR] 父目录 -
Apache/2.2.22 (Debian) Debian 端口 80 上的服务器

我不明白为什么服务器没有 1. 在查看目录内容时显示链接,或者 2. 没有按照符号链接来呈现页面。

再次感谢,弗雷德

最终作为一个临时解决方案发挥作用。

我变了

 Options FollowSymLinks Indexes

 Options All

可能是一个安全问题(没有 .htaccess),但这是唯一允许服务器遵循符号链接的东西。

弗雷德

谢谢 Evias,这已经完成了。这不允许 apache2 遵循符号链接。只有当选项设置为 ALL 时,apache 才会遵循符号链接。

最好的,弗雷德

答案1

您已创建目录并在其中/mount/movies/htdocs创建符号链接。现在的权限和所有权详细信息应如下所示。movies/var/wwww/mount

drwxr-xr-x   2 root  root   4096 Feb 13 14:35 mount

也就是 755。

如果您的文件夹没有这些权限/mount,则在创建指向此文件夹的符号链接时,您将收到错误Symbolic link not allowed or link target not accessible:。因此,请将此文件夹的权限更改为 755。因此,使用此命令更改权限。

解决方案: chmod +x -R /mount或者chmod 755 -R /mount

答案2

为了使 apache 访问链接文件夹,它们必须属于 apache 用户或设置允许其他人访问所提及文件夹的访问权限。

相关内容