Como instalar varias versiones de PHP con Apache en Ubuntu 20.04

Qué tal aquí Kiko. Os traigo un nuevo post sobre el sistema operativo mas molón. Un placer linuxeros.

Generalmente, el gestor de anfitriones utilizaba un servidor separado para cada despliegue de aplicaciones de la versión PHP. Lo que aumenta el costo de alojamiento. Algunos de los gestores de anfitriones utilizan Docker para ejecutar varias versiones de PHP en el servidor único. Además, la mayoría de ustedes son conscientes de la configuración que he utilizado en este tutorial. Pero algunos administradores del sistema no son conscientes. Este tutorial le ayudará a instalar varias versiones de PHP con Apache al sistema Linux Ubuntu 4.20 sin cambiar las versiones de PHP.

Este tutorial describe la instalación y configuración de dos VirtualHost en Apache con versiones PHP separadas. Primero VirtualHost funcionará con PHP 5.6 y otro VirtualHost funcionará con PHP 7.2. Así que sólo tiene que pasar por este tutorial. También puede utilizar más de dos versiones de PHP con Apache según sea necesario, pero este tutorial sólo cubre dos.

Instalación de Apache

Los paquetes de servidor web Apache están disponibles en los depósitos predeterminados. Abra un terminal en su sistema Ubuntu y, a continuación, ejecute los siguientes comandos para instalar la versión más reciente disponible del servidor web Apache.

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

Instalación de PHP

Se mantiene un PPA para la instalación de PHP en sistemas Ubuntu desde hace años. Sólo hay que añadir este PPA en su sistema de instalación de paquetes. Utilice el siguiente par de órdenes para añadir el PPA en su sistema.

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

Para este tutorial, utilizamos PHP 5.6 y PHP 7.4 para configurarlo con el servidor web Apache. Para utilizar las múltiples versiones de PHP, utilizaremos PHP FPM y FastCGI. Instalamos los paquetes siguientes 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 iniciarán automáticamente. Utilice los siguientes comandos para asegurarse de que ambos servicios se ejecuten.

sudo systemctl status php5.6-fpm
sudo systemctl status php7.4-fpm

Configure Apache con varios PHP

Ahora habilite varios módulos necesarios para la configuración de varias versiones de PHP con Apache. Estos módulos son necesarios para integrar PHP FPM y FastCGI con el servidor Apache.

sudo a2enmod actions fcgid alias proxy_fcgi

Prepárese para la configuración de sitios web en el servidor Apache. A efectos de pruebas, estoy configurando dos sitios web para que funcionen con dos versiones de PHP diferentes. En primer lugar, cree dos directorios en el servidor.

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

Ahora, crear y index.php que contenga el archivo phpinfo(); función.

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

Empezamos la creación de VirtualHost. Apache mantiene todos los archivos de configuración de VirtualHost en / etc / apache2 / sites-available con la extensión .conf. Cree un archivo para el primer host virtual y editar el archivo en el editor de texto preferido.

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

Agregue el siguiente. Asegúrese de utilizar el nombre de servidor y el camino de directorio correctos según su configuración. Este sitio web está configurado para funcionar con PHP 5.6.

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

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

Agregue el siguiente al fichero con ServerName y DocumentRoot adecuados.

Los dos sitios web ya está configurados. Pero aún 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 ficheros de configuración en este directorio o utilizar el siguiente comando para hacer lo mismo.

sudo a2ensite php56.example.com
sudo a2ensite php74.example.com

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

sudo systemctl restart apache2

La configuración se ha completado ahora. Vaya al siguiente paso para probar la configuración.

Pruebe la configuración

Edite el archivo / etc / hosts en el sistema local y haga una entrada como la siguiente. Esto resolverá los nombres temporales a la dirección IP localhost.

sudo vim /etc/hosts

Agregue la entrada siguiente al final del archivo

127.0.0.1   php74.example.com
127.0.0.1   php56.example.com

Abra un navegador web y visite los dos lugares. Ya lo verá php56.example.com muestra la versión PHP 5.6 y php74.example.com está mostrando el PHP 7.4 como configuración.

http://php74.example.com:

Configuración de Apache Versión múltiple de PHP en Ubuntu 20.04

http://php56.example.com:

Configure PHP múltiple con Apache en Ubuntu 20.04

conclusión

Este tutorial le ayuda a configurar varios sitios web con una versión de PHP diferente de 2 en un servidor Apache único en un sistema Ubuntu 4.20.

Este Blog lo escribimos para colaborar y servir de referencia a la comunidad Linux. Esperamos que os guste.

Leave a Reply