Apache 别名文件夹:403 禁止访问

Apache 别名文件夹:403 禁止访问

好的,我已在 Apache 服务器上设置了一个别名,以指向第二个 HD 上的目录。该目录是 /media/MediaServer/Videos。

所有这些的目的是使用 Roku 和 Roksbox 将视频从该文件夹传输到我的电视上。当我将视频文件保存在 www 文件夹中时,一切都运行正常……但我的高清空间不足了。

我花了好一会儿才让这个该死的东西出现在正确的位置。现在它出现在正确的文件夹中...但却给我 403 访问被禁止的错误。

我对这些东西有点菜鸟...所以请原谅我信息不足。如果我没有包括你需要查看的内容来帮助我,请告诉我。

首先:在遵循了无数关于如何设置别名的教程之后...唯一有效的是...这个:http://www.youtube.com/watch?v=FIEr_jz1oYA

最后,按照上述操作后,我得到了以下 .conf 文件:


别名 /Videos/ /media/MediaServer/Videos 选项 +Indexes FollowSymLinks +ExecCGI AllowOverride AuthConfig FileInfo 顺序允许、拒绝 允许所有


现在,当我在浏览器中输入 localhost/Videos 时,它实际上会查看 Videos 文件夹(至少它也会显示出来,而之前我所能做的最好的就是让它告诉我 www/Videos 不存在...)但它告诉我“您没有权限访问此服务器上的 /Videos/”。

我尝试将 Videos 目录的权限更改为 777、775、750 等……似乎都不起作用。甚至尝试更改 /media 目录的权限(发现一些论坛主题建议父目录也需要完全权限。)

似乎没什么效果。求助!

*更新*

我打开了一个终端并以 www-data 身份登录(这是 apache 服务器使用的)并且能够访问视频文件夹...所以...除非我完全离开这里...这意味着它不是权限问题...

*更新* *解决了*

好的...不确定为什么这会起作用...但这是我所做的有效的方法..

我回到 Alias Conf 文件...并且没有指向 /media/MediaServer/Videos,而是指向 /media/MediaServer

现在,突然之间,当我尝试访问 localhost/Videos(不再是应该工作的地方......)时,它可以工作......完美......不确定发生了什么......但它可以工作......而这才是最重要的。

答案1

您是否尝试过使用符号链接而不是别名?

在终端中:

ln -s /media/MediaServer/Videos /var/www/Videos

然后,您需要在 Apache 配置文件中添加 Options FollowSymLinks以下<Directory />部分,如下所示这里

这将创建一个/var/www/Videos指向的符号链接/media/MediaServer/Video。基本上,系统将把“MediaServer”上的文件夹视为的内容/var/www/Videos/

有关符号链接的更多信息可以找到这里这里

我一直将它们与 Apache 一起使用,从未遇到任何问题。希望对您有所帮助。

答案2

您是否尝试过确保 Apache2 下的用户有权访问该目录?在我看来,这似乎是权限问题。可能不是“媒体”,也不是“视频”,也许问题出在中间。让我用一个例子来更好地解释一下:

我的测试目录树是 /tmp/test/Videos/:/tmp => 权限:777(与往常一样加上粘滞位),test/ => 权限:700,Videos/ => 权限:755

Apache2 别名:

Alias /Videos/ "/tmp/test/Videos"
<Directory "/tmp/test/Videos">
  Options Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny 
  Allow from all
</Directory>

尝试访问

 http://localhost/Videos/

(请注意最后一个斜杠),结果:403 禁止

将临时权限更改为 www-data(Apache2 用户)可以读取的权限(例如 755),结果:200(成功!)

我建议您仔细检查权限,并让 Apache2 保留最少的指令(如前面的示例)。

相关内容