Cómo instalar GLPI IT Inventory Management en Debian 12

GLPI es una solución de gestión de activos informáticos y Helpdesk de código abierto escrita en PHP. Es una solución completa de software de gestión de TI para tu organización. GLPI te ayuda a gestionar incidentes/solicitudes, crear formularios y definir SLA. También te ayuda a gestionar tu solución de hardware, software y centro de datos, lo que también te permite vincular el inventario de activos y obtener el control de tu infraestructura informática y empresarial.

No sólo eso, sino que GLPI también puede utilizarse como gestión financiera para hacer un seguimiento de tus gastos, contratos y proveedores, crear nuevos objetos de inventario, gestionar bases de datos de usuarios y generar informes. Además, GLPI incluye gestión de proyectos para asignar tareas, añadir colaboradores, establecer plazos y recordatorios, y también proporciona un tablero Kanban para facilitar la gestión de tareas.

En esta guía, te mostraré cómo instalar el software de gestión informática GLPI en una máquina Debian 12. Instalarás GLPI junto con la pila LAMP (Apache2, MariaDB y PHP). Además, también asegurarás GLPI mediante certificados SSL/TLS de Letsencrypt.

Requisitos previos

Para empezar, asegúrate de que tienes

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador sudo.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación de las dependencias

GLPI es un software de gestión informática de código abierto escrito en PHP con MySQL/MariaDB como base de datos. Se puede ejecutar con el servidor web Apache2 o Nginx. En esta guía, instalarás GLPI con la Pila LAMP (Apache2, MariaDB y PHP), completarás los siguientes pasos para instalar la Pila LAMP y algunas dependencias adicionales para tu instalación de GLPI.

En primer lugar, actualiza y refresca el índice de paquetes de Debian ejecutando el comando apt update que se indica a continuación.

sudo apt update

actualizar repositorio

Una vez actualizado el repositorio, introduce el siguiente comando para instalar las dependencias de los paquetes para la instalación de GLPI, incluidos los paquetes LAMP Stack (Apache2, MariaDB y PHP) y algunas extensiones PHP adicionales.

sudo apt install apache2 mariadb-server php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap php-zip

Escribe y para confirmar y proceder con la instalación.

instalar dependencias

Una vez instaladas las dependencias, verifica cada una de ellas ejecutando el siguiente comando.

Verifica el servicio apache2 para asegurarte de que el servicio se está ejecutando y está habilitado.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

La salida habilitado confirma que el servicio Apache2 está habilitado. La salida activo (en ejecución) confirma que Apache2 se está ejecutando.

verificar apache2

Verifica el servicio mariadb utilizando el comando que se indica a continuación.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

La salida debe ser similar a la siguiente:

comprobar mariadb

Por último, comprueba la versión de PHP y la lista de extensiones habilitadas utilizando el comando siguiente.

php -v
php -m

Deberías ver que PHP 8.2 está instalado con algunas extensiones como fileinfo, gd, intl, mysqli y zlib habilitadas.

comprobar php

Configurar el servidor MariaDB

Después de instalar los paquetes LAMP Stack, lo siguiente será configurar tu servidor MariaDB asegurándolo mediante la utilidad mariadb-secure-installation. A continuación, también crearás una nueva base de datos MariaDB y el usuario que utilizará GLPI.

Ejecuta la utilidad mariadb-secure-installation en tu terminal para proteger la instalación de tu servidor MariaDB.

sudo mariadb-secure-installation

Introduce Y para aplicar la configuración a tu servidor MariaDB, o n para No, y rechazar los cambios. A continuación se indican algunas configuraciones de MariaDB relacionadas que se te pedirán:

  • ¿Cambiar la autenticación local a unix_socket? Introduce n para no.
  • ¿Configurar la contraseña raíz de MariaDB? Introduce y, luego escribe la nueva contraseña de root de MariaDB y repite.
  • ¿Eliminar el usuario anónimo por defecto? Introduce y para confirmar.
  • ¿Desactivar el inicio de sesión remoto para el usuario root? Introduce y para confirmar.
  • ¿Eliminar la prueba de base de datos por defecto? Introduce y para confirmar.
  • ¿Recargar los privilegios de la tabla y aplicar los cambios? Introduce y para confirmar.

Después de asegurar el servidor MariaDB, crearás una nueva base de datos y un nuevo usuario que utilizará GLPI. Puedes crear una base de datos y un usuario nuevos a través del cliente mariadb.

Accede al servidor MariaDB utilizando el siguiente comando, Asegúrate de introducir tu contraseña de root de MariaDB cuando te lo pida.

sudo mariadb -u root -p

A continuación, ejecuta las siguientes consultas para crear una nueva base de datos MariaDB glpidb con el usuario glpi y la contraseña p4ssw0rd. Asegúrate de cambiar lo siguiente con tu información.

CREATE DATABASE glpidb;
CREATE USER glpi@localhost IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON glpidb.* TO glpi@localhost;
FLUSH PRIVILEGES;

crear nueva base de datos y usuario

Ahora ejecuta la siguiente consulta para verificar los privilegios del usuario glpi@localhost.

SHOW GRANTS FOR glpi@localhost;

Deberías ver que el usuario glpi@localhost tiene privilegios para acceder a la base de datos glpidb.

verificar privilegios de usuario

Escribe quit para salir del servidor MariaDB.

Configurar PHP

En la siguiente sección, configurarás tu instalación de PHP editando el archivo php.ini. A continuación, verificarás tu instalación de Apache2 y PHP creando un nuevo archivo PHPINFO que te mostrará información detallada sobre tu instalación de PHP.

Abre la configuración por defecto de php . ini utilizando el siguiente comando del editor nano.

sudo nano /etc/php/8.2/apache2/php.ini

Cambia así algunas de las siguientes configuraciones de PHP. Asegúrate de ajustar el date.timezone con tu zona horaria adecuada y el memory_limit con tu configuración de memoria adecuada.

memory_limit = 512M
date.timezone = Europe/Stockholm
upload_max_filesize = 16M
session.cookie_httponly = on

Guarda y cierra el archivo cuando hayas terminado.

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servicio Apache2 y aplicar los cambios que has realizado.

sudo systemctl restart apache2

A continuación, crea un nuevo archivo PHPINFO /var/www/html/info. php ejecutando el siguiente comando.

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Inicia tu navegador web y visita la dirección IP de tu servidor seguida de la ruta /info.php, por ejemplo http://192.168.10.15/info.php. Si la configuración se ha realizado correctamente, deberías ver la página PHPINFO como la siguiente:

phpinfo

Descarga del código fuente GLPI

Después de configurar PHP, descargarás el código fuente de GLPI de GitHub y establecerás el permiso y la propiedad adecuados del directorio raíz web de GLPI.

Desplázate al directorio /var/www y descarga el código fuente de GLPI mediante el siguiente comando wget. En este ejemplo, descargarás GLPI v10.x, que es la versión más reciente y estable de GLPI 10.x. Asegúrate de consultar la página de descargas de GLPI para obtener la última versión.

cd /var/www/
wget https://github.com/glpi-project/glpi/releases/download/10.0.9/glpi-10.0.9.tgz

Una vez descargado el código fuente de GLPI, extráelo utilizando el comando tar que aparece a continuación, y deberías ver un nuevo directorio /var/www/glpi.

tar -xf glpi-10.0.9.tgz

Ahora ejecuta el siguiente comando para cambiar la propiedad del directorio /var/www/glpi al usuario www-data y permitir que el servidor web Apache2 acceda a él.

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

A continuación, ejecuta el siguiente comando para que los archivos del directorio y config puedan escribirse. Esto permitirá al servidor web Apache2 escribir en esos directorios para almacenar datos GLPI.

sudo chmod u+rw /var/www/glpi/{files,config}

Configurar el host virtual Apache2

Ahora que has descargado el código fuente de GLPI, el siguiente paso es crear una nueva configuración de host virtual Apache2 que se utilizará para ejecutar GLPI. Antes de continuar, asegúrate de que tienes un nombre de dominio apuntando a la dirección IP de tu servidor Debian.

Antes de crear la configuración del host virtual, ejecuta el siguiente comando para habilitar el módulo de reescritura en Apache2.

sudo a2enmod rewrite

Crea una nueva configuración de host virtual /etc/apache2/sites-available/glpi. conf utilizando el siguiente comando del editor nano.

sudo nano /etc/apache2/sites-available/glpi.conf

Introduce la siguiente configuración y asegúrate de cambiar el nombre de dominio por tu dominio en el parámetro ServerName.

<VirtualHost *:80>
    ServerName glpi.hwdomain.io

DocumentRoot /var/www/glpi/public

# If you want to place GLPI in a subfolder of your site (e.g. your virtual host is serving multiple applications),
# you can use an Alias directive:
# Alias «/glpi» «/var/www/glpi/public»

