Comment installer plusieurs versions PHP avec Apache sur Ubuntu 20.04

Comment installer plusieurs versions PHP avec Apache sur Ubuntu 20.04

Généralement, le gestionnaire d'accueil a utilisé un serveur séparé pour chaque déploiement d'application de version PHP. Ce qui augmente le coût d'hébergement. Certains managers d'accueil utilisent Docker pour exécuter plusieurs versions PHP sur le serveur unique. De plus, la plupart d'entre vous connaissent la configuration, j'ai utilisé dans ce tutoriel. Mais certains des administrateurs du système n'en sont pas conscients. Ce tutoriel vous aidera à installer plusieurs versions PHP avec Apache sur Ubuntu 20.04 Système Linux sans changer de versions PHP.

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

Installation d'Apache

Les packages de serveurs Web Apache sont disponibles dans les référentiels par défaut. Ouvrez un terminal sur votre système Ubuntu, puis exécutez les commandes suivantes pour installer la dernière version disponible du serveur Web Apache.

sudo apt mise à jour sudo apt installer apache2 libapache2-mod-fcgid 

Installation de PHP

Un PPA est maintenu pour l'installation de PHP sur les systèmes Ubuntu à partir d'une longue année. Vous avez juste besoin d'ajouter ce PPA à votre système pour installer des packages. Utilisez les deux commandes ci-dessous pour ajouter le PPA à votre système.

sudo apt install logiciel-properties-common sudo add-att-repository ppa: ondrej / php 

Pour ce tutoriel, nous utilisons le php 5.6 et php 7.4 pour configurer avec le serveur Web Apache. Pour utiliser les multiples versions PHP, nous utiliserons PHP FPM et FastCGI. Installons les packages suivants sur votre système.

Sudo Apt Update -y sudo apt installer php5.6 php5.6-fpm -y sudo apt installer php7.4 PHP7.4-fpm -y 

Après l'installation, les services PHP-FPM seront démarrés automatiquement. Utilisez les commandes suivantes pour vous assurer que les deux services fonctionnent.

Sudo Systemctl Status PHP5.6 fpm sudo systemctl status php7.4-FPM 
  • Recommandé: comment activer / désactiver les modules PHP sur Ubuntu

Configurer Apache avec plusieurs php

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

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 travailler avec deux versions PHP différentes. Tout d'abord, créez deux répertoires sur votre serveur.

sudo mkdir / var / www / php56-app sudo mkdir / var / www / php74-app 

Maintenant, créez et indexez.php contenant le phpinfo (); fonction.

Echo ""> / var / www / php56-app / index.php Echo ""> / var / www / php74-app / index.php 

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

sudo vim / etc / apache2 / sites-disponible / php56.exemple.com.confli 

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

Nom de serveur PHP56.exemple.com DocumentRoot / var / www / php56-appo options-Indexes + suitSyMLinks + multivirews allowerride tous nécessitent tous les accords # apache 2.4.10+ peuvent se procurer à Unix Socket Sethandler "Proxy: UNIX: / var / run / php / php5.6-FPM.chaussette | fcgi: // localhost "
12345678910111213 Nom de serveur PHP56.exemple.com documentroot / var / www / php56-app Options-Indexes + SuivitSyMLinks + MultiViews Allaidride Tous nécessitent tous les accords # Apache 2.4.10+ peuvent se procurer à Unix Socket Sethandler "Proxy: UNIX: / var / run / php / php5.6-FPM.chaussette | fcgi: // localhost "

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

sudo vim / etc / apache2 / sites-disponible / php74.exemple.com.confli 

Ajoutez le contenu suivant pour fichier avec un nom de serveur et un document de document approprié.

Nom de serveur php72.exemple.com DocumentRoot / var / www / php74-app options -Indexes + suifymLinks + multiviws allowoverride nécessite tous tous les sethandler accordés "proxy: unix: / var / run / php / php7.4-FPM.chaussette | fcgi: // localhost "
123456789101112 Nom de serveur php72.exemple.com documentroot / var / www / php74-app Options-Indexes + SuivitSyMLinks + MultiViews Allaidride Tous nécessitent tous les accords Sethandler "Proxy: Unix: / var / run / php / php7.4-FPM.chaussette | fcgi: // localhost "

Vous deux sites Web êtes configurés maintenant. Mais ils ne sont toujours pas actifs. Apache garde des sites actifs sous / etc / Apache2 / Répertoire compatible sur les sites. Vous pouvez simplement créer un lien symbolique des fichiers de configuration à ce répertoire ou utiliser la commande ci-dessous pour faire de même.

sudo a2ensite php56.exemple.com sudo a2ensite php74.exemple.com 

Après avoir apporté tous les modifications à redémarrer Apache pour recharger les nouveaux paramètres.

sudo systemctl redémarrer apache2 

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

Testez votre configuration

Edit / etc / hosts fichier sur votre système local et faites une entrée comme ci-dessous. Cela résoudra les noms temporaires à l'adresse IP localhost.

sudo vim / etc / hôtes 

Ajouter une entrée suivante à la fin du fichier

127.0.0.1 php74.exemple.com 127.0.0.1 php56.exemple.com 

Ouvrez un navigateur Web et visitez les deux sites. Tu verras ça php56.exemple.com montre la version Php 5.6 et php74.exemple.com montre le Php 7.4 Comme la configuration.

http: // php74.exemple.com:

http: // php56.exemple.com:

Conclusion

Ce tutoriel vous aide à configurer plusieurs sites Web avec une version PHP différente sur un serveur apache unique sur un Ubuntu 20.04 Système.