Cómo instalar la pila LAMP en Rocky Linux 9

En esta entrada explicaremos cómo instalar la pila LAMP en Rocky Linux 9 paso a paso, de tal forma que puedas instalar o desarrollar aplicaciones web complejas basadas en Apache, PHP y MariaDB/MySQL sobre tu máquina, servidor o VPS Rocky Linux.

Antes de instalar la pila LAMP en Rocky Linux 9

Si quieres completar los pasos de esta guía de instalación de la pila LAMP en Rocky Linux 9, sólo tienes que cumplir los siguientes requisitos básicos:

  • Una máquina Rocky Linux 9 actualizada.
  • Un usuario con privilegios de sudo.
  • Acceso a Internet.

Como seguramente ya cumples todos estos requerimientos es el momento de ajustar tu mesa a la altura más cómoda, abrir una consola de comandos y ponernos a trabajar.

Cómo instalar la pila LAMP en Rocky Linux 9

Para instalar la pila LAMP en Rocky Linux 9 podríamos usar sólo paquetes procedentes de los repositorios de la distribución, ya que estos ofrecen las versiones 8.0, 8.1 y 8.2 de PHP, las versiones 10.5 y 10.11 de MariaDB y una revisión bastante reciente de MySQL 8.0.

Configuración de la fuente de PHP

La versión disponible por defecto en Rocky 9 es la 8.0. Si prefieres usar la 8.1 ó la 8.2, habrá que activar el módulo correspondiente cuyo nombre será php:X.Y, donde X.Y es la versión requerida; por ejemplo, para PHP 8.2:

~$ sudo yum module enable -y php:8.2

Si necesitas PHP 8.3 ó cualquier versión del repositorio alternativo (el de Remi), habrá que instalar dicho repositorio:

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

Actualizamos la información de los repositorios para que se incluyan las listas de paquetes de los que acabamos de instalar:

~$ sudo yum update -y

Y activamos el módulo del repositorio alternativo que nos interese, siendo su nombre php:remi-X.Y, sustituyendo X.Y por el valor adecuado; por ejemplo, para PHP 8.3:

~$ sudo yum module enable -y php:remi-8.3

Recuerda que antes de cambiar cualquier versión habilitada por otra distinta hay que desactivar el módulo:

~$ sudo yum module disable -y php

Configuración de la fuente de MariaDB

Rocky Linux 9 ofrece por defecto la versión 10.5, aunque también incluye un módulo para la versión 10.11.

Si te sirve la versión 10.5, no habría que hacer nada.

Si prefieres la versión 10.11 habría que activar su módulo:

~$ sudo yum module enable -y mariadb:10.11

Pero si quieres utilizar alguna versión más moderna como la 11.3 ó la 11.4 habría que instalar el repositorio oficial.

Para ello en primer lugar hay que desactivar el módulo actual:

~$ sudo yum module disable -y mariadb

Creamos un archivo de repositorio:

~$ sudo nano /etc/yum.repos.d/mariadb.org.repo

Y añadimos el siguiente contenido:

[mariadb]
name = MariaDB
baseurl = https://rpm.mariadb.org/11.4/rhel/$releasever/$basearch
module_hotfixes = 1
gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1

Si quieres otra versión, como la 11.3, haz el cambio apropiado en la directiva baseurl anterior.

Una vez guardado y cerrado el archivo, actualizamos los repositorios:

~$ sudo yum update

Instalación del servicio web y PHP

Instalamos los paquetes que corresponden al servicio web y al lenguaje de programación:

~$ sudo yum install -y httpd php-fpm php-mysqlnd

Instalación del motor de bases de datos

Para instalar MariaDB:

~$ sudo yum install -y mariadb-server

Y si prefieres MySQL:

~$ sudo yum install -y mysql-server

Iniciando los servicios

Tras la descarga e instalación de todos estos paquetes y sus dependencias se crean nuevos servicios en Rocky Linux 9, los servicios httpd para el servicio web, php-fpm para el servicio PHP y mariadb o mysqld para el servicio de bases de datos (dependiendo del que hayamos elegido).

Habilitamos e iniciamos el servicio web y el servicio PHP-FPM:

~$ sudo systemctl enable --now httpd php-fpm

Si hemos elegido MariaDB habilitamos e iniciamos su servicio:

~$ sudo systemctl enable --now mariadb

Y si hemos optado por MySQL, hacemos lo propio:

~$ sudo systemctl enable --now mysqld

Podemos comprobar fácilmente que estos servicios quedan en ejecución y habilitados para su inicio automático también con el comando systemctl:

~$ systemctl status httpd php-fpm mariadb

O:

~$ systemctl status httpd php-fpm mysqld

como instalar la pila lamp en rocky linux 9

Configuración del firewall

Si vas a permitir conexiones en red a tu servidor LAMP Rocky Linux 9 es necesario añadir las excepciones necesarias al firewall, concretamente para los puertos HTTP y HTTPS:

~$ sudo firewall-cmd --permanent --add-service={http,https}

Aplicamos estas reglas recargando la configuración del firewall:

~$ sudo firewall-cmd --reload

Cómo probar la pila LAMP en Rocky Linux 9

Para probar la pila LAMP que acabamos de instalar en Rocky Linux 9 desde un navegador, crearemos un sencillo script en PHP:

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