<Directory /var/www/glpi/public>
Require all granted

RewriteEngine On

# Redirect all requests to the GLPI router, unless file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>

Guarda y cierra el archivo cuando hayas terminado.

A continuación, ejecuta el siguiente comando para activar el archivo de host virtual glpi.conf. A continuación, verifica tu sintaxis de Apache2 para asegurarte de que no hay ningún error de sintaxis.

sudo a2ensite glpi.conf
sudo apachectl configtest

Si la sintaxis de Apache2 es correcta, deberías obtener la salida Sintaxis OK.

configurar host virtual

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio Apache2 y aplicar los nuevos cambios en tu archivo de host virtual.

sudo systemctl restart apache2

Por último, abre tu navegador web y visita el nombre de dominio de tu instalación GLPI, como http://glpi.hwdomain.io. Si la instalación se ha realizado correctamente, deberías ver la página de instalación de GLPI como la siguiente:

página de instalación de glpi

Proteger GLPI con certificados SSL/TLS

En este punto, estás casi listo para finalizar la instalación de GLPI. Ahora asegurarás GLPI generando certificados SSL/TLS desde Letsencrypt mediante la herramienta Certbot y el plugin Certbot para Apache.

Ejecuta el siguiente comando apt para instalar Certbot y el plugin Certbot Apache. Escribe y para confirmar y continuar con la instalación.

sudo apt install certbot python3-certbot-apache

instalar certbot

Una vez instalado Certbot, ejecuta el siguiente comando certbot para generar nuevos certificados SSL/TLS para tu instalación GLPI. Asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico en el siguiente comando.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d glpi.example.io

Ahora tus certificados SSl/TLS estarán disponibles en el directorio /etc/letsencrypt/live/dominio.com. Además, tu configuración de host virtual glpi.conf está ahora configurada con HTTPS, que se configura a través del plugin Certbot Apache2.

Instalación de GLPI a través del Instalador Web

Inicia tu navegador web y visita el nombre de dominio de tu instalación GLPI, como http://glpi.hwdomain.io/. Ahora serás redirigido a conexiones seguras HTTPS y obtendrás la página de instalación de GLPI.

Primero, selecciona el idioma que prefieras y haz clic en Aceptar.

seleccionar idioma

Acepta la Licencia GLPI y haz clic en Continuar para proseguir.

Licencia GLPI

Haz clic en Instalar para iniciar la instalación de GLPI.

instalar glpi

Confirma que tu entorno de servidor cumple las comprobaciones de requisitos de GLPI y haz clic en Continuar.

comprueba los requisitos

Introduce los datos del usuario MariaDB que has creado para tu instalación GLPI y haz clic en Continuar.

introducir datos de la base de datos

Selecciona la base de datos glpidb y vuelve a Continuar.

selecciona la base de datos

Se inicializará la base de datos GLPI, haz clic en Continuar.

inicialización de la base de datos

Configura la sección Recopilar datos con los ajustes que prefieras y haz clic en Continuar.

recoger datos ajustes

Selecciona Continuar para pasar a la siguiente sección.

configuración finalizada

En la última, deberías ver creados algunos usuarios GLPI por defecto, como glpi/glpi como administrador, tech/tech para la cuenta technican, normal/normal para la cuenta normal, post-only/postonly para la cuenta postonly.

Haz clic en Utilizar GL PI para finalizar la instalación.

instalación finalizada

Ahora deberías obtener la página de inicio de sesión GLPI. Introduce el usuario por defecto glpi con la contraseña glpi, y haz clic en Iniciar sesión.

página de acceso glpi

Una vez conectado, obtendrás el panel de administración de GLPI como el siguiente:

salpicadero glpi

También se te pedirá que cambies la contraseña por defecto del usuario glpi. Introduce la nueva contraseña de administrador glpi y haz clic en Guardar.

cambiar contraseña admin

Por último, vuelve a tu servidor terminal y ejecuta el siguiente comando para eliminar el script de instalación.

sudo rm /var/www/glpi/public/install/install.php

Conclusión

Para terminar, has instalado la Gestión de Inventarios GLPI con la pila LAMP (Apache2, MariaDB y PHP) en el servidor Debian 12. También has asegurado GLPI con certificados SSL/TLS generados desde Letsencrypt mediante Certbot y el plugin de Certbot para Apache. Ahora puedes explorar las amplias capacidades de GLPI como la gestión de inventarios, la gestión de infraestructuras de centros de datos (DCIM) y muchas más.

También te podría gustar...