Cómo instalar PHP y PHP-FPM en Rocky Linux 9

author

José Rafael Gutierrez

hace 2 meses

Introducción

PHP (Hypertext Preprocessor) es un lenguaje de secuencias de comandos del lado del servidor de código abierto que permite desarrollar aplicaciones web dinámicas. PHP-FPM (FastCGI Process Manager) es una implementación de PHP FastCGI que permite procesar solicitudes de PHP usando configuraciones de grupos, con un rendimiento optimizado y tiempos de respuesta más rápidos.

Este artículo explica cómo instalar PHP y PHP-FPM en Rocky Linux 9, configurar el grupo predeterminado para permitir integraciones con otras aplicaciones como servidores web y ejecutar aplicaciones web dinámicas de ejemplo.

Requisitos previos

Antes de comenzar:

Instalar PHP

PHP está disponible en los repositorios predeterminados de Rocky Linux 9 con la versión más reciente. Sigue los pasos a continuación para instalar PHP y PHP-FPM utilizando el gestor de paquetes DNF predeterminado en tu servidor.

  1. Actualiza el índice de paquetes del servidor.
sudo dnf update -y
  1. Instala PHP.
sudo dnf install -y php
  1. Verifica la versión instalada de PHP en tu servidor.
php -v

Salida:

PHP 8.0.30 (cli) (built: Aug  3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
  1. Verifica la versión instalada de PHP-FPM y asegúrate de que coincida con tu versión de PHP.
php-fpm -v

Salida:

PHP 8.0.30 (fpm-fcgi) (built: Aug  3 2023 17:13:08)
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies

Instalar extensiones de PHP

Las extensiones de PHP permiten funcionalidades adicionales e integraciones con características dinámicas requeridas por las aplicaciones web modernas. Sigue los pasos a continuación para instalar extensiones comunes de PHP necesarias para la mayoría de las aplicaciones web.

  1. Instala extensiones comunes de PHP.
sudo dnf install -y php-mysqlnd php-pgsql php-redis php-curl php-json php-gd php-xml php-mbstring php-zip

El comando anterior instala las siguientes extensiones:

  • php-mysqlnd: Habilita la conexión e interacción de PHP con bases de datos MySQL.
  • php-pgsql: Habilita la interacción de PHP con bases de datos PostgreSQL.
  • php-redis: Permite que los scripts de PHP interactúen con bases de datos Redis.
  • php-curl: Habilita a las aplicaciones PHP a realizar solicitudes a otros servidores o servicios HTTP.
  • php-json: Proporciona funciones de manejo de JSON.
  • php-gd: Habilita a PHP para crear y manipular imágenes.
  • php-xml: Proporciona funciones para analizar y generar contenido XML en aplicaciones PHP.
  • php-mbstring: Permite que PHP procese codificaciones multibyte.
  • php-zip: Permite que PHP lea y modifique archivos ZIP.
  1. Verifica los módulos PHP instalados en tu servidor.
php -m

Salida:

[PHP Modules]
............
json
libxml
mbstring
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
readline
redis
Reflection
session
SimpleXML
..............
[Zend Modules]
Zend OPcache

Configurar PHP-FPM

PHP-FPM está disponible e incluido en el paquete PHP durante la instalación. PHP-FPM actúa como un intermediario para los procesos PHP y maneja múltiples solicitudes PHP según las configuraciones de tu grupo. Sigue los pasos a continuación para configurar el grupo predeterminado de PHP-FPM para procesar solicitudes según el rendimiento de tu servidor.

  1. Cambia al directorio de archivos de configuración de PHP-FPM.
cd /etc/php-fpm.d/
  1. Abre la configuración del grupo predeterminado de PHP-FPM www.conf.
sudo nano /etc/php-fpm.d/www.conf
  • Verifica el nombre del grupo predeterminado www.
[www]
  • Busca las directivas user y group y cambia los valores para que PHP-FPM se ejecute con el mismo usuario que tu servidor web. Por ejemplo, cambia el valor apache a nginx si estás usando Nginx.
user = nginx
group = nginx
  • Verifica la ruta del socket UNIX de PHP-FPM en la directiva listen para conectar al grupo.
listen = /run/php-fpm/www.sock
  • Ajusta la directiva pm.max_children según la memoria disponible en tu servidor.
pm.max_children = 50
  • Descomenta la directiva pm.max_requests para definir cuántos procesos puede manejar cada hijo antes de ser terminado.
pm.max_requests = 500

Guarda y cierra el archivo.

  1. Habilita el servicio PHP-FPM para que inicie automáticamente al arrancar.
sudo systemctl enable php-fpm
  1. Inicia el servicio PHP-FPM.
sudo systemctl start php-fpm
  1. Verifica el estado del servicio PHP-FPM.
sudo systemctl status php-fpm

Probar PHP y PHP-FPM

PHP incluye un servidor web predeterminado que te permite ejecutar aplicaciones especificando una dirección de escucha. Sigue los pasos a continuación para configurar una aplicación PHP de ejemplo y usar la utilidad de servidor web incorporada en PHP para ejecutar la aplicación.

  1. Crea un nuevo directorio para almacenar los archivos de tu aplicación PHP, por ejemplo, /var/www/php-test.
sudo mkdir -p /var/www/php-test
  1. Crea un nuevo archivo de aplicación PHP de ejemplo info.php.
sudo nano /var/www/php-test/info.php

Agrega el siguiente contenido al archivo.

<?php
    phpinfo();
?>

Guarda y cierra el archivo.

  1. Ejecuta el directorio de la aplicación utilizando la utilidad del servidor web PHP en el puerto HTTP 80.
php -S 0.0.0.0:80 -t /var/www/php-test &

Salida:

PHP 8.0.30 Development Server (http://0.0.0.0:80) started
  1. Permite conexiones al puerto HTTP 80 a través del firewall predeterminado firewalld.
sudo firewall-cmd --permanent --add-service=http
  1. Recarga la configuración del firewall para aplicar los cambios.
sudo firewall-cmd --reload
  1. Accede a la IP de tu servidor usando un navegador web y carga la ruta /info.php para ver la información de tu instalación PHP.
http://SERVER-IP/info.php

PHP Info

Instalar múltiples versiones de PHP

Si ejecutas varios proyectos PHP, puedes necesitar versiones específicas de PHP. Sigue los pasos a continuación para instalar phpbrew y gestionar múltiples versiones de PHP.

  1. Instala los repositorios y dependencias necesarias y sigue instalando PHP versions como se describe en la documentación oficial.

Conclusión

Has instalado PHP y PHP-FPM en tu servidor Rocky Linux 9 para procesar eficientemente aplicaciones web dinámicas. Además, instalaste extensiones comunes y configuraste PHP-FPM para ajustarse a las necesidades de tu servidor. Para más información sobre la configuración de PHP-FPM, consulta la documentación oficial de PHP.

José Rafael Gutierrez

Soy un desarrollador web con más de 14 años de experiencia, especializado en la creación de sistemas a medida. Apasionado por la tecnología, la ciencia, y la lectura, disfruto resolviendo problemas de...

Suscríbete para Actualizaciones

Proporcione su correo electrónico para recibir notificaciones sobre nuevas publicaciones o actualizaciones.