Añadir el PHP de Ubuntu a Plesk

Plesk incorpora sus propias versiones de PHP que suelen ser las actuales y soportadas por el propio PHP. Pero ¿qué pasa si queremos usar el PHP del propio sistema operativo u otras versiones?

En este caso, por ejemplo si necesitas por alguna razón un PHP 5.6, podemos activar y configurar nuestras propias configuraciones de PHP.

Este tutorial ha sido creado en un VPS de Clouding.io. Puedes crear tu propio VPS desde 3€/mes.

Además, tienes la posibilidad de crear tu VPS con la imagen de WordPress en un clic.

COLABORACIÓN

Este tutorial ha sido creado gracias a una licencia de Plesk.

Consigue tus licencias Plesk desde su sitio web o en tu proveedor de alojamiento.

COLABORACIÓN

Para hacer todo este proceso usaremos parcialmente un acceso SSH y el panel de Plesk.

Estableciendo la base

Lo primero que haremos es actualizar el sistema operativo y validar que todo está al día.

apt -y update && apt -y upgrade && apt -y dist-upgrade && apt -y autoremove

Una vez lo hagamos podemos validar que todas las versiones de PHP del propio Plesk están al día desde el Plesk Installer.

¿Necesitamos activar el PHP from OS vendor? En principio no, porque vamos a instalar nuestras propias versiones y no propiamente la del sistema operativo.

Para validar lo que hay instalado, podemos hacer un listado.

plesk bin php_handler --list

Que nos devuelve una lista tal que esta.

                  id:  display name:  full version:  version:    type:                         cgi-bin:                    php-cli:                        php.ini:  custom:  status:
      plesk-php73-cgi         7.3.28         7.3.28       7.3      cgi   /opt/plesk/php/7.3/bin/php-cgi  /opt/plesk/php/7.3/bin/php  /opt/plesk/php/7.3/etc/php.ini     true disabled
  plesk-php73-fastcgi         7.3.28         7.3.28       7.3  fastcgi   /opt/plesk/php/7.3/bin/php-cgi  /opt/plesk/php/7.3/bin/php  /opt/plesk/php/7.3/etc/php.ini     true disabled
      plesk-php73-fpm         7.3.28         7.3.28       7.3      fpm  /opt/plesk/php/7.3/sbin/php-fpm  /opt/plesk/php/7.3/bin/php  /opt/plesk/php/7.3/etc/php.ini     true  enabled
      plesk-php74-cgi         7.4.18         7.4.18       7.4      cgi   /opt/plesk/php/7.4/bin/php-cgi  /opt/plesk/php/7.4/bin/php  /opt/plesk/php/7.4/etc/php.ini     true disabled
  plesk-php74-fastcgi         7.4.18         7.4.18       7.4  fastcgi   /opt/plesk/php/7.4/bin/php-cgi  /opt/plesk/php/7.4/bin/php  /opt/plesk/php/7.4/etc/php.ini     true disabled
      plesk-php74-fpm         7.4.18         7.4.18       7.4      fpm  /opt/plesk/php/7.4/sbin/php-fpm  /opt/plesk/php/7.4/bin/php  /opt/plesk/php/7.4/etc/php.ini     true  enabled
      plesk-php80-cgi          8.0.5          8.0.5       8.0      cgi   /opt/plesk/php/8.0/bin/php-cgi  /opt/plesk/php/8.0/bin/php  /opt/plesk/php/8.0/etc/php.ini     true disabled
  plesk-php80-fastcgi          8.0.5          8.0.5       8.0  fastcgi   /opt/plesk/php/8.0/bin/php-cgi  /opt/plesk/php/8.0/bin/php  /opt/plesk/php/8.0/etc/php.ini     true disabled
      plesk-php80-fpm          8.0.5          8.0.5       8.0      fpm  /opt/plesk/php/8.0/sbin/php-fpm  /opt/plesk/php/8.0/bin/php  /opt/plesk/php/8.0/etc/php.ini     true  enabled

Lo que queremos es incluir nuestras propias versiones a esta lista.

