Я использую Ubuntu Server 10.10 и установил веб-сервер Nginx с apt-get install nginx
. Он создает веб-страницу по умолчанию по адресу /var/www/nginx-default/
и у этого каталога есть разрешения drwxr-xr-x 2 root root
.
Когда я получаю доступ к сайту по умолчанию на http://localhost/
Я получаю это сообщение на странице 403 Forbidden
.
Как я должен установить права доступа к файлам в корне www, чтобы я мог безопасно получать доступ к веб-страницам? Или есть что-то еще, что я должен изменить?
Я бы предложил изменить группу вашего webroot на www-data
, пользователь, используемый nginx, а также php5-fpm.
Например:
sudo chown -R "$USER":www-data /webdirectorysudo chmod -R 0755 /webdirectory
где my-user - это ваша собственная учетная запись (которая позволяет вам легко размещать файлы в вашем webroot без sudo).
Обычно я придерживаюсь 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;}
ПРИМЕЧАНИЕ: должен быть доступен полный путь к вашей конечной папке! Ни одной папки посередине.