En este artículo explicamos cómo instalar GLPI en Ubuntu 22.04 LTS Jammy Jellyfish paso a paso, de modo que puedas montar sencilla y rápidamente esta aplicación web de inventarios IT sobre tu servidor o VPS Ubuntu.
Ubuntu 22.04 LTS no es la última versión de esta distribución. Si esta es la versión que te interesa puedes continuar con el tutorial, en caso contrario tal vez te interese consultar la guía de instalación de GLPI en Ubuntu que sí cubre este proceso en la última versión. También dispones de versiones de este tutorial para lanzamientos anteriores de Ubuntu (y otros sistemas), que podrás encontrar fácilmente en nuestro buscador.
Contenido
Antes de instalar GLPI en Ubuntu 22.04 LTS Jammy Jellyfish
Para poder completar los pasos de esta guía de instalación de Ubuntu 22.04 LTS Jammy Jellyfish bastará con que cumplas los siguientes requisitos básicos:
- Una máquina Ubuntu 22.04 LTS Jammy Jellyfish.
- La pila o entorno LAMP (servicio web con PHP hasta la versión 8.3 y bases de datos MariaDB/MySQL).
- Un usuario con privilegios de sudo.
- Acceso a Internet.
En caso de no disponer aún del entorno necesario podría ser de utilidad consultar nuestra guía de instalación de la pila LAMP en Ubuntu 22.04 LTS.
Lo ideal es trabajar sobre una conexión segura vía HTTPS, pero por motivos didácticos en este tutorial trabajaremos sobre HTTP.
Cómo descargar GLPI para Ubuntu 22.04 LTS
El primer paso será descargar GLPI para Ubuntu 22.04 LTS Jammy Jellyfish, para lo que visitaremos el sitio web del proyecto donde encontraremos la última versión estable:
Encontraremos un paquete en formato .tgz que podemos descargar desde el navegador o desde consola con alguna herramienta como wget:
~$ wget https://github.com/glpi-project/glpi/releases/download/10.0.15/glpi-10.0.15.tgz
Cómo instalar GLPI en Ubuntu 22.04 LTS
Para poder instalar GLPI en Ubuntu 22.04 LTS Jammy Jellyfish debemos realizar una serie de pasos con el fin de preparar el sistema para que finalmente el instalador web pueda realizar su trabajo. Veremos estos pasos de forma detallada a continuación.
Archivos de GLPI
Descomprimimos el paquete que acabamos de descargar en la ubicación definitiva de la aplicación:
~$ sudo tar xf glpi-10.0.15.tgz -C /var/www/
Para mejorar la seguidad de GLPI crearemos algunos directorios externos a la estructura navegable vía web:
~$ sudo mkdir /etc/glpi /var/log/glpi
También sacaremos el directorio files/ fuera de la estructura navegable:
~$ sudo mv /var/www/glpi/files/ /var/lib/glpi
Para que GLPI sepa dónde se encuentran estos directorios externos crearemos un pequeño archivo de configuración:
~$ sudo nano /var/www/glpi/inc/downstream.php
Su contenido será el siguiente:
<?php define('GLPI_CONFIG_DIR', '/etc/glpi/'); if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) { require_once GLPI_CONFIG_DIR . '/local_define.php'; }
Ahora crearemos otro archivo de configuración, este ya en /etc/glpi/:
~$ sudo nano /etc/glpi/local_define.php
Y su contenido indicará las rutas del resto de directorios externos:
<?php define('GLPI_VAR_DIR', '/var/lib/glpi'); define('GLPI_LOG_DIR', '/var/log/glpi');
Por último, como GLPI necesita poder escribir tanto en su directorio principal como en los externos, cambiaremos la propiedad de los mismos al usuario con el que corre el servicio web en Ubuntu 22.04 LTS:
~$ sudo chown -R www-data: /var/www/glpi/ /etc/glpi/ /var/lib/glpi/ /var/log/glpi/
Servicio web
GLPI puede hacer uso de los módulos Expires y Rewrite de Apache que normalmente no están activados en Ubuntu 22.04 LTS, por lo que los activamos:
~$ sudo a2enmod expires rewrite
Por otro lado, para hacer navegable la aplicación es necesario crear un archivo de configuración:
~$ sudo nano /etc/apache2/sites-available/glpi.conf
Su contenido será el alias que permitirá acceder a la aplicación y la activación de las configuraciones adicionales para el servicio web que se almacenan en los archivos .htaccess:
Alias /glpi /var/www/glpi/public <Directory /var/www/glpi/public> AllowOverride all RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </Directory>
Guardado el archivo, añadimos la nueva configuración:
~$ sudo a2ensite glpi.conf
Y reiniciamos el servicio web para aplicar todos estos cambios:
~$ sudo systemctl restart apache2
PHP
GLPI requiere la presencia en Ubuntu 22.04 LTS de ciertas extensiones de este lenguaje que instalaremos desde los repositorios, por lo que los actualizamos:
~$ sudo apt update
E instalamos las extensiones, en el caso de la versión incluida en la distribución:
~$ sudo apt install -y php-{mbstring,curl,gd,xml,intl,ldap,apcu,xmlrpc,cas,zip,bz2}
Si usamos una versión procedente del repositorio alternativo habrá que indicar el número de versión en el nombre de los paquetes; por ejemplo, para la 7.4 (que no incluye la extensión cas):
~$ sudo apt install -y php7.4-{mbstring,curl,gd,xml,intl,ldap,apcu,xmlrpc,zip,bz2}
Una vez descargadas e instaladas todas las extensiones y sus dependencias, editaremos el archivo php.ini para realizar algún ajuste necesario, en el caso de la versión incluida en el sistema:
~$ sudo nano /etc/php/8.1/apache2/php.ini
O si hemos instalado una versión alternativa, por ejemplo, la 8.2:
~$ sudo nano /etc/php/8.2/apache2/php.ini
Buscamos la siguiente directiva:
... session.cookie_httponly = ...
Y le damos el valor on:
... session.cookie_httponly = on ...
Guardamos y cerramos el archivo y recargamos la configuración del servicio web para aplicar todos estos cambios:
~$ sudo systemctl reload apache2
Base de datos
GLPI necesita trabajar sobre una base de datos tipo MariaDB/MySQL, así que conectaremos al servicio de bases de datos con el cliente de consola y un usuario administrador, ya sea usando autenticación por sockets de Unix:
~$ sudo mysql
O indicando usuario y contraseña:
~$ mysql -u root -p
Creamos la base de datos para GLPI:
> create database glpi charset utf8mb4 collate utf8mb4_unicode_ci;
Creamos el usuario:
> create user glpi@localhost identified by 'XXXXXXXX';
Concedemos permisos al usuario sobre la base:
> grant all privileges on glpi.* to glpi@localhost;
Igualmente concedemos permisos a dicho usuario sobre la tabla de zonas horarias del servicio de bases de datos:
> grant select on mysql.time_zone_name to glpi@localhost;
Y cerramos la conexión:
> exit
Normalmente el servicio de bases de datos no tiene poblada la tabla de zonas horarias, pero es algo que podemos hacer manualmente desde consola. Si conectamos a la base de datos sin contraseña lo haremos así:
~$ mysql_tzinfo_to_sql /usr/share/zoneinfo | sudo mysql mysql
Y si usamos usuario y contraseña, así:
~$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Es normal que se produzcan avisos durante la ejecución del comando anterior.
Instalador web
Es hora de lanzar el instalador web de GLPI para Ubuntu 22.04 LTS Jammy Jellyfish desde un navegador, para lo que introduciremos la dirección del servidor (IP, nombre DNS, dominio, localhost, etc.) seguida de la ruta o alias de la aplicación.
Por ejemplo, la máquina Ubuntu 22.04 LTS sobre la que hemos preparado este tutorial es accesible en el subdominio ubuntu2204.local.lan y hemos configurado el alias /glpi, por lo que usaremos http://ubuntu2204.local.lan/glpi como URL de acceso:
En la primera página del instalador simplemente elegiremos el idioma en queremos que se muestre GLPI.
Seguidamente se mostrará la licencia de este software:
Si continuamos con la instalación se entenderá que aceptamos implícitamente los términos de la licencia.
El instalador nos dará la opción de instalar por completo GLPI o actualizar una instalación existente:
En este caso se trata de una instalación nueva, por lo que elegimos «Instalar«.
Se mostrará una lista de verificación de requerimientos del sistema para poder llevar a cabo la instalación de GLPI:
Si hemos seguido al pie de la letra los pasos anteriores, todos estos requisitos se cumplirán y podremos continuar la instalación. En caso de que alguno de ellos no se cumpla habrá que solventar el problema y volver a realizar la comprobación.
Seguidamente se mostrará el formulario para configurar la conexión a la base de datos:
El servidor SQL será normalmente la propia máquina donde estamos realizando la instalación (localhost) y el usuario y la contraseña serán los que creamos en pasos anteriores.
Comprobada la conexión, el instalador nos ofrecer crear una base se datos o utilizar una ya existente:
Seleccionaremos la base de datos que creamos en pasos anteriores (en este ejemplo la llamamos glpi) y continuamos.
Se procederá a la inicialización de dicha base de datos, labor que requiere unos instantes (puede tomar varios minutos), tras lo que se mostrará el resultado de la operación:
En el siguiente paso podemos configurar el envío de estadísticas de uso, donde se nos explica el motivo de la necesidad de dicha información:
También tenemos la posibilidad de registrar el uso de GLPI.
A continuación el instalador nos informa de la posibilidad de contratar los servicios profesionales de soporte de GLPI:
Finalmente, la instalación termina y se nos informa de la existencia de cuatro usuarios y sus respectivas contraseñas:
Debemos recordar dichos usuarios para poder iniciar sesión.
Antes de continuar es muy recomendable eliminar el instalador web por seguridad. Podemos hacer esta operación desde consola:
~$ sudo rm /var/www/glpi/install/install.php
Si no lo hacemos recibiremos constantemente avisos dentro de la aplicación.
Accedemos por fin a la aplicación, bien usando el enlace «Utilizar GLPI» de la última página del instalador o usando la URL de acceso, y se mostrará el inicio de sesión:
Podemos utilizar glpi como usuario y contraseña para acceder.
Se mostrará a continuación la interfaz principal de GLPI:
Un aviso nos recuerda que los cuatro usuarios de acceso a GLPI tienen contraseñas por defecto, así que debemos cambiarlas por seguridad. Este aviso no desaparecerá hasta que cambiemos las contraseñas.
Visitando la opción «Administración / Usuarios» tendremos acceso a la lista de usuarios del sistema, entre los que figuran los cuatro usuarios que buscamos:
Accediendo uno por uno al perfil de cada usuario, siguiendo su enlace en la lista, podremos cambiar su contraseña y cualquier otro ajuste que queramos:
Guardamos los cambios del perfil y repetimos la operación con el resto de usuarios.
De regreso a la página principal de la interfaz de GLPI, el aviso habrá desaparecido:
¡Todo listo para empezar a trabajar con GLPI sobre Ubuntu 22.04 LTS!
Conclusión
Ahora que ya sabes cómo instalar correctamente GLPI en Ubuntu 22.04 LTS Jammy Jellyfish ya puedes trabajar con esta plataforma de gestión e inventario de TI tanto en red local como a través de Internet.
Si quieres realizar alguna corrección o sugerencia puedes dejar un comentario. Los comentarios están moderados para evitar SPAM, pero se revisan prácticamente a diario. Los comentarios sobre problemas técnicos durante la instalación pueden demorarse algo más en ser atendidos, depende del tiempo disponible.
¡Apoya comoinstalar.me!
¿Ya funciona esta plataforma sobre tu máquina gracias a nuestra breve guía de instalación? Si es así y quieres agradecérnoslo, siempre es bien recibida cualquier mínima aportación para el mantenimiento y ampliación de este sitio.
Puedes ayudarnos dejando una propina de tan solo 1 $ desde PayPal:
O, si te sientes especialmente generoso, puedes invitarnos a un café:
Actualizado a la versión 10.0.15.
Excelente aporte, compañero. También he tratado con muchas páginas y no he tenido éxito. La recomendación es que si quieren hacer la instalación siguiendo estos pasos, les recomiendo que lo realicen en una máquina virtual.
Actualizado a la versión 10.0.14.
Hola, no tengo forma de pasar del paso 3, se queda en inicialización de base de datos. ¿Alguna ayuda? Se agradece.
Hola, Franco. En la última versión de GLPi que probé esa fase de la instalación tomó varios minutos. Te recomiendo un poco de paciencia y mirar algún vídeo de YouTube mientras tanto…
Hay varios tutoriales para esta tarea, pero tan completo como este, ninguno.
Soy usuario de Glpi desde la versión 8 y siempre he tenido que romperme la cabeza al instalarlo en las distintas versiones de Ubuntu.
Un aporte excelente.
¡Gracias por tus palabras, Antonio! Hacemos lo que podemos…
Buenas tardes, genial el tutorial, muchas gracias por compartir. Una consulta, ¿hay forma de apuntar a otro puerto que no sea el 80 para ingresar el sistema GLPI?
Hola, Joseph. Sí la habría, bastaría con configurar el servidor web para que atienda peticiones en un puerto distinto al de defecto (80 para HTTP, 443 para https). No es difícil de hacer, una simple búsqueda te iluminará.
Actualizado a la versión 10.0.7.
Hola, lo instalé desde Ubuntu 20 la versión 10.0.7 y me jaló salvo por una advertencia que marca de una carpeta, busqué y encontré la solución, por si le sirve a alguien.
He leído en los comentarios sobre este cambio, que esta será una configuración obligatoria que comenzará con GLPI 10.1. En mi opinión, este es un cambio de requisito importante y no debe establecerse antes de GLPI 11.
De todos modos, es posible deshabilitar el mensaje por completo editando /var/www/glpi/src/System/Requirement/SafeDocumentRoot.php y agregando un «retorno»; declaración justo después de «verificación de función protegida ( )»:
[…]
protected function check()
{
return; // out_of_context = true;
[…]
Hola, Daniel. Acabo de actualizar el tutorial y he añadido la configuración necesaria para evitar esa alerta. No es necesario modificar el código fuente de GLPi, sino la configuración del servicio web.
Excelente tutorial, estoy a punto de colocarlo en un servidor que trae el OCS Inventory y la duda que tengo es si se puede fusionar y qué ventajas tendría.
¡Saludos!
Actualizado a la versión 10.0.5.
Excelente aporte. Logré instalarlo tal cual las indicaciones. Agradecido desde Caracas, Venezuela.
Me alegro de que te sirviera, Óscar.