Почему мой пул PHP7.0-FPM не работает с использованием указанного системного пользователя?

Я делал эту настройку довольно часто, но на этот раз я наверняка что-то наблюдаю.

Наличие виртуальных хостов Apache 2.4, использующих разные пулы PHP-FPM для каждого виртуального хоста с использованием их собственного системного пользователя в контейнере LXD.

Все работает нормально, за исключением того, что при загрузке файла каталог загрузки должен быть настроен на www-данные, которые не нужны в PHP-FPM.

Ubuntu 16.04 LXD contianer

/etc/apache2/conf-enabled/php7.0-fpm.conf

root@web1:~# cat /etc/apache2/conf-enabled/php7.0-fpm.conf
# Redirect to local php-fpm if mod_php is not available
<IfModule !mod_php7.c>
# Enable http authorization headers
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost"</FilesMatch>
<FilesMatch ".+\.phps$">
# Deny access to raw php sources by default
# To re-enable it's recommended to enable access to the files
# only in specific virtual host or directory
Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(p[3457]?|t|tml|ps)$">
Require all denied
</FilesMatch>
</IfModule>

0

Решение

Нашел ответ в блоге Koen Reiniers: http://blog.koenreiniers.nl/guide-to-combining-apache-virtual-hosts-and-php7-fpm/

По сути, я виноват в том, что у меня был один «обработчик» для нескольких vhosts-сокетов PHP-FPM.

Я изменил свою конфигурацию vhost на:

<IfModule mod_fastcgi.c>
AddHandler php7-fcgi-hs2.nl .php
Action php7-fcgi-hs2.nl /php7-fcgi-hs2.nl
Alias /php7-fcgi-hs2.nl /usr/lib/cgi-bin/php7-fcgi-hs2.nl
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi-hs2.nl -socket /run/php/php7.0-fpm.hs2.nl.sock -pass-header Authorization
<Directory "/usr/lib/cgi-bin">
Require all granted
</Directory>
</IfModule>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName hs2.nl
ServerAlias www.hs2.nl
DocumentRoot /var/www/html/hs2.nl/web
ErrorLog ${APACHE_LOG_DIR}/hs2.nl-error.log
CustomLog ${APACHE_LOG_DIR}/hs2.nl-access.log combined
#LogFormat "%h %l %u %t \"%r\" %>s %b %{X-Forwarded-For}i" common
<Directory /var/www/html/hs2.nl/web>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<IfModule mod_fastcgi.c>
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler php7-fcgi-hs2.nl
</FilesMatch>
</IfModule>
</VirtualHost>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]