Article

Ubuntu server

Php-Fpm Avec Apache

deveops
4.37min to read
14-02-2024

Comment installer PHP-FPM avec Apache sur Ubuntu 22.04

Comment installer PHP-FPM avec Apache sur Ubuntu 22.04. Il existe deux options distinctes pour exécuter PHP à l'aide du serveur Web. L'un utilise le CGI de PHP et l'autre est FPM. FPM est un gestionnaire de processus pour gérer le FastCGI en PHP. Navires Apache avec mod_php par défaut et fonctionne avec tous les principaux serveurs Web.
Avec mod_php il y a un petit problème de performances car il verrouille le processus.

Dans ce guide, vous apprenez à configurer PHP 8.1-FPM et à le configurer avec Apache et à configurer également des variables PHP.
Cette configuration peut également être effectuée sur d'autres VPS ou VM dédiés ou cloud. Cette configuration fonctionne sur toutes les distributions Ubuntu ou Debian Linux.

Commencer

Assurez-vous que votre serveur Ubuntu a les derniers paquets en exécutant la commande suivante.


sudo apt update && sudo apt upgrade

Cela mettra à jour l'index des paquets et mettra à jour les paquets installés vers la dernière version.

Étape 1: Installer PHP 8.1 FPM

Par défaut Ubuntu 22.04 a le dernier dépôt PHP 8.1 ajouté. Vous pouvez donc installer PHP en utilisant la commande suivante.


sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 
php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc 
php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap 
php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip 
php8.1-intl php8.1-bcmath unzip -y

Attendez que l'installation soit terminée.
Une fois l'installation terminée, vérifiez l'installation en utilisant la commande suivante.

sudo service php8.1-fpm status

Vous recevrez une sortie similaire à celle ci-dessous.

Output● 
   php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendorpreset: enabled)
   Active: active (running) since Tue 2022-05-08 05:42:31 UTC; 2min agoDocs: man:php-fpm8.1(8)
       Process: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install/run/php/php-fpm
....

Étape 2: Installer Apache

Une fois que vous avez votre PHP-FPM opérationnel, vous pouvez installer le serveur web Apache.

sudo apt install apache2

vérifier la version d'apache en utilisant commande ci-dessous:

sudo apachectl -v
Output
Server version: Apache/2.4.52(Ubuntu)
Server built:   2024-05-25T00:35:45

Chaque processus dans Apache est géré avec le systemctl vérifiez son état avec le commande suivante:

 sudo systemctl status apache2
Output
 ● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-05-08 05:45:29 UTC; 1min 47s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 12782 (apache2)
      Tasks: 55 (limit: 1151)
     Memory: 5.1M
        CPU: 52ms
     CGroup: /system.slice/apache2.service
             ├─12782 /usr/sbin/apache2 -k start
             ├─12784 /usr/sbin/apache2 -k start
             └─12785 /usr/sbin/apache2 -k start

Etape 3: configurer Apache ave PHP-FPM

Désactivez la configuration par défaut du vhost Apache.

sudo a2dissite 000-default

Activer Apache Event Module
Désactivez tous les modules de préformation par défaut pour toutes les versions de PHP existantes.

sudo a2dismod php8.1

Désactivez le module Apache Prefork

sudo a2dismod mpm_prefork

Activez le module Apache event.

sudo a2enmod mpm_event proxy_fcgi setenvif

Activer PHP FPM Configuration

Vous pouvez maintenant activer la cconfiguration PHP-FPM.

sudo a2enmod http2

Maintenant Apache est configuré avec PHP-FPM.

Etape 4 : Configurer PHP-FPM

Maintenant, nous configurons PHP pour les applications Web en changeant certaines valeurs dans le fichier php.ini.

sudo nano /etc/php/8.1/fpm/php.ini

Frapper F6 pour rechercher dans l'éditeur et mettre à jour les valeurs suivantes pour de meilleurs performances.

upload_max_filesize = 32 M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

Une fois que vous avez modifié vos paramètres PHP, vous devez redémarrer votre PHP-FPM pour que les modifications prennent effet.

sudo service php8.1-fpm restart

Etape 5 : Configurer les hôtes virtuels Apache

Créer une nouvelle configuration Apache vhost.

sudo nano /etc/apache2/sites-available/domain.conf

Collez la configuration ci-dessous dans le fichier:

<virtualHost *:80>
ServerAdmin webmaster@localhost ServerName domain.com ServerAlias www.domain.com Protocols h2 http/1.1 DocumentRoot /var/www/html/domain/public <Directory /var/www/html/domain/public> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
</virtualhost>

Appuyer sur  CTRL + X suivi par Y et valider Enter pour enregistrer et quitter le fichier.
Vous pouvez maintenant activer la nouvelle configuration Apache.

sudo a2ensite domain.conf

Redémarrez Apache.

sudo service apache2 restart

Étape 6: Vérifier PHP-FPM avec Apache

Ici, nous avons configuré /var/www/html/domain/public en tant que racine Web dans la configuration Apache. Vous pouvez maintenant naviguer dans ce répertoire et créer un fichier phpinfo pour vérifier la configuration.

cd /var/www/html/domain/public

sudo nano info.php

Coller ce qui suit.

<?php phpinfo();?>

Appuyer sur  CTRL + X suivi par Y et valider par Enter pour enregistrer et quitter le fichier.
Maintenant, allez dans votre navigateur et pointez-le sur votre adresse IP de serveur ou votre nom de domaine info.php.
Votre adresse ressemblera à ceci http://domain.com/info.php. Vous verrez la page d'informations PHP et confirmez que PHP-FPM est utilisé avec Apache.

Conclusion

Maintenant, vous avez appris à installer PHP 8.1-FPM avec Apache et à configurer PHP dans Ubuntu22.04.
Vous avez également appris à configurer des pools PHP-FPM pour plusieurs utilisateurs.

liste des articles