Cómo instalar PHP en Rocky Linux 8

En este artículo vamos a ver cómo instalar PHP en Rocky Linux 8 paso a paso, de modo que puedas trabajar con este lenguaje de programación sobre tu servidor o VPS Rocky Linux, tanto en tus propios desarrollos como con aplicaciones de terceros.

Antes de instalar PHP en Rocky Linux 8

Si quieres seguir los pasos de esta guía de instalación de PHP en Rocky Linux 8 sólo necesitas cumplir los siguientes requisitos básicos:

  • Un sistema Rocky Linux 8 actualizado.
  • Acceso a línea de comandos con un usuario con privilegios de sudo.
  • Opcionalmente, un servidor web.
  • Conexión a Internet.

Si no dispones aún de servicio web te recomendamos consultar previamente nuestras guías de instalación de Apache en Rocky 8 o instalación de Nginx en Rocky 8.

En caso de tener todo listo, es hora de regular la altura correcta de nuestra mesa de trabajo, abrir nuestra terminal de comandos favorita y empezar a trabajar.

Cómo instalar PHP en Rocky Linux 8

A la hora de instalar PHP en Rocky Linux 8 tenemos varias opciones, según si queremos usar la versión del repositorio de la distribución (que sólo ofrece PHP 7.2) o alguna versión del repositorio alternativo (que ofrece versiones mucho más modernas, pero también anteriores).

PHP 8.1, 8.0 y anteriores

Si queremos trabajar con PHP 8.0, PHP 8.1, versiones anteriores o con la misma versión PHP 7.2 pero con mayor frecuencia de actualización, necesitamos instalar el repositorio alternativo.

Para ello instalamos el siguiente paquete:

~$ sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Desactivamos el módulo php de los repositorios de la distribución (y también algunos módulos dependientes):

~$ sudo yum module disable -y composer glpi php

Activamos el módulo de PHP de la versión que necesitemos en el repositorio alternativo (y también los módulos dependientes que desactivamos en el paso anterior); por ejemplo, para PHP 8.0:

~$ sudo yum module enable -y php:remi-8.0 glpi composer

Si deseas otra versión de PHP, sustituye en el comando anterior php:remi-8.0 por php:remi-7.3, php:remi-7.4, php:remi-8.1, etc.

Listo.

Instalación de PHP

Independientemente de los repositorios que hayamos decidido utilizar, actualizaremos la información de los mismos:

~$ sudo yum update

E instalamos los paquetes de PHP:

~$ sudo yum install -y php-fpm php-cli

Tras la descarga e instalación de estos paquetes y sus dependencias tenemos un nuevo servicio en Rocky Linux 8, el servicio php-fpm o php-fpm.service que no queda en ejecución ni habilitado para su inicio automático, cosa que haremos de forma manual.

Iniciamos el servicio con el comando systemctl:

~$ sudo systemctl start php-fpm

Podemos comprobar su estado en cualquier momento con la opción status del mismo comando:

~$ systemctl status php-fpm

como instalar php en rocky linux 8

Para que PHP-FPM esté siempre disponible iniciando automáticamente con Rocky Linux 8 tendremos que habilitarlo:

~$ sudo systemctl enable php-fpm

Si no necesitamos dicha disponibilidad y preferimos iniciarlo manualmente cuando sea necesario, deshabilitamos el servicio:

~$ sudo systemctl disable php-fpm

Si realizamos cambios en la configuración de PHP necesitaremos aplicarlos con la opción reload:

~$ sudo systemctl reload php-fpm

Cambios importantes pueden necesitar el reinicio del servicio:

~$ sudo systemctl restart php-fpm

Finalmente, también podemos detener el servicio:

~$ sudo systemctl stop php-fpm

Apache

Una vez instalado y en ejecución el servicio PHP, habrá que recargar la configuración del servidor web:

~$ sudo systemctl reload httpd

Nginx

Tendremos que hacer algunos ajustes en el archivo de configuración nginx.conf:

~$ sudo nano /etc/nginx/nginx.conf

Dentro del bloque server añadimos este bloque location:

...
    server {
...
        location ~ \.php$ {
                fastcgi_pass unix:/run/php-fpm/www.sock;
        }
...
    }
...

Guardamos los cambios y recargamos la configuración del servicio:

~$ sudo systemctl reload nginx

Cómo comprobar PHP en consola (CLI)

Para trabajar con scripts de PHP en modo consola es imprescindible que la versión CLI de este lenguaje esté instalada. El comando principal es php y podemos comprobar que funciona simplemente usándolo para saber el número de la versión de PHP que hemos instalado en Rocky Linux 8:

~$ php -v
PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

En este tutorial asumiremos la versión de PHP procedente del repositorio de Rocky Linux 8, pero todo lo explicado es aplicable a cualquier otra versión.

Cómo comprobar la integración con el servidor web

