【发布时间】:2017-01-06 22:41:51
【问题描述】:
我正在运行 Ubuntu 16.10 的笔记本电脑上运行本地测试服务器。我正在运行 Apache2,但我决定切换到 NginX。按照this one 之类的指南,我想我已经启动并运行了 NginX 以及 PHP 7.0 fpm。
但是,当我加载我的一个网站时,我收到了 403 Forbidden error。 NginX 错误日志说:
[error] 14107#14107: *1 directory index of "/var/www/example.com/" is forbidden, client: 127.0.0.1, server: example.com, request: "GET / HTTP/1.1", host: "example.com"
我知道路径中的所有父目录都应该具有正确的权限,但我不清楚正确的权限是什么。如果我理解正确,在 Apache2 下,用户或组 www-data 可以访问这些目录,但我不确定在 NginX 下是否仍然如此。
我应该使用什么chmod 或chown 命令来确保相关目录具有使其可供NginX 访问的权限? 请注意,我完全用NginX 替换Apache2,所以无需为 Apache 保留任何设置。
另外,作为参考,这里是我网站的当前目录路径和权限。请注意,/var/www 中的目录是指向我的 Dropbox 文件夹中目录的符号链接,如果这有任何影响的话。
$ namei -om /var/www/example.com
f: /var/www/example.com
drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x www-data www-data www
lrwxrwxrwx www-data www-data example.com -> /home/user/Dropbox/subdir1/subdir2/Site/
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxr-xr-x user user user
drwx--x--x user user subdir1
drwxrwxr-x user user subdir2
drwxr-xr-x user user Web
drwxr-xr-x user user Site
【问题讨论】: