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
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.
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.
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:
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.
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;
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.
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:
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.
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:
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
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.
Acepta la Licencia GLPI y haz clic en Continuar para proseguir.
Haz clic en Instalar para iniciar la instalación de GLPI.
Confirma que tu entorno de servidor cumple las comprobaciones de requisitos de GLPI y haz clic en Continuar.
Introduce los datos del usuario MariaDB que has creado para tu instalación GLPI y haz clic en Continuar.
Selecciona la base de datos glpidb y vuelve a Continuar.
Se inicializará la base de datos GLPI, haz clic en Continuar.
Configura la sección Recopilar datos con los ajustes que prefieras y haz clic en Continuar.
Selecciona Continuar para pasar a la siguiente sección.
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.
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.
Una vez conectado, obtendrás el panel de administración de GLPI como el siguiente:
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.
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.