Bonjour,
Si tu veux utiliser php-fpm, il est préférable de d'abord désactiver le module php d'apache (libapache2-mod-php) (ex. sous 18.04 LTS) :
sudo a2dismod php7.2
Ensuite de manière basique tu actives le fichier de configuration fourni par le paquet php-fpm (/etc/apache2/conf-available/php7.2-fpm.conf):
sudo a2enconf php7.2-fpm
Ce fichier doit être a peu près identique à ton premier exemple.
Relancer les service
apache2 et
php7.2-fpm
Tu peux ensuite vérifier avec une page contenant une fonction
phpinfo()
Si tu veux utiliser les pools avec des utilisateurs différents pour chaque site, il ne faudra pas activer ce fichier de configuration mais s'inspirer de son contenu pour l'inclure ou le coller dans chaque hôte virtuel en précisant un socket différent à chaque fois :
Exemple :
hôte virtuel toto.conf :
<VirtualHost *:80>
ServerAdmin toto@example.com
ServerName toto.com
ServerAlias www.toto.com
DocumentRoot /srv/web/toto/www
Include conf-available/php7-fpm_toto.conf
<Directory /srv/web/toto/www>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride all
Require all granted
</Directory>
#logs
ErrorLog /srv/web/toto/logs/error.log
LogLevel warn
CustomLog /srv/web/toto/logs/access.log combined
</VirtualHost>
fichier /etc/apache2/conf-available/php7-fpm_toto.conf :
# Redirect to local php-fpm if mod_php is not available
<IfModule !mod_php7.c>
<IfModule proxy_fcgi_module>
# Enable http authorization headers
<IfModule setenvif_module>
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
SetHandler "proxy:unix:/run/php/php7-fpm_toto.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>
</IfModule>
Note bien le socket : /run/php/php7-fpm_toto.sock
le fichier du pool /etc/php/7.2/fpm/pool.d/toto.conf :
[toto]
user = toto
group = webmasters
listen = /run/php/php7-fpm_toto.sock
listen.owner = www-data
listen.group = www-data
pm = ondemand
pm.max_children = 20
pm.process_idle_timeout = 10s
chdir = /
les paramètres
pm sont a ajuster en fonction de la charge du site.
Voir la doc
Les fichiers du site peuvent appartenir à
toto:webmasters car les scripts PHP sont exécutés par
toto, les fichiers statiques doivent d'une manière ou d'une autre être accessibles en lecture www-data.