Comment configurer plusieurs versions PHP avec Apache sur Ubuntu
- 4094
- 1054
- Jade Muller
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 gestionnaires d'accueil utilisent Docker pour exécuter plusieurs versions PHP sur un seul serveur. 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 22.04, 20.04 et 18.04 Systèmes LTS 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 8.1 et un autre VirtualHost fonctionnera avec PHP 7.4. 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'apache2
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 de l'Apache Webserver.
sudo apt mise à jour sudo apt installer apache2 libapache2-mod-fcgid
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
Installation des versions PHP
Pour l'installation des versions PHP, nous utilisons le PPA entretenu ici. 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 Php 8.1 et php 7.4 à 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 mise à jour sudo apt installer php8.1 php8.1 fpm sudo apt installer php7.4 PHP7.4-FPM
Après l'installation, php-fpm Les services seront démarrés automatiquement. Utilisez les commandes suivantes pour vous assurer que les deux services fonctionnent.
Sudo Systemctl Status PHP8.1 fpm sudo systemctl status php7.4-FPM
- Vous aimerez peut-être: comment activer / désactiver les modules PHP sur Ubuntu
Configuration des hôtes virtuels Apache
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 / php81 sudo mkdir / var / www / php74
Créer un index.Fichier PHP contenant le phpinfo () fonction.
Echo "" | Sudo Tee -a / var / www / php81 / index.php echo "" | Sudo Tee -a / var / www / php74 / 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 / php81.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 8.1.
Nom de serveur PHP81.exemple.com documentroot / var / www / php81 Options-Indexes + suitSyMLinks + multivirews allatRide Tous nécessitent tous les accordés # apache 2.4.10+ peuvent se procurer à Unix Socket Sethandler "Proxy: UNIX: / var / run / php / php8.1 fpm.chaussette | fcgi: // localhost "12345678910111213 |
De même, créez un deuxième fichier de configuration VirtualHost pour travailler avec PHP 7.4. 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 Php74.exemple.com documentroot / var / www / php74 Options-Indexes + suitSyMLinks + MultiViews allatOverride nécessite tous tous les Sethandler "Proxy: Unix: / var / run / php / php7.4-FPM.chaussette | fcgi: // localhost "123456789101112 |
Les deux sites Web sont 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 php81.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.
Configuration de test
Edit / etc / hosts fichier sur votre système local et faites une entrée comme ci-dessous. Cela résoudra les noms de tempory à l'adresse IP localhost.
sudo vim / etc / hôtes
Ajouter une entrée suivante à la fin du fichier
127.0.0.1 php81.exemple.com 127.0.0.1 php74.exemple.com
Ouvrez un navigateur Web et visitez les deux sites. Tu verras ça php81.exemple.com montre la version Php 8.1 et php74.exemple.com montre le Php 7.4 Comme la configuration.
- http: // php81.exemple.com
Php 8.1 avec Apache - http: // php74.exemple.com
Php 7.4 avec Apache
Conclusion
Ce tutoriel vous a aidé à installer et à configurer plusieurs versions PHP avec Apache sur le système Ubuntu Linux. Qui vous fournit une solution rentable pour déployer différentes applications de version PHP sur un seul serveur Web.
- « Comment installer Nomachine sur Ubuntu, Debian et Linuxmint (alternative de TeamViewer)
- Comment installer le dernier nœud.js sur macOS »