Para comprobar que PHP está integrado con el servidor web de nuestra máquina Rocky Linux 8 crearemos un pequeño script en este lenguaje.

Si usamos Apache:

~$ sudo nano /var/www/html/info.php

Y si usamos Nginx:

~$ sudo nano /usr/share/nginx/html/info.php

El contenido será únicamente una línea que llama a la función phpinfo() cuya misión es crear una página de información sobre la versión de PHP instalada y su configuración actual:

<?php phpinfo();

Guardados los cambios, podemos acceder a esta página desde el navegador indicando la dirección del servidor Rocky Linux 8 y añadiendo la ruta /info.php.

Por ejemplo, la máquina Rocky Linux 8 que hemos empleado para este tutorial es accesible en el subdominio rocky8.local.lan, así que podemos usar http://rocky8.local.lan/info.php como URL de comprobación.

Por ejemplo, para la versión de PHP incluida en los repositorios de Rocky Linux 8:

como instalar y configurar php en rocky linux 8

Para la versión PHP 8.0 del repositorio alternativo:

como instalar php 8.0 en rocky linux 8

Y para la nueva versión PHP 8.1:

como instalar php 8.1 en rocky linux 8

Cómo configurar PHP en Rocky Linux 8

Vamos a configurar PHP en Rocky Linux 8 para realizar una serie de ajustes mínimos, aunque ya hemos visto que la configuración por defecto es totalmente funcional.

El archivo de configuración principal es /etc/php.ini, aunque existen otros archivos de configuración para las extensiones de PHP en /etc/php.d/ y archivos de configuración del servicio PHP-FPM como /etc/php-fpm.conf y los ubicados en la ruta /etc/php-fpm.d/.

Realizaremos los ajustes sobre php.ini:

~$ sudo nano /etc/php.ini

Empezaremos con la configuración horaria, buscando la directiva date.timezone:

...
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
...

Por defecto está desactivada, así que la activaremos eliminando el carácter ; al inicio de línea y le daremos el valor adecuado a la zona horaria del servidor (o el que necesiten nuestras aplicaciones):

...
date.timezone = Europe/Madrid
...

Si no conoces el valor que corresponde a tu zona horaria, puedes consultar los valores disponibles en la documentación de PHP.

También hay que tener en cuenta si deseamos una configuración de producción (para servidores a los que accederán los usuarios finales) o de desarrollo (para depuración, pruebas y desarrollo de aplicaciones).

Por defecto los valores asignados corresponden a entornos de producción, pero si estamos trabajando con un servidor para desarrollo buscaremos las siguientes directivas:

...
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
...
display_errors = Off
...
display_startup_errors = Off
...

Y cambiaremos sus valores actuales por los siguientes:

...
error_reporting = E_ALL
...
display_errors = On
...
display_startup_errors = On
...

Una vez hechos los ajustes necesarios, guardamos los cambios y recargamos la configuración del servicio php-fpm:

~$ sudo systemctl reload php-fpm

Cómo instalar extensiones de PHP en Rocky Linux 8

Es posible que durante el desarrollo o instalación de alguna aplicación sea un requisito la disponibilidad de ciertas extensiones de PHP. Instalarlas es tan fácil como buscarlas con yum si no conocemos el nombre del paquete:

~$ sudo yum search mbstring |grep -i php
Última comprobación de caducidad de metadatos...
php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling

Normalmente el nombre de estos paquetes comienza con el prefijo php- y termina con el nombre de la extensión. Como hemos visto, si necesitamos la extensión mbstring instalaremos el paquete php-mbstring:

~$ sudo yum install -y php-mbstring

Las extensiones tienen sus propios archivos de configuración con extensión .ini en el directorio /etc/php.d, y muchas de ellas admiten configuración en el archivo principal php.ini.

Por ejemplo, la extensión mbstring instala su propio archivo de configuración /etc/php.d/20-mbstring.ini que permite habilitarla o deshabilitarla activando o desactivando la directiva extension que contiene dicho archivo:

; Enable mbstring extension module
extension=mbstring

Conclusión

Ahora que sabes cómo instalar y configurar PHP en Rocky Linux 8 ya puedes desarrollar aplicaciones web o de consola, o instalar aplicaciones de terceros sobre tu servidor o VPS Rocky.

¡Apoya comoinstalar.me!

¿Ya tienes este lenguaje de programación disponible en tu máquina gracias a nuestra pequeña guía? Si es así y quieres agradecérnoslo, cualquier pequeña aportación contribuye mucho al mantenimiento de este sitio y la creación de más guías y tutoriales.

Puedes ayudarnos dejando 1 $ de propina desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

¿Dudas, preguntas, sugerencias?

¿Te han surgido dudas o preguntas con este tutorial? ¿Quieres hacernos alguna sugerencia o corrección? Cuéntanoslo en un comentario que, aunque están moderados para evitar SPAM, se revisan a diario.

Valora esta entrada

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies