@HellWalk

CentOS + Nginx + PHP — проблема с правами доступа — в чем может быть причина?

Разворачиваю проект на симфони, на CentOS.

Получаю классическую ошибку первого запуска:
The stream or file "/var/www/site.loc/var/log/dev.log" could not be opened: failed to open stream: Permission denied


Обычно, локально на Ubuntu + nginx эта проблема решается просто: chmod -R 777 /var/www/site.loc/var/
и все. При этом параметры user:group у всего в www от локального пользователя: walk:walk

На CentOS же управление идет от root, и все user:group идут root:root. И простое прописывание прав 777 не помогает.

Посмотрел конфиг nginx, от какого юзера происходит работа. Это nginx

Изменил рекурсивно у www user:group на nginx:nginx - проблема опять же осталось.

ll в корне проекта показывает такое:
drwxr-xr-x.   6 nginx nginx     50 ноя  5 11:07 assets
drwxr-xr-x.   2 nginx nginx     36 ноя  5 11:07 bin
drwxr-xr-x.   3 nginx nginx     40 ноя  5 11:07 bundle
-rw-r--r--.   1 nginx nginx    402 ноя  5 11:07 codeception.yml
-rw-r--r--.   1 nginx nginx   3164 ноя  5 11:07 composer.json
-rw-r--r--.   1 nginx nginx 359496 ноя  5 11:07 composer.lock
drwxr-xr-x.   4 nginx nginx    116 ноя  5 11:07 config
drwxr-xr-x.   2 nginx nginx     32 ноя  5 11:07 docs
drwxr-xr-x.   7 nginx nginx     90 ноя  5 11:07 lib
drwxr-xr-x. 750 nginx nginx  24576 ноя  5 11:26 node_modules
-rw-r--r--.   1 nginx nginx    797 ноя  5 11:07 package.json
-rw-r--r--.   1 nginx nginx   1026 ноя  5 11:07 phpunit.xml.dist
drwxrwxrwx.   5 nginx nginx    163 ноя  5 13:08 public
drwxr-xr-x.  12 nginx nginx    190 ноя  5 11:07 src
-rw-r--r--.   1 nginx nginx  18130 ноя  5 11:07 symfony.lock
drwxr-xr-x.   6 nginx nginx     93 ноя  5 11:07 templates
drwxr-xr-x.   9 nginx nginx    214 ноя  5 11:07 tests
drwxr-xr-x.   2 nginx nginx     24 ноя  5 11:07 translations
drwxrwxrwx.   4 nginx nginx     30 ноя  5 11:09 var
drwxr-xr-x.  39 nginx nginx   4096 ноя  5 11:09 vendor
-rw-r--r--.   1 nginx nginx   2644 ноя  5 11:07 webpack.config.js
-rw-r--r--.   1 nginx nginx 234509 ноя  5 11:21 yarn-error.log
-rw-r--r--.   1 nginx nginx 301130 ноя  5 11:24 yarn.lock


Что еще можно сделать? Где искать причину проблем с правами?
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
@pcdesign
Отключите selinux и перегазгрузитесь.
Либо пропишите правила для selinux.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@webvalman
Зачем рубить с плеча и отключать?
Проблема кроется в SELinuxe и его полезной политике безопасности.
Если коротко, то нужно директории добавить необходимый контекст, чтобы туда Nginx мог писать логи - httpd_log_t.
Подробнее о решении написал у себя i.valman.org/2020/10/nginx-centos-selinux.html
С SELinux-ом в CentOS почитайте в их вики https://wiki.centos.org/HowTos/SELinux#Relabeling_Files
в двух словах и одном комменте не уложить весь смысл действий.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы