у меня есть 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 что угодно, даже не для "тестирования".