Cómo instalar múltiples versión de PHP con Apache en Ubuntu 20.04

Cómo instalar múltiples versión de PHP con Apache en Ubuntu 20.04

En general, el administrador del host usó un servidor separado para cada implementación de la aplicación de la versión PHP. Que aumenta el costo de alojamiento. Algunos de los gerentes de host están utilizando Docker para ejecutar múltiples versión de PHP en el servidor único. Además, la mayoría de ustedes conoce la configuración, utilicé en este tutorial. Pero algunos de los administradores del sistema no son conscientes de esto. Este tutorial lo ayudará a instalar múltiples versión de PHP con Apache en Ubuntu 20.04 Sistema Linux sin cambiar las versiones de PHP.

Este tutorial describe la instalación y la configuración de dos virtualhost en Apache con versiones PHP separadas. First Virtualhost funcionará con PHP 5.6 y otro virtualhost se ejecutará con PHP 7.2. Así que solo pasa por este tutorial. También puede usar más de dos versiones PHP con Apache según sea necesario, pero este tutorial cubre dos solo.

Instalación de Apache

Los paquetes de servidor web Apache están disponibles en los repositorios predeterminados. Abra un terminal en su sistema Ubuntu, luego ejecute los siguientes comandos para instalar la última versión disponible del servidor web Apache.

SUDO APT UPDATY APT APT INSTALA APACHE2 LBAPACHE2-MOD-FCGID 

Instalando PHP

Se mantiene un PPA para la instalación de PHP en sistemas Ubuntu desde un año largo. Solo necesita agregar ese PPA a su sistema para instalar paquetes. Use el siguiente par de comandos para agregar el PPA a su sistema.

sudo apt install software-properties-común sudo add-apt-repository PPA: OnDrej/PHP 

Para este tutorial, estamos usando el PHP 5.6 y Php 7.4 para configurar con Apache Web Server. Para usar las múltiples versiones de PHP, usaremos PHP FPM y FastCGI. Instale los siguientes paquetes en su sistema.

Sudo Apt Update -Y Sudo Apt Install PhP5.6 php5.6 -FPM -Y SUDO APT INSTALL PHP7.4 php7.4 -FPM -Y 

Después de la instalación, los servicios PHP-FPM se iniciarán automáticamente. Use los siguientes comandos para asegurarse de que ambos servicios se estén ejecutando.

SUDO SYSTEMCTL ESTADO PHP5.6-FPM SUDO SYSTEMCTL ESTADO PHP7.4-FPM 
  • Recomendado: Cómo habilitar/deshabilitar los módulos PHP en Ubuntu

Configurar Apache con múltiples PHP

Ahora habilite pocos módulos requeridos para la configuración de múltiples versiones de PHP con Apache. Estos módulos son necesarios para integrar PHP FPM y FASTCGI con Apache Server.

Sudo A2enMod Actions Fcgid alias proxy_fcgi 

Prepárese para la configuración de sitios web en su servidor Apache. Para el propósito de prueba, estoy configurando dos sitios web para trabajar con dos versiones de 2 PHP diferentes. Primero, cree dos directorios en su servidor.

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

Ahora, crea e indexa.PHP que contiene el phpinfo (); función.

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

Comencemos la creación de virtualhost. Apache mantiene todos los archivos de configuración VirtualHost en/etc/apache2/sites disponible con la extensión .confusión. Cree un archivo para el primer host virtual y edite en su editor de texto favorito.

sudo vim/etc/apache2/sites disponible/php56.ejemplo.comunicarse.confusión 

Agregar el siguiente contenido. Asegúrese de usar el nombre de servidor correcto y la ruta de directorio de acuerdo con su configuración. Este sitio web está configurado para funcionar con PHP 5.6.

ServerName PHP56.ejemplo.com documentroot/var/www/php56 -app options -dexes +seartsymlinks +múltiples vistas de alumnos que requieren todos los # apache 2 otorgados otorgados.4.10+ puede proxy a unix socket sethandler "proxy: unix:/var/run/php/php5.6-FPM.calcetín | fcgi: // localhost "
12345678910111213 ServerName PHP56.ejemplo.com documentroot/var/www/php56-app Opciones -dexes +SIGESYMLINKS +MULTIVIEWS DESFORTOVERRide, todos requieren todo lo que se otorgan # Apache 2.4.10+ puede proxy a unix socket sethandler "proxy: unix:/var/run/php/php5.6-FPM.calcetín | fcgi: // localhost "

Del mismo modo, cree un segundo archivo de configuración VirtualHost para funcionar con PHP 7.2. Editar el archivo de configuración en el editor de texto:

sudo vim/etc/apache2/sites disponible/php74.ejemplo.comunicarse.confusión 

Agregue el siguiente contenido a archivar con el nombre de servidor adecuado y documentroot.

ServerName PHP72.ejemplo.com documentRoot/var/www/php74 -app options -dexes +sheatSymlinks +múltiples vistas de alumnos que requieren todos los sethandler otorgado "proxy: unix:/var/run/php/php7.4-FPM.calcetín | fcgi: // localhost "
123456789101112 ServerName PHP72.ejemplo.com documentroot/var/www/php74-app Opciones -dexes +SIGESYMLINKS +MULTIVIEWS DESFORTOVERRide, todos requieren todo lo que se otorgan Sethandler "proxy: unix:/var/run/php/php7.4-FPM.calcetín | fcgi: // localhost "

Ustedes ambos sitios web están configurados ahora. Pero todavía no están activos. Apache mantiene los sitios activos en el directorio habilitado para/etc/apache2/sites. Simplemente puede crear un enlace simbólico de archivos de configuración a este directorio o usar el siguiente comando para hacer lo mismo.

sudo a2ensite php56.ejemplo.com sudo a2ensite php74.ejemplo.comunicarse 

Después de hacer todos los cambios, reinicie Apache para recargar nuevos cambios de configuración.

sudo systemctl reiniciar apache2 

Tu configuración se ha completado ahora. Vaya al siguiente paso para probar su configuración.

Pon a prueba tu configuración

Editar /etc /hosts archivo en su sistema local y hacer una entrada como a continuación. Esto resolverá los nombres temporales en la dirección IP localhost.

sudo vim /etc /hosts 

Agregue la siguiente entrada al final del archivo

127.0.0.1 Php74.ejemplo.com 127.0.0.1 Php56.ejemplo.comunicarse 

Abra un navegador web y visite ambos sitios. Verás que php56.ejemplo.comunicarse muestra la versión Php 5.6 y php74.ejemplo.comunicarse está mostrando el Php 7.4 Como la configuración.

http: // php74.ejemplo.comunicarse:

http: // php56.ejemplo.comunicarse:

Conclusión

Este tutorial le ayuda a configurar múltiples sitios web con una versión diferente de 2 php en un único servidor Apache en un Ubuntu 20.04 sistema.