GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Généralement, le gestionnaire d'hébergement utilisait un serveur distinct 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 que j'ai utilisée dans ce tutoriel. Mais certains des administrateurs système ne sont pas conscients de cela. Ce tutoriel vous aidera à installer plusieurs versions de PHP avec Apache sur les systèmes Ubuntu 18.04 et 16.04 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.

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-fastcgi 

Ubuntu 18.04 Users:
sudo apt install apache2 libapache2-mod-fcgid

Installer PHP

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

### On Ubuntu 18.04  
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

### On Ubuntu 16.04  
sudo apt install python-software-properties
sudo add-apt-repository ppa:ondrej/php

Pour ce tutoriel, nous utilisons 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. Installons les packages suivants sur votre système.

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
  • Recommandé :Comment activer/désactiver les modules PHP sur Ubuntu

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 fastcgi alias proxy_fcgi

Ubuntu 18.04 Users:
sudo a2enmod actions fcgid alias proxy_fcgi

Préparez-vous pour la configuration des sites Web sur votre serveur Apache. À des fins de test, je configure deux sites Web pour qu'ils fonctionnent avec deux versions PHP différentes. Commencez par créer deux répertoires sur votre serveur.

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

Maintenant, créez et index.php contenant la fonction phpinfo().

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

Modifiez le fichier /etc/hosts sur votre système local et créez une entrée comme ci-dessous. Cela résoudra les noms temporaires en adresse IP localhost.

sudo vim /etc/hosts

Ajouter l'entrée suivante à la fin du fichier

127.0.0.1 php72.example.com
127.0.0.1 php56.example.com

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.


Ubuntu
  1. Comment installer Apache sur Ubuntu 18.04

  2. Comment installer Apache sur Ubuntu 20.04

  3. Comment installer plusieurs versions de PHP sur Ubuntu 18.04 LTS

  4. Comment installer Suphp avec Apache sur Ubuntu / Linux

  5. Comment installer PHP 7.4 sur Ubuntu 20.04

Comment installer SuiteCRM sur Ubuntu 20.04 avec Apache/Nginx

Comment installer MediaWiki sur Ubuntu 20.04 avec Apache/Nginx

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

Comment installer PHP 8 sur Ubuntu 20.04

Comment installer PHP 8 sur Ubuntu 18.04

Comment installer Apache sur Ubuntu 22.04