Su contenido será únicamente la siguiente línea:

<?php phpinfo();

Guardamos y cerramos el archivo.

Ahora, desde el navegador web indicamos la dirección IP, nombre DNS, dominio, etc. del servidor Rocky Linux 9 (o localhost si trabajamos localmente) y añadimos la ruta /info.php.

Por ejemplo, la máquina Rocky Linux 9 sobre la que hemos desarrollado este tutorial es accesible en el subdominio rocky9.local.lan, así que podemos usar http://rocky9.local.lan/info.php como URL de prueba:

la pila lamp en rocky linux 9

Esta página es la prueba de que todos los elementos de la pila LAMP están interconectados y funcionando, además de ofrecer mucha información sobre su configuración.

Cómo configurar la pila LAMP en Rocky Linux 9

Vamos a configurar la pila LAMP en Rocky Linux 9 rápidamente, ya que como acabamos de ver la configuración por defecto es funcional.

PHP

Sin embargo, sí sería interesante revisar rápidamente la configuración de PHP, para lo que editamos el archivo php.ini:

~$ sudo nano /etc/php.ini

Buscamos esta línea:

...
;date.timezone =
...

Activamos la directiva eliminando el carácter ; inicial y le damos el valor que necesitemos:

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

Si no sabes qué valor corresponde a tu zona horaria, consúltalo en la documentación oficial.

En caso de que estés montando un servidor LAMP para producción al que accederán usuarios finales, el resto de la configuración presenta valores adecuados. Pero si se trata de un servidor para desarrollo de aplicaciones sin duda querrás que se muestre información en caso de errores para poder depurar dichas aplicaciones.

Para este último caso localiza estas directivas:

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

Y cambia sus valores por defecto por estos otros:

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

Una vez guardados los cambios, recargamos la configuración del servicio PHP-FPM para que los tenga en cuenta.

~$ sudo systemctl reload php-fpm

MariaDB

Tanto la versión de la distribución como las procedentes del repositorio oficial tienen configurado el usuario root para conectar al servicio usando sudo:

~$ sudo mysql

como configurar la pila lamp en rocky linux 9

Es buena idea crear un usuario administrador con acceso mediante contraseña y capacidad de conexión remota:

> grant all privileges on *.* to instalador identified by 'XXXXXXXX' with grant option;

Por último, el servicio por defecto usa el juego de caracteres latin1:

> show variables like 'character_set_server';
+----------------------+--------+
| Variable_name        | Value  |
+----------------------+--------+
| character_set_server | latin1 |
+----------------------+--------+

Lo recomendable es usar UTF-8, así que cerraremos la conexión para poder hacer cambios en la configuración:

> exit

Editamos el archivo de configuración principal, en el caso de la versión de Rock 9:

~$ sudo nano /etc/my.cnf.d/mariadb-server.cnf

Y en el del repositorio de MariaDB:

~$ sudo nano /etc/my.cnf.d/server.cnf

En la sección [server] añadimos estas dos directivas:

...
[server]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
...

Guardamos y cerramos el archivo, y reiniciamos el servicio para que cargue los nuevos ajustes:

~$ sudo systemctl restart mariadb

MySQL

Con MySQL ocurre algo parecido al caso anterior, el usuario root del servicio de bases de datos no tiene contraseña. Lo solucionaremos realizando algún ajuste en el archivo de configuración del servicio:

~$ sudo nano /etc/my.cnf.d/mysql-server.cnf

Añadimos esta directiva plugin-load-add dentro de la sección [mysqld]:

...
[mysqld]
...
plugin-load-add=auth_socket.so

Guardamos el archivo y reiniciamos el servicio:

~$ sudo systemctl restart mysqld

Conectamos al servicio con el cliente mysql:

~$ mysql -u root

Creamos un usuario administrador alternativo con contraseña y capacidades de conexión remota:

> create user instalador identified by 'XXXXXXXX';
> grant all privileges on *.* to instalador with grant option;

Cambiamos el método de conexión para root:

> alter user root@localhost identified with auth_socket;

Cerramos la conexión:

> exit

Ahora root sólo puede acceder a través del comando sudo:

~$ sudo mysql

Conclusión

Ahora que sabes cómo instalar y configurar la pila LAMP en Rocky Linux 9 ya estás en condiciones de instalar potentes aplicaciones web o desarrollar las tuyas propias en tu máquina o servidor, proporcionando la plataforma básica que necesitan para funcionar.

¡Apoya comoinstalar.me!

Si ya funciona la pila LAMP en tu propia máquina Rocky Linux 9 y quieres agradecérnoslo, siempre es bienvenida cualquier pequeña aportación al mantenimiento de este sitio y la creación de más tutoriales y guías.

Puedes ayudarnos dejando una propina a partir de 1 $ mediante PayPal:

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

¡Gracias!

¿Dudas, preguntas, sugerencias?

¿Te ha surgido alguna duda o pregunta? ¿Quieres hacernos alguna corrección o sugerencia? Si es así puedes dejarnos un comentario que, aunque están moderados para evitar SPAM, se revisan prácticamente a diario.

Valora esta entrada

¿Qué te ha parecido esta entrada?

Deja un comentario