GLPI 11: instalación en Linux

En este tutorial, explicaré cómo instalar GLPI 11 en Linux (Ubuntu 24.04) con Apache2, PHP 8.3 en FPM y MariaDB.

GLPI 11 es una solución de código abierto para la gestión de servicios de TI (ITSM) que gestiona equipos, usuarios, tickets de incidentes y solicitudes de servicio. Esta versión ofrece una interfaz modernizada, mayor usabilidad y un rendimiento optimizado. Integra de forma nativa herramientas de gestión de proyectos, base de conocimientos e inventario. GLPI 11 también refuerza la seguridad y facilita la integración con otros sistemas mediante API REST.

Al momento de escribir el tutorial, GLPI 11 todavía está en versión Beta.

Requisitos previos para la implementación de GLPI

Para ejecutar GLPI se necesita un servidor web y PHP. En este tutorial, instalaremos Apache 2 y PHP directamente en el servidor utilizando los repositorios PPA, lo que nos permitirá tener las versiones más recientes de Apache 2 y PHP.

Para la parte del servidor de base de datos, implementaremos un servidor MariaDB 11 usando Docker.

Como complemento al final de este tutorial, también explico cómo configurar GLPI para utilizar Redis como sistema de caché.

También debe proporcionar un nombre DNS como glpi.domain.tld.

Installer Docker et Docker compose

Para comenzar, necesitarás instalar Docker y Docker Compose que usaremos para el servidor de base de datos y el servidor Redis, te invito a seguir primero este tutorial: Ubuntu 24.04: Instalación de Docker y Docker Compose

Instalar Apache2

Para comenzar, instalaremos el servidor web Apache2 desde el repositorio PPA for Apache 2.

Comience ingresando el siguiente comando:

sudo add-apt-repository ppa:ondrej/apache2

Actualizar la caché del paquete:

sudo apt update

En la captura de pantalla, podemos ver que se consultó el repositorio ondrej/apache2.

Iniciar la instalación de Apache2

sudo apt install apache2 -y

Por favor espere mientras se instala…

Apache2 está instalado, ingrese el siguiente comando para verificar que el servicio se haya iniciado:

sudo systemctl status apache2

GLPI necesita el módulo Rewrite para funcionar, lo activaremos ahora, ingresamos el siguiente comando:

sudo a2enmod rewrite

Reinicie Apache2 para tener en cuenta el módulo Rewrite.

sudo systemctl restart apache2

