GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar varias versiones de PHP con Apache en Debian 11/10

En general, el administrador del host utiliza un sistema separado para cada implementación de la aplicación de la versión de PHP. Lo que aumenta el costo de alojamiento. Algunos de los administradores de host utilizan Docker para ejecutar varias versiones de PHP en un único servidor. Además, la mayoría de ustedes conocen la configuración. Es posible que algunos de los administradores del sistema no lo sepan. Este tutorial lo ayudará a instalar varias versiones de PHP con Apache en los sistemas Debian 11, Debian 10 y Debian 9 sin cambiar de versión 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 sigue este tutorial. También puede usar más de dos versiones de PHP con Apache según sea necesario, pero este tutorial solo cubre dos.

Instalación PHP

Para la instalación de versiones de PHP, utilizamos el PPA mantenido aquí. Use los siguientes comandos para agregar el PPA en su sistema Debian.

sudo apt install ca-certificates apt-transport-https 
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list

Este tutorial usa PHP 5.6 y PHP 7.2 para configurar con el servidor web Apache. Para usar las múltiples versiones de PHP, usaremos PHP FPM y FastCGI. Ejecute los siguientes comandos para instalar PHP y FPM en el sistema Debian.

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

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

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

Instalación de Apache

Instale el servidor web Apache desde el repositorio oficial. Inicie la terminal en su sistema o inicie sesión con ssh para sistemas remotos. Ejecute los siguientes comandos para instalar la última versión disponible del servidor web Apache.

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

Configuración de Apache

Ahora habilite algunos 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 el servidor Apache.

sudo a2enmod actions fcgid alias proxy_fcgi

Ahora cree dos directorios separados en su sistema para ambos sitios configurados en su sistema.

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

Ahora, cree un index.php que contenga la función phpinfo(). Esto ayudará a los usuarios a ver y confirmar qué versión de PHP utiliza VirtualHost.

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

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

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

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

Apache

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/php72.example.com.conf

Agregue el siguiente contenido al archivo con ServerName y DocumentRoot adecuados.

Apache
12345678910111213 ServerName php56.example.com DocumentRoot /var/www/php56 Opciones -Índices +FollowSymLinks +MultiViews AllowOverride All Requiere todo concedido # Apache 2.4.10+ puede actuar como proxy en unix socket SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"

Ambos sitios web están configurados ahora. Pero todavía no están activos. Apache mantiene los sitios activos en el directorio /etc/apache2/sites-enabled. 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.example.com
sudo a2ensite php72.example.com

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

sudo systemctl restart apache2

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

Configuración de prueba

Abra un navegador web y visite ambos sitios. Verá que php56.example.com muestra la versión PHP 5.6 y php72.ejemplo.com está mostrando el PHP 7.2 como la configuración.


Debian
  1. Cómo instalar PHP 8.0 en Debian 11

  2. Cómo instalar PHP 8.0 en Debian 10 / Debian 9

  3. Cómo instalar el escritorio XFCE en Debian 10/11

  4. Cómo instalar KDE plasma en Debian 10/11

  5. Cómo instalar PHP 7.4 en Debian 10

Cómo instalar Google Chrome en Debian 10/11

Cómo instalar phpMyAdmin con Apache en Debian 11 / Debian 10

Cómo instalar el último PHP 8.1 en Debian 11/10

Cómo instalar varias versiones de PHP con Apache en Ubuntu 18.04 y 16.04

Cómo instalar Apache con PHP-FPM en Debian 10

Cómo instalar Apache Kafka en Debian 10/9

    123456789101112 ServerName php72.example.com DocumentRoot /var/www/php72 Opciones -Índices +FollowSymLinks +MultiViews AllowOverride All Requiere todo concedido SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"