Cómo instalar PHP 5.6 y 7.0 – 8.2 con PHP-FPM y modo FastCGI para ISPConfig 3.2 con apt en Debian 9 a 11
Cuando utilizas ISPConfig, por defecto, sólo tienes la versión principal de PHP para tu distribución. Esta guía te llevará a través de la instalación de versiones adicionales de PHP (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.1 y 8.2) en un servidor Debian con ISPConfig. Existe una guía similar para sistemas Ubuntu, que puedes encontrar aquí.
Tras instalar las versiones adicionales, puedes seleccionarlas para utilizarlas en sitios web concretos, tanto en modo PHP-FPM como FastCGI.
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
Primero instala los paquetes necesarios:
apt-get install -y apt-transport-https lsb-release ca-certificates
Ahora añade la clave del repositorio ejecutando este comando:
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg >/dev/null 2>&1
y el propio repositorio:
echo "deb https://packages.sury.org/php/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/php.list
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 Instalar 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 arreglarlo, ejecuta estos comandos uno a uno:
update-alternatives --config php update-alternatives --config php-cgi update-alternatives --config php-fpm.sock
En Debian 11, elige 7.4, en Debian 10, elige 7.3, en Debian 9, elige PHP 7.0.
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:
Debian 9: PHP 7.0
Debian 10: PHP 7.3
Debian 11: PHP 7.4
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 cli para, por ejemplo, las tareas cron 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. Si tienes alguna duda, abre un hilo de conversación en el foro.