Измененный php-fpm пользователь не может создавать файлы pid и sock
Я хочу выполнить php-fpm с другим пользователем на моей рабочей станции Ubuntu, поэтому я изменил файл /etc/php5/fpm/pool.d в соответствии с некоторыми учебниками, которые я нашел:
user = myuser
group = myuser
Но когда я пытаюсь перезапустить службу php-fpm, она падает, потому что у моего нового пользователя нет прав на создание файлов pid и sock в / var / run, что вполне логично, так как / var / run имеет права только root. Но www-data мог писать в эту папку, и у него тоже не было специальных разрешений, так что я думаю, что я пропустил некоторые шаги.
Знаете ли вы, как изменить пользователя php-fpm и быть уверенным, что он сможет создавать файлы pid и sock?
Obs: Если мне нужно изменить скрипт инициализации, я должен сказать, что не уверен, как это сделать, и любая помощь будет принята с благодарностью.
1 ответ
php5-fpm
на самом деле должен запускаться с правами root и удалять его привилегии после того, как он настроен и запущен. Это довольно распространено среди веб-серверов. Это должно позволить ему записывать в пространство, принадлежащее корню, и разбивать свои собственные файлы.
Я верю, что именно так работает моя установка.
Тогда возникает вопрос: почему не ваш?
Вы изменили скрипт Upstart, который поставляется вместе с ним? chuid
? Это сломало бы это. Вот мой /etc/init/php5-fpm.conf
для сравнения:
# php5-fpm - The PHP FastCGI Process Manager
description "The PHP FastCGI Process Manager"
author "Ondřej Surý <ondrej@debian.org>"
start on runlevel [2345]
stop on runlevel [016]
# you can uncomment this with recent upstart
# reload signal USR2
pre-start exec /usr/lib/php5/php5-fpm-checkconf
respawn
exec /usr/sbin/php5-fpm --nodaemonize --fpm-config /etc/php5/fpm/php-fpm.conf