Instalar PHP 5.5 / 5.6 en Centos 7 64bits con plesk 12

Instalar PHP 5.5 / 5.6 en Centos 7 64bits con plesk 12

¿Necesitas instalar PHP 5.5 en Centos 7 64bits con plesk 12?

Esta entrada te ayudará, aquí te explico como hacerlo.

Si últimamente has contratado un servidor dedicado o VPS para tu proyecto web, has elegido CentOS 7 64bits como sistema operativo, Plesk 12  y quieres usar una versión moderna de PHP como puede ser la 5.5 o la 5.6 puede ser que tengas el mismo inconveniente que yo. Plesk 12 viene con la versión 5.4. Seguramente tengas que instalar la 5.5 o 5.6 manualmente, como he tenido que hacer yo. Tranquilo puedo ayudarte.

En mi caso he contratado un VPS de nivel 2 en Arsys, contacta conmigo si quieres que te ayude con la contratación. Y necesito PHP5.5, navegando por Github encontré un script que me sirvió a mi, era para Centos 6 y una versión anterior a la 12 de Plesk.

Lo he probado en Centos 7 64bits con Plesk 12 y funciona perfectamente. A continuación voy a detallar un poco el proceso para que no tengas ningún problema.

También lo he subido a github por si queréis añadir sugerencias o seguirme:

https://github.com/miguelgomezsa/PHP5.5-centos7-64bits-plesk12/blob/master/install.ssh

Aquí el script que podéis ejecutar en vuestro CentOS 7, (también funciona en Centos 6) lo podéis ejecutar copiando el siguiente texto en un archivo con nombre install.ssh por ejemplo y ejecutarlo, debeís ser root para hacerlo ./install.sh :

#!/bin/bash
 
# Asegúrate de que estás actualizado
yum -y update && yum -y install wget
 
# Instala el repositorio de EPEL 
rpm -ivh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
 
# Crea un directorio limpio
mkdir /php
cd /php
 
# Instala las dependencias PHP
yum -y install gcc make gcc-c++ cpp kernel-headers.x86_64 libxml2-devel openssl-devel \
    bzip2-devel libjpeg-devel libpng-devel freetype-devel openldap-devel postgresql-devel \
    aspell-devel net-snmp-devel libxslt-devel libc-client-devel libicu-devel gmp-devel curl-devel \
    libmcrypt-devel unixODBC-devel pcre-devel sqlite-devel db4-devel enchant-devel libXpm-devel \
    mysql-devel readline-devel libedit-devel recode-devel libtidy-devel libtool-ltdl-devel
    
# Descarga PHP puedes sustituir 5.5.20 por 5.6.7 para instarlar la versión 5.6 de PHP
wget https://nl1.php.net/get/php-5.5.20.tar.gz/from/this/mirror -O /php/php-5.5.20.tar.gz
 
# Descomprime el fichero que acabamos de descargar
tar xzvf /php/php-5.5.20.tar.gz
 
# Nos movemos a la carpeta extraída
cd /php/php-5.5.20
 
# Configuramos el constructor para posteriormente compilarlo
./configure \
    --with-libdir=lib64 \
    --cache-file=./config.cache \
    --prefix=/php/php-5.5.20 \
    --with-config-file-path=/php/php-5.5.20/etc \
    --disable-debug \
    --with-pic \
    --disable-rpath \
    --with-bz2 \
    --with-curl \
    --with-freetype-dir=/php/php-5.5.20 \
    --with-png-dir=/php/php-5.5.20 \
    --enable-gd-native-ttf \
    --without-gdbm \
    --with-gettext \
    --with-gmp \
    --with-iconv \
    --with-jpeg-dir=/php/php-5.5.20 \
    --with-openssl \
    --with-pspell \
    --with-pcre-regex \
    --with-zlib \
    --enable-exif \
    --enable-ftp \
    --enable-sockets \
    --enable-sysvsem \
    --enable-sysvshm \
    --enable-sysvmsg \
    --enable-wddx \
    --with-kerberos \
    --with-unixODBC=/usr \
    --enable-shmop \
    --enable-calendar \
    --with-libxml-dir=/php/php-5.5.20 \
    --enable-pcntl \
    --with-imap \
    --with-imap-ssl \
    --enable-mbstring \
    --enable-mbregex \
    --with-gd \
    --enable-bcmath \
    --with-xmlrpc \
    --with-ldap \
    --with-ldap-sasl \
    --with-mysql=/usr \
    --with-mysqli \
    --with-snmp \
    --enable-soap \
    --with-xsl \
    --enable-xmlreader \
    --enable-xmlwriter \
    --enable-pdo \
    --with-pdo-mysql \
    --with-pear=/php/php-5.5.20/pear \
    --with-mcrypt \
    --without-pdo-sqlite \
    --with-config-file-scan-dir=/php/php-5.5.20/php.d \
    --without-sqlite3 \
    --enable-intl \
    --enable-opcache
    
# Construimos e instalamos
make && make install
 
# Creamos el php.ini por defecto
mkdir /php/php-5.5.20/etc
cp -a /etc/php.ini /php/php-5.5.20/etc/php.ini
 
# Configuramos la zona horaria
timezone=$(grep -oP '(?<=")\w+/\w+' /etc/sysconfig/clock)
sed -i "s#;date.timezone =#date.timezone = $timezone#" /php/php-5.5.20/etc/php.ini
 
# Registramos nuestra nueva versión de PHP en Plesk
/usr/local/psa/bin/php_handler \
    --add \
    -displayname "5.5.20" \
    -path /php/php-5.5.20/bin/php-cgi \
    -phpini /php/php-5.5.20/etc/php.ini \
    -type fastcgi \
    -id "fastcgi-5.5.20"


Este script también puede funcionar para instalar la versión 5.6 si cambias “php-5.5.20” por “php-5.6.7

Bien, una vez ejecutado el script. Hay que configurar en Plesk la versión PHP para que por defecto sea PHP 5.5. Desde Plesk, tenemos que ir a Planes de servicio > Parámetros de hosting. Y en la parte inferior escoger PHP 5.5 en la opción “Versión de PHP”.

Aquí adjunto imagen:

 

 configuración de suscripciones - Plesk 12

 

Si lo que queremos es configurar la versión de PHP por cada dominio. Entramos en el panel de control de nuestro dominio (vista power User). Y nos vamos a configuración de hosting.

 

Configuración de hosting  - Plesk 12

 

A continuación nos aparecerán las distintas opciones que podemos configurar. Entre ellas la versión de PHP. Seleccionamos la versión PHP 5.5 y le damos a “aceptar”.

 

Versión de PHP - Plesk 12

 

Eso es todo, podeís comprobar la versión ejecutando en la consola la siguiente línea:

php echo phpinfo();

Si este contenido te ha sido de utilidad y crees que puede ayudar a más personas como tu te animo a compartirlo.

¿Si quieres estar al corriente de más entradas como esta? Sígueme en las redes sociales.

Si tienes alguna duda o quieres hacer alguna sugerencia puedes hacerlo usando los comentarios de esta entrada.