Cómo instalar PHP 5.6 y 7.0 – 8.2 con PHP-FPM y modo FastCGI para ISPConfig 3.2 con apt en Ubuntu 18.04 – 22.04
Cuando utilizas ISPConfig, por defecto, sólo tienes la versión principal de PHP para tu distribución. Esta guía te mostrará cómo instalar múltiples versiones de PHP (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.1 y 8.2) en un servidor Ubuntu con ISPConfig. Existe una guía similar para múltiples versiones de PHP para sistemas Debian, que puedes encontrar aquí.
Tras instalar las versiones adicionales, puedes seleccionarlas para usarlas en sitios web específicos tanto en modo PHP-FPM como FastCGI en ISPConfig. Esta guía es compatible con el servidor web apache y también con el servidor web nginx.
1 Nota preliminar
En esta guía, añadirás el repositorio SURY repositorio adicional desde el que instalar los paquetes PHP con apt. Debido a que otros paquetes, como OpenSSL, también se actualizan, los paquetes instalados desde sury.org no pueden eliminarse simplemente después de la instalación. Así que no elimines SURY como fuente de repositorio más adelante.
Ten en cuenta que PHP-FPM puede utilizarse en servidores Apache y Nginx, mientras que FastCGI sólo está disponible para servidores Apache.
2 Añade el repositorio SURY
Añade el repositorio:
add-apt-repository -y ppa:ondrej/php
Ahora actualiza la lista de paquetes:
apt-get update
Para actualizar los paquetes ya instalados desde el nuevo repositorio utiliza este comando:
apt-get upgrade
3 Instala versiones adicionales de PHP
No tienes que instalar todas las versiones que aparecen aquí, instala las que necesites.
3.1 Instalar PHP 5.6
Para instalar PHP utiliza este comando:
apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml
3.2 Instalar PHP 7.0
Para instalar PHP utiliza este comando:
apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml
3.3 Instalar PHP 7.1
Para instalar PHP utiliza este comando
apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml
3.4 Instalar PHP 7.2
Para instalar PHP utiliza este comando:
apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml
3.5 Instalar PHP 7.3
Para instalar PHP utiliza este comando
apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml
3.6 Instalar PHP 7.4
Para instalar PHP 7.4 utiliza este comando:
apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml
3.7 Instalar PHP 8.0
Para instalar PHP 8.0 utiliza este comando:
apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml
3.8 Instalar PHP 8.1
Para instalar PHP 8.1 utiliza este comando:
apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml
3.9 Instalar PHP 8.2
Para instalar PHP 8.2 utiliza este comando:
apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xsl php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache libonig5 php8.2-common php8.2-readline php8.2-xml
4 Restablecer el PHP por defecto del sistema operativo a la versión correcta
El PHP por defecto del sistema operativo debe permanecer en la versión original. Para solucionarlo, ejecuta estos comandos uno a uno:
update-alternatives --config php update-alternatives --config php-cgi update-alternatives --config php-fpm.sock
En Ubuntu 18.04, elige 7.2, en Ubuntu 20.04, elige 7.4, en Ubuntu 22.04, elige 8.1.
5 Añadir versiones de PHP a ISPConfig
En ISPConfig 3, puedes configurar las nuevas versiones PHP en Sistema > Versiones PHP adicionales > Añadir nueva versión PHP.
Añadir la versión PHP por defecto de la distribución
Primero tienes que añadir una nueva versión para la versión PHP ya instalada. La versión por defecto depende de la distribución en la que te encuentres:
Ubuntu 18.04: PHP 7.2
Ubuntu 20.04: PHP 7.4
Ubuntu 22.04: PHP 8.1
Consulta a continuación la configuración para tu versión.
Configuración para las versiones adicionales de PHP
PHP 5.6
Configuración de Fast-CGI:
Path to the PHP FastCGI binary: /usr/bin/php-cgi5.6 Path to the php.ini directory: /etc/php/5.6/cgi/
Configuración de PHP-FPM:
Path to the PHP-FPM init script: php5.6-fpm Path to the php.ini directory: /etc/php/5.6/fpm/ Path to the PHP-FPM pool directory: /etc/php/5.6/fpm/pool.d
La versión cli para, por ejemplo, trabajos cron, tiene el nombre php5.6
PHP 7.0
Configuración Fast-CGI:
Path to the PHP FastCGI binary: /usr/bin/php-cgi7.0 Path to the php.ini directory: /etc/php/7.0/cgi/
Configuración PHP-FPM:
Path to the PHP-FPM init script: php7.0-fpm Path to the php.ini directory: /etc/php/7.0/fpm/ Path to the PHP-FPM pool directory: /etc/php/7.0/fpm/pool.d
La versión cli para, por ejemplo, los cron jobs, tiene el nombre php7 .0
PHP 7.1
Configuración Fast-CGI:
Path to the PHP FastCGI binary: /usr/bin/php-cgi7.1 Path to the php.ini directory: /etc/php/7.1/cgi/
Configuración PHP-FPM:
Path to the PHP-FPM init script: php7.1-fpm Path to the php.ini directory: /etc/php/7.1/fpm/ Path to the PHP-FPM pool directory: /etc/php/7.1/fpm/pool.d
La versión cli para, por ejemplo, las tareas cron, tiene el nombre php7 .1
PHP 7.2
Configuración Fast-CGI:
Path to the PHP FastCGI binary: /usr/bin/php-cgi7.2 Path to the php.ini directory: /etc/php/7.2/cgi/
Configuración PHP-FPM:
Path to the PHP-FPM init script: php7.2-fpm Path to the php.ini directory: /etc/php/7.2/fpm/ Path to the PHP-FPM pool directory: /etc/php/7.2/fpm/pool.d
La versión cli para, por ejemplo, las tareas cron, tiene el nombre php7 .2
PHP 7.3
Configuración Fast-CGI:
Path to the PHP FastCGI binary: /usr/bin/php-cgi7.3 Path to the php.ini directory: /etc/php/7.3/cgi/
Configuración PHP-FPM:
Path to the PHP-FPM init script: php7.3-fpm Path to the php.ini directory: /etc/php/7.3/fpm/ Path to the PHP-FPM pool directory: /etc/php/7.3/fpm/pool.d
La versión cli para, por ejemplo, las tareas cron, tiene el nombre php7 .3
PHP 7.4
Configuración Fast-CGI:
Path to the PHP FastCGI binary: /usr/bin/php-cgi7.4 Path to the php.ini directory: /etc/php/7.4/cgi/
Configuración PHP-FPM:
Path to the PHP-FPM init script: php7.4-fpm Path to the php.ini directory: /etc/php/7.4/fpm/ Path to the PHP-FPM pool directory: /etc/php/7.4/fpm/pool.d
La versión de cli para, por ejemplo, los cron jobs, tiene el nombre php7 .4
PHP 8.0
Configuración Fast-CGI:
Path to the PHP FastCGI binary: /usr/bin/php-cgi8.0 Path to the php.ini directory: /etc/php/8.0/cgi/
Configuración PHP-FPM:
Path to the PHP-FPM init script: php8.0-fpm Path to the php.ini directory: /etc/php/8.0/fpm/ Path to the PHP-FPM pool directory: /etc/php/8.0/fpm/pool.d
La versión cli para, por ejemplo, las tareas cron, tiene el nombre php8 .0
PHP 8.1
Configuración Fast-CGI:
Path to the PHP FastCGI binary: /usr/bin/php-cgi8.1 Path to the php.ini directory: /etc/php/8.1/cgi/
Configuración PHP-FPM:
Path to the PHP-FPM init script: php8.1-fpm Path to the php.ini directory: /etc/php/8.1/fpm/ Path to the PHP-FPM pool directory: /etc/php/8.1/fpm/pool.d
La versión cli para, por ejemplo, las tareas cron tiene el nombre php8 .1
PHP 8.2
Configuración Fast-CGI:
Path to the PHP FastCGI binary: /usr/bin/php-cgi8.2 Path to the php.ini directory: /etc/php/8.2/cgi/
Configuración PHP-FPM:
Path to the PHP-FPM init script: php8.2-fpm Path to the php.ini directory: /etc/php/8.2/fpm/ Path to the PHP-FPM pool directory: /etc/php/8.2/fpm/pool.d
La versión cli para, por ejemplo, las tareas cron tiene el nombre php8 .2
6 Conclusión
Ahora puedes elegir una versión adicional de PHP para tus sitios web. No se recomienda cambiar la versión de PHP por defecto del SO (cambiar la versión de PHP) ya que muchos paquetes, incluido ISPConfig, dependen de ello y esto probablemente rompería tu servidor. Si tienes alguna pregunta, abre un hilo de conversación en el foro.