LINUX.ORG.RU
решено ФорумAdmin

изменить пользователя от которого запускаются Nginx, PHP-FPM

 ,


0

1

Добрый день

*** CentOS 7 ***

Возникла необходимость изменить владельца директории сайта с системного nginx на обычного myuser. Если в конфигах Nginx:

user nginx;
и PHP-FPM:
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
ничего не менять, то через браузер доступ к сайту сохраняется, но при попытке загрузить файл получаю ошибку недоступности директории для сохранения загружаемого файла.

если в конфигах Nginx:

user myuser;
и PHP-FPM:
listen.owner = myuser
listen.group = myuser
listen.mode = 0660
изменить на пользователя и группу владельца директории сайта, то с доступом к сайту так-же все хорошо, но при попытке загрузить файл получаю 500-ую ошибку от NGINX.

Подскажите пожалуйста, как правильно настроить NGINX + PHP-FPM, чтобы загрузка файлов проходила (без 777), если владелец директории сайта myuser:myuser?

Узнай в какую директорию сайт загружает файлы и дай ей права 777
Или chown nginx:nginx /путь/до/директории/загрузки

Deleted
()
Ответ на: комментарий от Deleted

Очевидно сделать chown -R myuser:myuser /var/www/site.ru

не, это все уже сделано

Узнай в какую директорию сайт загружает файлы и дай ей права 777

Или chown nginx:nginx /путь/до/директории/загрузки

права 777 не выход, когда владелец nginx:nginx на всю директорию сайта и в конфигах NGINX и PHP-FPM nginx, то все нормально.

Мне нужно не на быструю руку что-то прикрутить, а нормально сделать, потому что сайтов там много и с каждым извращаться - искать где что и куда загружает - не вариант.

stranger-ru
() автор топика
Ответ на: комментарий от stranger-ru

мне другими словами нужно решить проблему именно с тем - чтобы NGINX и PHP-FPM не под nginx пользователем нормально работали, без 500-тых и им подобным.

stranger-ru
() автор топика
Ответ на: комментарий от stranger-ru

Тогда тебе нужно не

listen.owner = myuser
listen.group = myuser
listen.mode = 0660
а
owner = myuser
group = myuser
Тогда процесс php-fpm стартанёт с myuser, то что ты указал это всего лишь права для unix сокетов.

Deleted
()
Ответ на: комментарий от Deleted

Ключ -R точно не забыл ?

нет, не забыл.

Апач не используешь ?

нет, только NGINX + PHP-FPM.

Так-же в этому времени вот что накопал, что при загрузке файлов NGINX каким-то образом цепляет директорию /var/lib/nginx/tmp - на ней так-же был владелец nginx:nginx, изменил на myuser:myuser - 500-тая ошибка при загрузке файла ушла, но kfinder (ckedito) все равно при этом ругается при загрузке файла, говорит «Невозможно переместить загруженный файл в папку назначения», когда nginx владелцем и конфигах был, такого не было.

Т.е. понимаю, что на какую-то еще директорию нужно права исправить с nginx:nginx на myuser:myuser - но на какую, это вопрос, какую директорию еще может цеплять NGINX при загрузке файлов. На /tmp 777 стоит.

stranger-ru
() автор топика
Ответ на: комментарий от Deleted

owner = myuser
group = myuser

На такие настройки у меня PHP-FPM ругается и не запускается:

Sep 15 17:38:56 myhost php-fpm[3266]: [15-Sep-2016 17:38:56] ERROR: [/etc/php-fpm.d/www.conf:6]
Sep 15 17:38:56 myhost php-fpm[3266]: [15-Sep-2016 17:38:56] ERROR: Unable to include /etc/php-
Sep 15 17:38:56 myhost php-fpm[3266]: [15-Sep-2016 17:38:56] ERROR: failed to load configuratio
Sep 15 17:38:56 myhost php-fpm[3266]: [15-Sep-2016 17:38:56] ERROR: FPM initialization failed
Sep 15 17:38:56 myhost systemd[1]: php-fpm.service: main process exited, code=exited, status=78
Sep 15 17:38:56 myhost systemd[1]: Failed to start The PHP FastCGI Process Manager.

stranger-ru
() автор топика
Ответ на: комментарий от Deleted

Большое спасибо

user = myuser
group = myuser

+

chown -R myuser:myuser /var/lib/nginx 
заработало, ура!

stranger-ru
() автор топика
Ответ на: комментарий от stranger-ru

Т.е. понимаю, что на какую-то еще директорию нужно права исправить с nginx:nginx на myuser:myuser - но на какую, это вопрос, какую директорию еще может цеплять NGINX при загрузке файлов.

find / -user nginx -or -group nginx

anc ★★★★★
()
Ответ на: комментарий от anc

find / -user nginx -or -group nginx

Спасибо. С помощью нее вычислил, что на /var/log/nginx еще нужно права было переопределить, чего-то забыл про логи совсем.

stranger-ru
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.