Eu tenho uma instalação bastante limpa (e atualizada) do Ubuntu 16.04 LTS, e estou tentando configurar o PHP-FPM para ser chrooted por domínio. Eu realmente não quero abrir n portas no servidor (elas são locais, mas eu não quero isso de qualquer maneira) para cada domínio.
Mas, como tentei, não consigo fazer o proxy para executar o script correto sobre o soquete.
Quando eu substituo o $ {% SCRIPT_NAME} por index.php, ele carrega meu índice (contendo phpinfo ();), mas não carrega mais nada - atualmente ele responde apenas com 'Arquivo não encontrado'. e status 404. Também consigo ver [Thu Feb 15 17:18:37.581204 2018] [proxy_fcgi:error] [pid 15974] [client 10.0.0.15:60620] AH01071: Got error 'Primary script unknown\n'
no log do apache. Eu também não sei como depurar o php-fpm corretamente, já que ele não gera muita saída para o seu log ...: - (
Mas não importa o que eu faça, não posso fazê-lo funcionar com index.php ou outro script na url (e não na configuração). Eu tentei várias supostas soluções, mas nenhuma parece funcionar.
Tenho a seguinte configuração em php fpm:
[domain.com]
user = 4003
group = 4001
listen = /var/run/php/domain.com.sock
chroot = /disks/sdb1/clients/clientname/domain.com
chdir = /
catch_workers_output = yes
access.log = /disks/sdb1/clients/client/logs/access.domain.com.log
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 5
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500
php_admin_value[error_log] = /disks/sdb1/clients/client/logs/error.domain.com.log
e apache conf:
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin client
DocumentRoot /disks/sdb1/clients/client/domain.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
CustomLog /var/log/apache2/domain.com-access.log combined
ErrorLog /var/log/apache2/domain.com-error.log
<Directory /disks/sdb1/clients/client/domain.com>
Options FollowSymLinks
AllowOverride All
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>
SetEnv HOME "/disks/sdb1/clients/client/domain.com"
SetEnv HTTP_HOME "/disks/sdb1/clients/client/domain.com"
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/domain.com.sock|fcgi://localhost/${%SCRIPT_NAME}"
</FilesMatch>
#Use PHP-FPM for PHP processing
#SetEnv PATH_INFO "%{SCRIPT_NAME}"
#ProxyPassMatch ^(.*)$ "unix://var/run/php/domain.com.sock|fcgi://localhost//$1" enablereuse=on
</VirtualHost>
Tags php ubuntu apache-http-server