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

Eug*_*ota 14 mac permissions http-status-code-403 apache-2.2

在我的 Mac OS 10.5 机器上,我想设置一个子文件夹~/Documentslike~/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>
Run Code Online (Sandbox Code Playgroud)

这让我得到了 403 Forbidden。在 error_log 我得到:

[error] [client ::1] (13)Permission denied: access to /foo denied
Run Code Online (Sandbox Code Playgroud)

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

进入/Library/WebServer/Documents并创建了一个符号链接~/Documents/foo/html。文档根有

Options Indexes FollowSymLinks MultiViews
Run Code Online (Sandbox Code Playgroud)

这仍然让我 403 Forbidden:

Symbolic link not allowed or link target not accessible: /Library/WebServer/Documents/foo
Run Code Online (Sandbox Code Playgroud)

我还需要什么来设置它?

解决方案

$ chmod 755 ~/Documents
Run Code Online (Sandbox Code Playgroud)

通常,要共享的文件夹及其所有祖先文件夹都需要www服务用户可以查看。

wom*_*ble 24

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