Instalando el PHP de Ubuntu

Activaremos el repositorio más conocido para dar soporte a PHP.

add-apt-repository -y -s ppa:ondrej/php

E instalaremos las siguientes versiones. La primera de ellas, PHP 5.6.

apt -y install php5.6 php5.6-apcu php5.6-bcmath php5.6-cgi php5.6-cli php5.6-common php5.6-curl php5.6-dba php5.6-dev php5.6-fpm php5.6-gd php5.6-gmp php5.6-http php5.6-igbinary php5.6-imagick php5.6-imap php5.6-intl php5.6-json php5.6-mbstring php5.6-mcrypt php5.6-msgpack php5.6-mysql php5.6-mysqlnd-ms php5.6-opcache php5.6-redis php5.6-soap php5.6-ssh2 php5.6-tidy php5.6-uploadprogress php5.6-xml php5.6-xmlrpc php5.6-xsl php5.6-zip

También PHP 7.3.

apt -y install php7.3 php7.3-fpm php7.3-cgi php7.3-common php7.3-dev php7.3-cli php7.3-bcmath php7.3-curl php7.3-gd php7.3-imap php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-soap php7.3-xml php7.3-xmlrpc php7.3-zip php-imagick php-pear php-ssh2 php-xdebug libgeoip-dev

También PHP 7.4.

apt -y install php7.4 php7.4-fpm php7.4-cgi php7.4-common php7.4-dev php7.4-cli php7.4-bcmath php7.4-curl php7.4-gd php7.4-imap php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-soap php7.4-xml php7.4-xmlrpc php7.4-zip php-imagick php-pear php-ssh2 php-xdebug libgeoip-dev

Y, finalmente, PHP 8.0.

apt -y install php8.0 php8.0-fpm php8.0-cgi php8.0-common php8.0-dev php8.0-cli php8.0-bcmath php8.0-curl php8.0-gd php8.0-imap php8.0-mbstring php8.0-mysql php8.0-opcache php8.0-soap php8.0-xml php8.0-zip php8.0-xdebug php8.0-imagick

Ahora que tenemos nuestras versiones, vamos a activar (sólo las versiones FPM, pero se podrían activar también las CGI) para que Plesk las pueda utilizar.

Activaremos según necesitemos. La primera será la del PHP 5.6.

plesk bin php_handler --add -displayname '5.6-FPM (Ubuntu)' -path /usr/sbin/php-fpm5.6 -phpini /etc/php/5.6/fpm/php.ini -type fpm -id fpm56 -clipath /usr/sbin/php-fpm5.6 -service php5.6-fpm -poold /etc/php/5.6/fpm/pool.d

También PHP 7.3.

plesk bin php_handler --add -displayname '7.3-FPM (Ubuntu)' -path /usr/sbin/php-fpm7.3 -phpini /etc/php/7.3/fpm/php.ini -type fpm -id fpm73 -clipath /usr/sbin/php-fpm7.3 -service php7.3-fpm -poold /etc/php/7.3/fpm/pool.d

Continuamos con PHP 7.4.

plesk bin php_handler --add -displayname '7.4-FPM (Ubuntu)' -path /usr/sbin/php-fpm7.4 -phpini /etc/php/7.4/fpm/php.ini -type fpm -id fpm74 -clipath /usr/sbin/php-fpm7.4 -service php7.4-fpm -poold /etc/php/7.4/fpm/pool.d

Y acabamos con PHP 8.0.

plesk bin php_handler --add -displayname '8.0-FPM (Ubuntu)' -path /usr/sbin/php-fpm8.0 -phpini /etc/php/8.0/fpm/php.ini -type fpm -id fpm80 -clipath /usr/sbin/php-fpm8.0 -service php8.0-fpm -poold /etc/php/8.0/fpm/pool.d

Validaremos de nuevo la lista.

plesk bin php_handler --list

