Я использую Ubuntu Server 10.10 и установил веб-сервер Nginx с apt-get install nginx
. Он создает веб-страницу по умолчанию в /var/www/nginx-default/
, и этот каталог имеет разрешения drwxr-xr-x 2 root root
.
Когда я захожу на сайт по умолчанию на http://localhost/
, я получаю это сообщение на странице 403 Forbidden
.
Как мне установить права доступа к файлам в корне www, чтобы я мог получить безопасный доступ к веб-страницам? Или я должен изменить что-то еще?
Я обычно придерживаюсь 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).