我应该在Web根目录上设置哪些文件权限?
我使用Ubuntu Server 10.10并使用apt-get install nginx
安装了Nginx Web服务器。 它在/var/www/nginx-default/
创建一个默认网页,该目录具有权限drwxr-xr-x 2 root root
。
当我访问http://localhost/
上的默认站点时,我在页面403 Forbidden
此消息。
我应该如何在www root上设置文件权限,以便我可以安全访问网页? 或者还有什么我需要改变的吗?
我通常在我的web根目录上坚持使用755
(或rwxr-xr-x
),但我不认为这是你遇到的问题,因为你的目录已经设置为了。 nginx
应该可以访问您的目录。 然后问题变成您尝试访问的文件的权限(或存在)。 您的目录中的文件需要由nginx
正在运行的用户读取。 我通常将这些文件设置为755
(与目录相同)。 您可以通过执行sudo chmod -R 755 /var/www/nginx-default/
来更改整个目录。
但是,如果目录中没有索引文件,则仍会出现相同的错误。 当您请求未启用目录列表的目录时,将使用索引文件。 最常见的索引文件是index.html
。 可以在配置中编辑此默认值,但是,使用以下内容:
location / { index index.php; }
如果您希望nginx
为您生成该目录中的文件列表,只需打开目录索引 ,如下所示:
location / { autoindex on; }
我建议将你的webroot组更改为www-data
,nginx使用的用户以及php5-fpm。
例如:
sudo chown -R "$USER":www-data /webdirectory sudo chmod -R 0755 /webdirectory
其中my-user是您自己的帐户(这使您可以在没有sudo的情况下将文件放在webroot中)。