Donde nos deberán aparecer los nuevos identificadores que hemos añadido.

                  id:     display name:  full version:  version:    type:                         cgi-bin:                    php-cli:                        php.ini:  custom:  status:
                fpm56  5.6-FPM (Ubuntu)         5.6.40       5.6      fpm             /usr/sbin/php-fpm5.6        /usr/sbin/php-fpm5.6        /etc/php/5.6/fpm/php.ini     true  enabled
                fpm73  7.3-FPM (Ubuntu)         7.3.28       7.3      fpm             /usr/sbin/php-fpm7.3        /usr/sbin/php-fpm7.3        /etc/php/7.3/fpm/php.ini     true  enabled
                fpm74  7.4-FPM (Ubuntu)         7.4.18       7.4      fpm             /usr/sbin/php-fpm7.4        /usr/sbin/php-fpm7.4        /etc/php/7.4/fpm/php.ini     true  enabled
                fpm80  8.0-FPM (Ubuntu)          8.0.5       8.0      fpm             /usr/sbin/php-fpm8.0        /usr/sbin/php-fpm8.0        /etc/php/8.0/fpm/php.ini     true  enabled
      plesk-php73-cgi            7.3.28         7.3.28       7.3      cgi   /opt/plesk/php/7.3/bin/php-cgi  /opt/plesk/php/7.3/bin/php  /opt/plesk/php/7.3/etc/php.ini     true disabled
      plesk-php80-fpm             8.0.5          8.0.5       8.0      fpm  /opt/plesk/php/8.0/sbin/php-fpm  /opt/plesk/php/8.0/bin/php  /opt/plesk/php/8.0/etc/php.ini     true  enabled
      plesk-php80-cgi             8.0.5          8.0.5       8.0      cgi   /opt/plesk/php/8.0/bin/php-cgi  /opt/plesk/php/8.0/bin/php  /opt/plesk/php/8.0/etc/php.ini     true disabled
      plesk-php74-cgi            7.4.18         7.4.18       7.4      cgi   /opt/plesk/php/7.4/bin/php-cgi  /opt/plesk/php/7.4/bin/php  /opt/plesk/php/7.4/etc/php.ini     true disabled
      plesk-php73-fpm            7.3.28         7.3.28       7.3      fpm  /opt/plesk/php/7.3/sbin/php-fpm  /opt/plesk/php/7.3/bin/php  /opt/plesk/php/7.3/etc/php.ini     true  enabled
  plesk-php80-fastcgi             8.0.5          8.0.5       8.0  fastcgi   /opt/plesk/php/8.0/bin/php-cgi  /opt/plesk/php/8.0/bin/php  /opt/plesk/php/8.0/etc/php.ini     true disabled
      plesk-php74-fpm            7.4.18         7.4.18       7.4      fpm  /opt/plesk/php/7.4/sbin/php-fpm  /opt/plesk/php/7.4/bin/php  /opt/plesk/php/7.4/etc/php.ini     true  enabled
  plesk-php74-fastcgi            7.4.18         7.4.18       7.4  fastcgi   /opt/plesk/php/7.4/bin/php-cgi  /opt/plesk/php/7.4/bin/php  /opt/plesk/php/7.4/etc/php.ini     true disabled
  plesk-php73-fastcgi            7.3.28         7.3.28       7.3  fastcgi   /opt/plesk/php/7.3/bin/php-cgi  /opt/plesk/php/7.3/bin/php  /opt/plesk/php/7.3/etc/php.ini     true disabled

Seleccionando desde Plesk

Si nos vamos a la configuración de PHP de nuestro dominio, ahora tendremos la posibilidad de seleccionar distintas versiones, incluidas nuestras nuevas versiones de PHP.

Lo interesante es que podremos tener una configuración de php.ini distinta a la que viene por defecto con Plesk, configurada a nuestra manera y con las extensiones que decidamos.


Sobre este documento

Este documento está regulado por la licencia EUPL v1.2, publicado en WP SysAdmin y creado por Javier Casares. Por favor, si utilizas este contenido en tu sitio web, tu presentación o cualquier material que distribuyas, recuerda hacer una mención a este sitio o a su autor, y teniendo que poner el material que crees bajo licencia EUPL.