Сценарий состоит в том, что я системный администратор хоста с общим доступом SSH, поддерживаемым учетными записями пользователей LDAP. Каждый пользователь получает домашнюю папку в /home/users
. В настоящее время мы используем Apache с mod_php
чтобы пользователи могли размещать Wordpress (и все остальное).
В настоящее время под mod_php
, все скрипты php запускаются под www-data
. Мы хотим перейти на php-fpm
с пулом масштабирования до нуля для каждого пользователя, чтобы файлы php каждого человека запускались под их uid.
Каждый пользователь получает свой субдомен, используя подстановочный знак ServerAlias в конфигурациях Apache, который сопоставляется с /home/users/<user>/public_html
<VirtualHost *:80>
UseCanonicalName Off
# Wildcard capture for all {username}.domain.com subdomains
ServerAlias *.domain.com
ServerAlias www.*.domain.com
VirtualDocumentRoot /home/users/%1/public_html
<Directory ~ "/home/users/(.+)/public_html">
...
</Directory>
</VirtualHost>
Я попытался установить FilesMatch с помощью SetHandler следующим образом:
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php7-fpm-(.+).sock|fcgi://localhost"
</FilesMatch>
С помощью (.+)
чтобы попробовать заменить имя пользователя на Directory
а также пробовал %1
как с VirtualDocumentRoot
, но оба не заменяются. FCGI: attempt to connect to Unix domain socket /var/run/php7-fpm-%1.sock (*) failed
Какие у меня есть варианты, которые не предполагают создание конфигурации apache для каждого человека при использовании php-fpm (если нет простого в настройке и универсального способа сделать это с помощью чего-то еще?)