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

Bla*_*con 5 alias apache2

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

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

我花了一段时间才让这该死的东西看对了地方。现在它查看正确的文件夹...但给了我 403 Access Forbidden 错误。

我对这个东西有点菜鸟......所以请原谅我缺乏信息。如果我没有包含您需要查看以帮助我的内容,请告诉我。

第一:在学习了无数关于如何设置别名的教程之后......唯一有效的......是这样的:http : //www.youtube.com/watch?v=FIEr_jz1oYA

最后,在此之后,我有以下 .conf 文件:


Alias /Videos/ /media/MediaServer/Videos Options +Indexes FollowSymLinks +ExecCGI AllowOverride AuthConfig FileInfo Order allow,deny Allow from all


现在,当我在浏览器中输入 localhost/Videos 时,它实际上会查看 Videos 文件夹(至少它也出现了,与之前相比,我能做的最好的事情就是让它告诉我 www/Videos 不存在。 ..) 但它告诉我“您无权访问此服务器上的 /Videos/。”

我尝试将 Videos 目录的权限更改为 777、775、750 等……似乎没有任何效果。甚至尝试更改 /media 目录的权限(发现一些论坛主题表明父目录也需要完全权限。)

似乎没有任何效果。帮助!请!

*更新*

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

*更新* * 已解决*

好吧......不知道为什么这有效......但这是我所做的工作......

我回到了 Alias Conf 文件中……我没有指向 /media/MediaServer/Videos,而是指向 /media/MediaServer

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

Lui*_*III 3

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

在终端中:

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>
Run Code Online (Sandbox Code Playgroud)

尝试访问

 http://localhost/Videos/
Run Code Online (Sandbox Code Playgroud)

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

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

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