GNU/Linux >> Tutoriels Linux >  >> Linux

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. Apache est livré 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 cela verrouille le processus.

Dans ce guide, vous apprendrez à configurer PHP 8.1-FPM et à le configurer avec Apache, ainsi qu'à configurer les variables PHP.

Cette configuration peut également être effectuée sur d'autres VPS ou VM dédiées ou cloud. Cette configuration est testée sur Google Compute Engine, mais elle fonctionne sur toutes les distributions Ubuntu ou Debian Linux.

Mise en route

Assurez-vous que votre serveur Ubuntu dispose des derniers packages en exécutant la commande suivante.

sudo apt update
sudo apt upgrade

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

Étape 1 :Installer PHP 8.1 FPM

Par défaut, Ubuntu 22.04 a le dernier référentiel PHP 8.1 ajouté. Vous pouvez donc installer PHP à l'aide de 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 à l'aide de 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; vendor preset: enabled)
     Active: active (running) since Tue 2022-05-08 05:42:31 UTC; 2min ago
       Docs: man:php-fpm8.1(8)
    Process: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s>
...

Étape 2 :Installer Apache

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

sudo apt install apache2

Vérifiez la version d'Apache à l'aide de la commande ci-dessous

sudo apachectl -v
Output
Server version: Apache/2.4.52 (Ubuntu)
Server built:   2022-03-25T00:35:40

Chaque processus dans Apache est géré avec le systemctl commande. Vérifiez l'état d'Apache avec la 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

Étape 3 :Configurer Apache avec PHP-FPM

Par défaut, Apache utilisera mod_php vous pouvez donc maintenant configurer Apache pour utiliser PHP-FPM.

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

sudo a2dissite 000-default

Activer le module d'événement Apache

Désactivez tous les modules de préforme par défaut pour toutes les versions PHP existantes.

sudo a2dismod php7.4

Désactiver le module Apache Prefork.

sudo a2dismod mpm_prefork

Activer le module d'événement Apache.

sudo a2enmod mpm_event proxy_fcgi setenvif

Activer la configuration PHP FPM

Vous pouvez maintenant activer la configuration PHP-FPM.

sudo a2enconf php8.1-fpm

Activer HTTP2

Si vous avez besoin de la prise en charge de HTTP 2, vous pouvez également l'activer.

sudo a2enmod http2

Apache est maintenant configuré avec PHP FPM.

Étape 4 :Configurer PHP-FPM

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

Pour PHP 8.1 avec Nginx le php.ini l'emplacement sera dans le répertoire suivant.

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

Appuyez sur F6 pour la recherche dans l'éditeur et mettez à jour les valeurs suivantes pour de meilleures performances.

upload_max_filesize = 32M 
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

Étape 5 :Configurer les hôtes virtuels Apache

Créez une nouvelle configuration d'hôte virtuel Apache.

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

Collez la configuration ci-dessous dans le fichier.

<VirtualHost *:80>
     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> 

Appuyez sur CTRL + X suivi de Y et 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. Alors maintenant, vous pouvez naviguer dans ce répertoire et créer un phpinfo fichier pour vérifier la configuration.

cd /var/www/html/domain/public
sudo nano info.php

Collez ce qui suit.

<?php phpinfo();

Tapez CTRL + X suivi de Y et Enter pour enregistrer et quitter le fichier.

Allez maintenant dans votre navigateur et faites-le pointer vers l'adresse IP ou le nom de domaine de votre serveur suivi du info.php . Votre adresse ressemblera donc à ceci http://domain.com/info.php

Vous verrez la page d'informations PHP et confirmerez que PHP-FPM est utilisé avec Apache.

Préparez-vous à un poste de professionnel des technologies de l'information avec le système d'exploitation Linux

Conclusion

Vous avez maintenant appris à installer PHP 8.1-FPM avec Apache et à configurer PHP dans Ubuntu 22.04. Vous avez également appris à configurer des pools PHP-FPM pour plusieurs utilisateurs.


Linux
  1. Comment installer Apache sur Ubuntu ?

  2. Installer phpMyAdmin sur Ubuntu 20.04 avec Apache

  3. Comment installer PHP-FPM avec Apache sur Ubuntu 20.04

  4. Installer phpMyAdmin sur Ubuntu 22.04 avec Apache

  5. Comment installer Apache Cassandra sur Ubuntu 20.04

Comment installer Apache avec PHP-FPM sur Debian 10

Comment installer Drupal sur un serveur Ubuntu 20.04 avec Apache

Comment installer Apache sur Ubuntu 20.04

Comment installer Apache Tomcat sur Ubuntu 18.04

Comment installer Apache Tomcat 10 sur Ubuntu 20.04 avec Nginx

Comment installer Apache Tomcat 10 sur Ubuntu 22.04 avec Nginx