GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer plusieurs versions de PHP avec Apache sur Debian 11/10

Généralement, le gestionnaire d'hôte utilise le système séparé pour chaque déploiement d'application de version PHP. Ce qui augmente le coût d'hébergement. Certains des gestionnaires d'hôtes utilisent Docker pour exécuter plusieurs versions de PHP sur un seul serveur. De plus, la plupart d'entre vous connaissent la configuration. Peut-être que certains administrateurs système ne sont pas au courant de cela. Ce tutoriel vous aidera à installer plusieurs versions de PHP avec Apache sur les systèmes Debian 11, Debian 10 et Debian 9 sans changer de version de PHP.

Ce tutoriel décrit l'installation et la configuration de deux VirtualHost sur Apache avec des versions PHP distinctes. Le premier VirtualHost fonctionnera avec PHP 5.6 et un autre VirtualHost fonctionnera avec PHP 7.2. Alors parcourez simplement ce tutoriel. Vous pouvez également utiliser plus de deux versions de PHP avec Apache selon vos besoins, mais ce didacticiel n'en couvre que deux.

Installer PHP

Pour l'installation des versions PHP, nous utilisons le PPA maintenu ici. Utilisez les deux commandes ci-dessous pour ajouter le PPA sur votre système Debian.

sudo apt 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

Ce tutoriel utilise PHP 5.6 et PHP 7.2 pour configurer avec le serveur Web Apache. Pour utiliser les multiples versions de PHP, nous utiliserons PHP FPM et FastCGI. Exécutez les commandes suivantes pour installer PHP et FPM sur le système Debian.

apt update
sudo apt install php5.6 php5.6-fpm
sudo apt install php7.2 php7.2-fpm

Après l'installation, les services php-fpm seront démarrés automatiquement. Utilisez les commandes suivantes pour vous assurer que les deux services sont en cours d'exécution.

sudo systemctl status php5.6-fpm
sudo systemctl status php7.2-fpm

Installation d'Apache

Installez le serveur Web Apache à partir du référentiel officiel. Lancez le terminal sur votre système ou connectez-vous avec ssh pour les systèmes distants. Exécutez les commandes suivantes pour installer la dernière version disponible du serveur Web Apache.

sudo apt update 
sudo apt install apache2 libapache2-mod-fcgid

Configuration d'Apache

Activez maintenant quelques modules nécessaires à la configuration de plusieurs versions de PHP avec Apache. Ces modules sont nécessaires pour intégrer PHP FPM et FastCGI au serveur Apache.

sudo a2enmod actions fcgid alias proxy_fcgi

Créez maintenant deux répertoires distincts sur votre système pour les deux sites qui se configurent sur votre système.

sudo mkdir /var/www/php56
sudo mkdir /var/www/php72

Maintenant, créez et index.php contenant la fonction phpinfo(). Cela aidera les utilisateurs à voir et à confirmer quelle version de PHP est utilisée par VirtualHost.

echo "<?php phpinfo(); ?>" > /var/www/php56/index.php
echo "<?php phpinfo(); ?>" > /var/www/php72/index.php

Commençons la création de VirtualHost. Apache conserve tous les fichiers de configuration VirtualHost sous /etc/apache2/sites-available avec l'extension .conf. Créez un fichier pour le premier hôte virtuel et modifiez-le dans votre éditeur de texte préféré.

sudo vim /etc/apache2/sites-available/php56.example.com.conf

Ajoutez le contenu suivant. Assurez-vous d'utiliser le nom de serveur et le chemin de répertoire corrects en fonction de votre configuration. Ce site Web est configuré pour fonctionner avec PHP 5.6.

Apache
12345678910111213 ServerName php56.example.com DocumentRoot /var/www/php56 Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Exiger que tous soient accordés # Apache 2.4.10+ peut proxy vers unix socket SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"

De même, créez un deuxième fichier de configuration VirtualHost pour fonctionner avec PHP 7.2. Modifier le fichier de configuration dans l'éditeur de texte :

sudo vim /etc/apache2/sites-available/php72.example.com.conf

Ajoutez le contenu suivant au fichier avec le nom de serveur et la racine de document appropriés.

Apache
123456789101112 ServerName php72.example.com DocumentRoot /var/www/php72 Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Exiger que tous soient accordés SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"

Vos deux sites Web sont maintenant configurés. Mais ils ne sont toujours pas actifs. Apache conserve les sites actifs sous le répertoire /etc/apache2/sites-enabled. Vous pouvez simplement créer un lien symbolique des fichiers de configuration vers ce répertoire ou utiliser la commande ci-dessous pour faire de même.

sudo a2ensite php56.example.com
sudo a2ensite php72.example.com

Après avoir effectué toutes les modifications, redémarrez Apache pour recharger les nouvelles modifications de paramètres.

sudo systemctl restart apache2

Votre configuration est maintenant terminée. Passez à l'étape suivante pour tester votre configuration.

Configuration du test

Ouvrez un navigateur Web et visitez les deux sites. Vous verrez que php56.example.com affiche la version PHP 5.6 et php72.example.com affiche le PHP 7.2 comme configuration.


Debian
  1. Comment installer PHP 8.0 sur Debian 11

  2. Comment installer PHP 8.0 sur Debian 10 / Debian 9

  3. Comment installer Webmin sur Debian 10/11

  4. Comment installer PHP 8 sur Debian 10

  5. Comment installer PHP sur Debian 11

Comment installer Google Chrome sur Debian 10/11

Comment installer phpMyAdmin avec Apache sur Debian 11 / Debian 10

Comment installer le dernier PHP 8.1 sur Debian 11/10

Comment installer plusieurs versions de PHP avec Apache sur Ubuntu 18.04 et 16.04

Comment installer Apache avec PHP-FPM sur Debian 10

Comment installer Apache Kafka sur Debian 10/9