PHP es un lenguaje de secuencias de comandos popular, gratuito y de código abierto que se utiliza principalmente para el desarrollo web. Por el momento, la versión actual de PHP (al momento de escribir este tutorial) es PHP 7.3.14. Sin embargo, CentOS 7 viene con PHP 5.4 por defecto.
PHP 5.4 finalmente dejó de funcionar en septiembre de 2015 y ya no es compatible con las principales plataformas como WordPress, cPanel y WHM. Afortunadamente, ahora tenemos PHP 7 y el último, PHP 7.3, que es totalmente compatible con la mayoría de las aplicaciones.
En este tutorial, aprenderá a instalar PHP 7 en CentOS 7. Para ser más específico, aprenderá a instalar PHP 7.1, 7.2 y 7.3. A partir de entonces, demostraremos cómo puede integrar PHP 7 con los servidores Apache y Nginx.
Requisitos
Antes que nada, inicie sesión en su servidor como un usuario normal con privilegios de sudo. Esta es la forma más recomendada en lugar de ejecutar comandos como usuario root.
Habilitar repositorio Remi
El repositorio de Remi es un repositorio de terceros gratuito y popular que incluye los paquetes más recientes y de vanguardia que no están disponibles en su sistema CentOS 7.
El repositorio de Remi depende de EPEL (Extra Packages for Enterprise Linux), por lo tanto, debe asegurarse de que tanto Remi como EPEL existan.
Por lo tanto, ejecute el siguiente comando para instalar EPEL usando el comando yum.
$ sudo yum install epel-release yum-utils
Para instalar Remi, ejecute el siguiente comando:
$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Con EPEL y Remi ya instalados, procedamos ahora e instalemos PHP 7 en CentOS 7.
Instala PHP 7.3 en CentOS 7
Comencemos por instalar PHP 7.3, que es la última versión de PHP al momento de escribir esto. Esta es la última versión y viene con los últimos sistemas de administración de contenido, como WordPress y Joomla, y marcos como Laravel.
Paso 1:habilite el repositorio PHP 7.3 Remi
Para habilitar PHP 7.3 Remi repo ejecute el siguiente comando:
$ sudo yum-config-manager --enable remi-php73
Paso 2:Instale PHP 7.3 y los módulos asociados
Con php 7.3 Remi habilitado, ahora instale PHP 7.3 y sus módulos como se muestra:
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
Una vez que se complete la instalación, puede verificar la versión de PHP usando el comando:
$ php -v
Instala PHP 7.2 en CentOS 7
Para la instalación de PHP 7.2 CentOS 7, asegúrese de seguir los pasos a continuación:
Paso 1:habilite el repositorio PHP 7.2 Remi
Como vimos antes, comience habilitando el repositorio de Remi para PHP 7.2
$ sudo yum-config-manager --enable remi-php72
Paso 2:Instale PHP 7.2 y los módulos PHP asociados
A continuación, instale PHP 7.2 y los módulos asociados como se muestra:
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
Cuando se le solicite importar la GPG, simplemente presione y y presione ENTER
Una vez que haya terminado con la instalación, verifique la versión de PHP usando el comando:
$ php -v
Instala PHP 7.1 en CentOS 7
Finalmente, vamos a instalar PHP 7.1. Como vimos en las 2 versiones anteriores, siga los pasos a continuación:
Paso 1:habilite el repositorio PHP 7.1 Remi
Como vimos antes, comience habilitando el repositorio de Remi para PHP 7.1
$ sudo yum-config-manager --enable remi-php71
Paso 2:Instale PHP 7.1 y sus módulos PHP asociados
Después de habilitar el repositorio de Remi, proceda e instale PHP 7.1 usando el comando:
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
Cuando se le solicite la importación de la clave GPG, escriba y y presiona ENTER
Para verificar la instalación, ejecute el comando:
$ php -v
Configure PHP 7.x para que funcione con el servidor web Apache
Si Apache es su servidor web preferido, simplemente reinicie el servicio Apache y el camino será fácil para usted. No se necesitan configuraciones adicionales o complejas.
$ sudo systemctl restart httpd
Configure PHP 7.x para que funcione con el servidor web Nginx
A diferencia de Apache, la configuración de Nginx con PHP 7.x no es tan sencilla como cree. Nginx carece de soporte para procesar archivos PHP y, como tal, necesitamos instalar un conjunto adicional de paquetes llamado PHP FPM que procesará archivos PHP.
Para instalar el paquete PHP FPm, ejecute el comando:
$ sudo yum install php-fpm
Después de la instalación, diríjase al archivo de configuración ubicado en /etc/php-fpm.d/www.conf
Encontrará que hay un usuario llamado 'apache' escuchando el puerto 9000. Cambiaremos ese usuario a 'nginx' y luego ajustaremos las líneas como se muestra a continuación.
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
A continuación, establezca la propiedad correcta en el archivo /var/lib/php
usando el comando chown como se muestra:
$ sudo chown -R root:nginx /var/lib/php
Luego habilite e inicie php-fpm como se muestra:
$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm
Verifique el estado ejecutando:
$ sudo systemctl status php-fpm
Si configuró su bloque Nginx, debe agregar las siguientes líneas de configuración para que Nginx pueda procesar archivos PHP:
server {
# . . . other code
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Y por último, reinicia tu servidor web para que los cambios surtan efecto
$ sudo systemctl restart nginx
Conclusión
¡Y eso es todo, amigos! Hemos demostrado cómo puede instalar diferentes versiones de PHP 7 en CentOS 7 y luego cómo puede configurar diferentes servidores web para procesar archivos PHP. Apache es pan comido, pero debe prestar más atención al servidor web Nginx. Gracias por su tiempo.