Apache:chmod 755 是否足以在 Mac OS 10.5 上的 Apache httpd 上设置符号链接或别名?

Apache:chmod 755 是否足以在 Mac OS 10.5 上的 Apache httpd 上设置符号链接或别名?

在我的 Mac OS 10.5 机器上,我想设置一个子~/Documents文件~/Documents/foo/htmlhttp://localhost/foo

我想到做的第一件事就是使用 Alias,如下所示:

Alias /foo /Users/someone/Documents/foo/html

<Directory "/Users/someone/Documents/foo/html">
    Options Indexes FollowSymLinks MultiViews

    Order allow,deny
    Allow from all
</Directory>

这导致我出现 403 Forbidden。在 error_log 中我收到:

[error] [client ::1] (13)Permission denied: access to /foo denied

有问题的子文件夹具有 chmod 755 访问权限。我尝试过指定类似http://localhost/foo/test.php,但这也不起作用。接下来,我尝试了符号链接路由。

进入/Library/WebServer/Documents并创建了指向 的符号链接~/Documents/foo/html。文档根目录有

Options Indexes FollowSymLinks MultiViews

这仍然导致我出现 403 Forbidden:

Symbolic link not allowed or link target not accessible: /Library/WebServer/Documents/foo

我还需要做什么来设置它?

解决方案

$ chmod 755 ~/Documents

一般而言,要共享的文件夹以及其所有祖先文件夹都需要对www服务用户可见。

答案1

我敢打赌,您要访问的目录上方的某个目录没有权限让 Apache 遍历它。成为 Apache 正在运行的用户(sudo -i -u apache或其他用户),然后尝试切换到感兴趣的目录并ls进入。如果您不能(如预期的那样),则尝试逐个进入其上方的目录,直到有一个目录允许您进入。该目录的子目录是需要设置的目录o+x。根据需要涂抹、冲洗、重复。

答案2

使用+FollowSymlinks

Alias /foo /Users/someone/Documents/foo/html

<Directory "/Users/someone/Documents/foo/html">
    Options +Indexes +FollowSymLinks +MultiViews

    Order allow,deny
    Allow from all
</Directory>

答案3

检查以确保文件保险库未启用。我遇到了同样的问题。我尝试了我能找到的所有其他方法。但都不起作用。但经过一个小时的尝试后,我想起我启用了文件保险库。

禁用它可以解决问题。

答案4

检查您的 /Users 目录 (ls -l /Users) 以查看您的用户 (someone) 的权限。
此外,localhost/~someone 上是否正确提供了“Sites”目录?

相关内容