GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare più versioni PHP con Apache su Ubuntu 18.04 e 16.04

In genere, il gestore hos utilizzava un server separato per ogni distribuzione dell'applicazione della versione PHP. Che aumenta il costo di hosting. Alcuni dei gestori host utilizzano Docker per eseguire più versioni di PHP sul singolo server. Inoltre, la maggior parte di voi è a conoscenza della configurazione che ho usato in questo tutorial. Ma alcuni degli amministratori di sistema non ne sono a conoscenza. Questo tutorial ti aiuterà a installare più versioni di PHP con Apache sul sistema Ubuntu 18.04 e 16.04 senza cambiare le versioni di PHP.

Questo tutorial descrive l'installazione e la configurazione di due VirtualHost su Apache con versioni PHP separate. Il primo VirtualHost funzionerà con PHP 5.6 e un altro VirtualHost funzionerà con PHP 7.2. Quindi segui questo tutorial. Puoi anche utilizzare più di due versioni di PHP con Apache come richiesto, ma questo tutorial ne copre solo due.

Installazione di Apache

Installa il server web Apache dal repository ufficiale. Avvia il terminale sul tuo sistema o accedi con ssh per i sistemi remoti. Esegui i seguenti comandi per installare l'ultima versione disponibile del server Web Apache.

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

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

Installazione PHP

Per l'installazione delle versioni PHP, utilizziamo il PPA mantenuto qui. Usa i seguenti due comandi per aggiungere il PPA al tuo sistema.

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

Per questo tutorial, utilizziamo PHP 5.6 e PHP 7.2 per la configurazione con il server Web Apache. Per utilizzare le versioni multiple di PHP, utilizzeremo PHP FPM e FastCGI. Installiamo i seguenti pacchetti sul tuo sistema.

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

Dopo l'installazione, i servizi php-fpm verranno avviati automaticamente. Utilizza i seguenti comandi per assicurarti che entrambi i servizi siano in esecuzione.

sudo systemctl status php5.6-fpm
sudo systemctl status php7.2-fpm
  • Consigliato:come abilitare/disabilitare i moduli PHP su Ubuntu

Configurazione Apache

Ora abilita alcuni moduli necessari per la configurazione di più versioni di PHP con Apache. Questi moduli sono necessari per integrare PHP FPM e FastCGI con il server Apache.

sudo a2enmod actions fastcgi alias proxy_fcgi

Ubuntu 18.04 Users:
sudo a2enmod actions fcgid alias proxy_fcgi

Preparati per la configurazione dei siti web sul tuo server Apache. A scopo di test, sto configurando due siti Web per funzionare con due diverse versioni di 2 PHP. Innanzitutto, crea due directory sul tuo server.

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

Ora crea e index.php contenente la funzione phpinfo().

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

Iniziamo la creazione di VirtualHost. Apache mantiene tutti i file di configurazione di VirtualHost in /etc/apache2/sites-disponibili con estensione .conf. Crea un file per il primo host virtuale e modificalo nel tuo editor di testo preferito.

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

Aggiungi il seguente contenuto. Assicurati di utilizzare ServerName e percorso di directory corretti in base alla tua configurazione. Questo sito Web è configurato per funzionare con PHP 5.6.

Apache
12345678910111213 ServerName php56.example.com DocumentRoot /var/www/php56 Opzioni -Indexes +FollowSymLinks +MultiViews AllowOverride All Richiedi tutti concessi # Apache 2.4.10+ può inviare un proxy a unix socket SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost"

Allo stesso modo, crea un secondo file di configurazione di VirtualHost per lavorare con PHP 7.2. Modifica il file di configurazione nell'editor di testo:

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

Aggiungi il seguente contenuto al file con ServerName e DocumentRoot corretti.

Apache
123456789101112 ServerName php72.example.com DocumentRoot /var/www/php72 Opzioni -Indexes +FollowSymLinks +MultiViews AllowOverride All Richiedi tutto concesso SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost"

Entrambi i siti Web sono ora configurati. Ma non sono ancora attivi. Apache mantiene i siti attivi nella directory /etc/apache2/sites-enabled. Puoi semplicemente creare un collegamento simbolico di file di configurazione a questa directory o utilizzare il comando seguente per fare lo stesso.

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

Dopo aver apportato tutte le modifiche, riavvia Apache per ricaricare le nuove modifiche alle impostazioni.

sudo systemctl restart apache2

La tua configurazione è stata completata ora. Vai al passaggio successivo per testare la tua configurazione.

Configurazione del test

Modifica il file /etc/hosts sul tuo sistema locale e inserisci una voce come di seguito. Questo risolverà i nomi temporanei nell'indirizzo IP dell'host locale.

sudo vim /etc/hosts

Aggiungi la voce seguente alla fine del file

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

Apri un browser web e visita entrambi i siti. Vedrai che php56.example.com mostra la versione PHP 5.6 e php72.example.com mostra PHP 7.2 come configurazione.


Ubuntu
  1. Come installare Apache su Ubuntu 18.04

  2. Come installare Apache su Ubuntu 20.04

  3. Come installare più versioni PHP su Ubuntu 18.04 LTS

  4. Come installare Suphp con Apache su Ubuntu/Linux

  5. Come installare PHP 7.4 su Ubuntu 20.04

Come installare SuiteCRM su Ubuntu 20.04 con Apache/Nginx

Come installare MediaWiki su Ubuntu 20.04 con Apache/Nginx

Come installare più versioni di PHP con Apache su Debian 11/10

Come installare PHP 8 su Ubuntu 20.04

Come installare PHP 8 su Ubuntu 18.04

Come installare Apache su Ubuntu 22.04