Para probar el servidor web Apache2, abra un navegador e introduzca la dirección IP del servidor (http://a.b.c.d) como URL. Debería ver la siguiente página:

El servidor Apache2 está en funcionamiento.

Instalación de PHP-FPM para GLPI

PHP es el lenguaje utilizado en el lado del servidor, para la generación dinámica de páginas pero también para manejar toda la parte de inventario y varias tareas automáticas utilizando CRON.

Por razones de “rendimiento” y separación de servicios a nivel de servidor web Apache2, instalaremos PHP-FPM.

PHP-FPM (Administrador de Procesos FastCGI) es un potente método para ejecutar código PHP en un servidor web. Permite una mejor gestión de los procesos PHP, una mayor velocidad de ejecución y una menor carga del servidor. PHP-FPM también ofrece mayor estabilidad, especialmente con tráfico intenso, y permite una configuración detallada (por sitio o aplicación). Actualmente es el método recomendado con Nginx y también se usa ampliamente con Apache.

Al igual que con Apache2, utilizaremos el repositorio ppa:ondrej/php que nos permite tener la versión más actualizada de PHP 8.3 en Ubuntu.

Comience agregando el repositorio con el siguiente comando:

sudo add-apt-repository ppa:ondrej/php

Una vez agregado el repositorio, ingrese el siguiente comando:

sudo apt update

Ahora instalamos PHP 8.3, ingresamos el siguiente comando:

sudo apt install php8.3-fpm -y

Instalar complementos de PHP para GLPI 11:

sudo apt install php8.3-curl php8.3-gd php8.3-intl php8.3-mysql php8.3-bz2 php8.3-zip php8.3-apcu php8.3-cli php8.3-imap php8.3-mbstring php8.3-dom php8.3-simplexml php8.3-xmlreader php8.3-xmlwriter php8.3-bcmath php8.3-redis -y

Si planea conectar LDAP a un Directorio Activo, también debe instalar el módulo ldap de PHP:

sudo apt install php8.3-ldap -y

Una vez instalado PHP, comenzaremos activando los módulos necesarios para utilizar PHP-FPM en Apache2, para ello ingrese el siguiente comando:

sudo a2enmod proxy_fcgi setenvif

Reinicie el servicio Apache2:

sudo systemctl restart apache2

Ahora bien, existen varias formas de hacer que Apache2 se comunique con PHP-FPM, siendo el servidor dedicado a GLPI con una única versión de PHP, activaremos la configuración directamente disponible en Apache2, ingresaremos el siguiente comando:

sudo a2enconf php8.3-fpm

Reinicie el servicio Apache2 nuevamente:

sudo systemctl restart apache2

Probaremos la instalación de PHP, para ello crearemos un archivo PHP con la función phpinfo(); la cual retornará la información sobre la instalación de PHP.

Crea el archivo:

sudo nano /var/www/html/phpinfo.php

En el archivo agregue las siguientes líneas:

<?php
phpinfo();
?>

Luego, desde un navegador llamado página phpinfo.php (http://a.b.c.d/phpinfo.php), debería tener esto:

Como se puede ver en la API del servidor, PHP se ejecuta en modo FPM/FastCGI.

Configuración del contenedor MariaDB

El último elemento de nuestro servidor necesario para ejecutar GLPI 11 es la base de datos, como se explicó al principio de este tutorial, utilizaremos Docker para ejecutar la base de datos MariaDB para GLPI.

Usar Docker nos permitirá liberarnos de los repositorios de Ubuntu para nuestra base de datos, lo que también permite actualizaciones más rápidas. Existen otras ventajas, pero no se abordan en este tutorial.

Cree la carpeta para el almacenamiento del contenedor:

sudo mkdir /containers/mariadb-glpi

Vaya a la carpeta de la carpeta:

cd /containers/mariadb-glpi

Clone el siguiente repositorio que contiene los archivos de configuración del contenedor para mariadb:

sudo git clone https://git.rdr-it.com/docker/mariadb-or-mysql-container.git .

Si desea obtener más información sobre la implementación de MariaDB con Docker: Docker: Crear un contenedor MariaDB o MySQL

Editar el archivo .env

sudo nano .env

Aquí está el contenido que necesitas poner (generar contraseñas):

Descargar la imagen del contenedor:

sudo docker compose pull

Iniciar el contenedor:

sudo docker compose up -d

El servidor de base de datos está listo.

Descargar GLPI 11

Pasaremos a descargar GLPI.

Antes de comenzar, cree la carpeta que se utilizará para alojar los archivos GLPI:

sudo mkdir -p /var/www/glpi

Vaya a la carpeta de inicio de su usuario:

cd

En la página: https://github.com/glpi-project/glpi/releases copie la URL del archivo (archivo tgz) de la última versión disponible de GLPI 11.

Descargar el archivo:

wget https://github.com/glpi-project/glpi/releases/download/11.0.0-beta5/glpi-11.0.0-beta5.tgz

Para descargar el archivo, descomprima el archivo:

tar -xvzf glpi-11.0.0-beta5.tgz

Mueva los archivos GLPI 11 a la carpeta destinada a Apache2:

sudo mv glpi/* /var/www/glpi

Último paso, cambiar el propietario de la carpeta /var/www/glpi:

sudo chown www-data:www-data /var/www/glpi/ -R

Configuración de virtualhost para GLPI 11 en Apache 2

Último paso con las líneas de comando 😉 Configuraremos el virtualhost en Apache2 para GLPI 11.

Ir a la carpeta /etc/apache2/sites-available/

cd /etc/apache2/sites-available/

Copie el archivo virtualhost predeterminado:

sudo cp 000-default.conf glpi.conf

Editar el archivo:

nano glpi.conf

Aquí está el archivo virtualhost para GLPI 11, adapte el ServerName con el registro DNS que haya elegido.

Habilitar virtualhost:

sudo a2ensite glpi

Recargar la configuración de Apache2

sudo systemctl reload apache2

La configuración a nivel de servidor está completa.

Instalar GLPI 11

Desde un navegador de Internet, ingrese la URL que haya elegido para GLPI, en la página que aparece, haga clic en Ir a la página de instalación 1.

GLPI 11 - Home Page for install

Comience seleccionando el idioma 1 y haciendo clic en el botón Aceptar 2.

Acepte la licencia haciendo clic en Continuar 1.

Aquí haremos una nueva instalación de GLPI 11, haga clic en el botón Instalar 1.

Verifique que se cumplan los requisitos previos del entorno, luego haga clic en el botón Continuar 1 en la parte inferior de la página.

Configure la información de conexión a la base de datos 1 (Servidor, Usuario y Contraseña) y haga clic en el botón Continuar 2.

La conexión al servidor MariaDB que está en un contenedor es funcional, seleccione la base de datos glpi 1 y haga clic en el botón Continuar 2.

Por favor espere mientras se inicializa la base de datos….

GLPI 11 - Database creation

Se ha inicializado la base de datos de GLPI 11 y se han inyectado todas las tablas y datos predeterminados. Haga clic en el botón Continuar 1.

Configure la recopilación de datos 1 si lo desea, luego haga clic en el botón Continuar 2.

Omita el paso 5, haga clic en Continuar 1.

La instalación de GLPI está completa, haga clic en el botón Usar GLPI 1.

Serás redirigido a la página de inicio de sesión de GLPI 11.

Conectándose a GLPI 11 y descubriendo

Para la primera conexión, utilice el identificador glpi 1 y la contraseña glpi 2 y haga clic en Conectar 3.

Después de iniciar sesión, llegará a la página de inicio de GLPI, que agrupa varios paneles con estadísticas.

Como puedes ver las estadísticas no están en 0, esto es normal, por defecto GLPI 11 muestra datos de demostración, es posible «eliminarlos» haciendo clic en Deshabilitar demostración.

Comprobar datos del entorno

Depuis le menu Configuration 1, cliquer sur Générale 2, vous allez retrouver ici les différentes informations de l’environnement applicatif de GLPI 11.

Configurar la caché de Redis

De forma predeterminada, GLPI utiliza un sistema de caché basado en archivos; en entornos donde se usa mucho GLPI, se puede utilizar Redis como sistema de caché, lo que mejora el rendimiento.

Redis es una base de datos NoSQL en memoria de código abierto que se utiliza principalmente como caché, cola o almacén de clave-valor ultrarrápido. Almacena datos directamente en la RAM, lo que permite tiempos de respuesta extremadamente rápidos (en milisegundos). Redis admite estructuras de datos avanzadas como listas, conjuntos, hashes, conjuntos ordenados y mapas de bits. Se utiliza a menudo para mejorar el rendimiento de aplicaciones web, gestionar sesiones o realizar operaciones de publicación y suscripción. Redis también puede ser persistente, escribiendo datos periódicamente en el disco. Ofrece alta disponibilidad mediante mecanismos como Redis Sentinel o Redis Cluster.

En la sección Rendimiento 1, tienes la información sobre el caché GLPI, como puedes ver en la captura de pantalla a continuación, por defecto estamos en «sistema de archivos».

Para facilitar la «instalación» de Redis, implementaremos el servicio en un contenedor con Docker, tal como lo hicimos para la base de datos MariaDB.

De regreso en SSH al servidor, vaya a la carpeta /containers/ y cree la carpeta para el contenedor Redis.

cd /containers
sudo mkdir redis-glpi
cd redis-glpi

Crear el archivo docker-compose.yml.

sudo nano docker-compose.yml

Copie el siguiente contenido en el archivo docker-compose.yml:

Descargue la imagen del contenedor Redis:

sudo docker compose pull

Iniciar el contenedor:

sudo docker compose up -d

Luego vaya a la carpeta de instalación de GLPI 11:

cd /var/www/glpi

Ingrese el siguiente comando para configurar la caché de Redis en GLPI 11:

sudo php bin/console cache:configure --context core --dsn redis://127.0.0.1:6379/1

Dependiendo del usuario utilizado en SSH, deberá confirmar la ejecución del comando.

Regrese a la página de Rendimiento de GLPI 11, actualice la página y debería ver que Redis está configurado.

Continuar en la configuración de GLPI 11

Este tutorial está llegando a su fin, llegarán otros en GLPI 11, que puedes hacer ahora:

  • Eliminar la carpeta de instalación de GLPI
  • Cambiar la contraseña de la cuenta glpi
  • Deshabilitar o eliminar otros usuarios.

Si estás acostumbrado a GLPI 10, podrás ver que ambas versiones son similares en la interfaz y configuración de otros elementos como la conexión LDAP, SMTP….

Conclusión

A través de este tutorial, has visto cómo configurar un entorno LAMP específico para GLPI en Ubuntu 24.04, configurando Apache2, PHP-FPM y servicios con Docker (MariaDB y Redis).

Existen multitud de entornos para instalar GLPI y aquí hemos visto UNA de las posibilidades.

Si tienes alguna pregunta, pregúntala en los comentarios.

Romain Drouche
Arquitecto de sistemas | MCSE: Infraestructura básica
Experto en infraestructura de TI con más de 15 años de experiencia en el sector. Actualmente, como Gerente de Proyectos de Sistemas y Redes y experto en Seguridad de Sistemas de Información (ISS), utilizo mi experiencia para garantizar la fiabilidad y seguridad de los entornos tecnológicos.

2 comentarios en «GLPI 11: instalación en Linux»

  1. Hola.
    En la instalacion de GLPI 11 con docker no continuo a partir de archivo virtualhost para GLPI 11. No se si configuro bien el ServerName con el registro DNS ya que no puedo acceder a la página de instalación.
    Le agradeceria me ayudara si es posible.
    Un saludo.

    Responder

Deja un comentario