Installer PHP FPM sur Debian 9 avec Apache 2.4
Sommaire
Installer PHP FPM
sudo apt-get install ca-certificates apt-transport-https wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
Lister les versions disponibles de PHP FPM disponibles :
sudo apt-cache search fpm
Installer PHP FPM :
sudo apt-get install php7.4-fpm
Installer FastCGI
Le paquet libapache2-mod-fastcgi
n'est plus disponible sous Debian 9 (Stretch), il est nécessaire d'utiliser libapache2-mod-fcgid
en remplacement.
Vérifier si libapache2-mod-fcgid
est bien disponible :
sudo apt-cache search libapache2-mod-fcgid
Si ce n'est pas le cas, on ajoute 'non-free' à la liste des dépôts dans /etc/apt/sources.list
et on met à jour les paquets :
sudo apt-get update && sudo apt-get upgrade
Installer FastCGI (mod_fcgid
) :
sudo apt-get install libapache2-mod-fcgid
Désactiver mod_php et mpm_prefork
sudo a2dismod php5 mpm_prefork
Activer FastCGI et mod_event/mpm_worker
sudo a2enmod mpm_event actions alias proxy_fcgi
L'activation de proxy_fcgi
activera proxy et proxy_fcgi.
Configuration
Vérifier le socket FPM configuré :
sudo grep -E '^\s*listen\s*=\s*[a-zA-Z/]+' /etc/php/7.4/fpm/pool.d/www.conf
Ce qui donne :
/run/php/php7.4-fpm.sock
Modifier le virtual host désiré, et ajouter (après </Directory> par exemple) :
<FilesMatch \.php$> # Apache 2.4.10+ can proxy to unix socket SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/" </FilesMatch>
Tester la configuration
apache2ctl configtest
ou :
apache2ctl -t
Redémarrage des services
sudo service apache2 restart
sudo service php7.4-fpm restart
- https://tecadmin.net/install-multiple-php-version-with-apache-on-debian/
- https://serversforhackers.com/c/lemp-managing-php-modules
- https://wiki.maxcorp.org/passage-au-mod-fastcgi-et-php-fpm-avec-apache-mpm-worker/
- https://superuser.com/questions/228173/whats-the-difference-between-mod-fastcgi-and-mod-fcgid
- 2016/08 - https://www.deltasight.fr/php-fpm-chroot-apache-2-4/
- 2018/09 - https://www.skyminds.net/php-configurer-un-pool-php-pour-chaque-site/
- 2015/07 - https://www.digitalocean.com/community/tutorials/how-to-host-multiple-websites-securely-with-nginx-and-php-fpm-on-ubuntu-14-04
- 2015/03 - https://www.vincentliefooghe.net/content/configuration-apache-24-php-fpm
- 2017/06 - https://www.server-world.info/en/note?os=Debian_9&p=httpd&f=13
- 2018/03 - https://xdeb.org/post/2017/11/09/running-drupal-on-debian-9-with-apache-2-4-http2-event-mpm-and-php-fpm-via-socks-and-proxy/