Article
Php-Fpm Avec Apache
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> </virtualhost>
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
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.