У меня CentOs 7.3
и Nginx 1.11.8
и PHP-FPM 7.0
Это чистая установка, и каждый раз я получаю указанную выше страницу с ошибкой, если Я меняю корневой каталог для каталога nginx с / usr / share / nginx / html
на что угодно.
На этот раз я изменил его на / var / www / html.
Теперь я получаю сообщение об ошибке.
Я дал html-каталог chmod 775
, а затем 777
безрезультатно.
Я также сделал chown -R nginx: nginx html /
Они не работают. НО, если я отключил SELinux как setenforce 0
, все будет работать.
Я не хочу полностью отключать selinux из-за этой проблемы, но меня это сводит с ума.
chmoding с www-data дает мне эту ошибку.
[simon@localhost www]$ chown -R www-data:www-data html
chown: invalid user: âwww-data:www-dataâ
Что я считаю справедливым, поскольку у меня нет пользователя с именем www-data. Nginx работает под пользователем nginx.
tail /var/log/nginx/error.log
дает мне следующее:
2017/01/07 22:37:03 [error] 3336#3336: *1 open() "/var/www/html/nginx.html" failed (13: Permission denied), client: 10.0.2.2, server: localhost, request: "GET /nginx.html HTTP/1.1", host: "localhost"
2017/01/07 22:37:06 [error] 3336#3336: *1 "/var/www/html/index.php" is forbidden (13: Permission denied), client: 10.0.2.2, server: localhost, request: "GET / HTTP/1.1", host: "localhost"
Итак, это все еще проблема с правами доступа, вероятно, связанная с SELinux VLC .. Я не уверен.
Вот мой вывод ls -lZ.
[simon@localhost html]$ ls -lZ
-rwxrwxrwx. root root system_u:object_r:vmblock_t:s0 index.php
-rwxrwxrwx. root root system_u:object_r:vmblock_t:s0 nginx.html
Как же, черт возьми, у вас появились эти странные контексты SELinux? Это не контексты по умолчанию.
В любом случае, вы должны использовать restorecon
, чтобы вернуть контексты SELinux к значениям по умолчанию для всего вашего веб-контента. Например:
restorecon -r -v /var/www/html
Вы также не должны никогда chmod 777 ничего, даже для "тестирования".