Cómo instalar GLPI en Ubuntu 22.04 LTS

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.

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:

como descargar glpi para ubuntu 22.04 lts jammy jellyfish

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:

como instalar glpi en ubuntu 22.04 lts jammy jellyfish

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:

instalar glpi en ubuntu 22.04 lts jammy jellyfish

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:

instalador de glpi en ubuntu 22.04 lts jammy jellyfish

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:

requisitos de ubuntu 22.04 lts para instalar 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:

instalacion de glpi en ubuntu 22.04 lts jammy jellyfish

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:

instalando glpi sobre ubuntu 22.04 lts jammy jellyfish

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:

glpi para ubuntu 22.04 lts jammy jellyfish

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:

glpi en ubuntu 22.04 lts jammy jellyfish

¡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é:

Valora esta entrada

5/5 - (7 votos)

16 comentarios en «Cómo instalar GLPI en Ubuntu 22.04 LTS»

  1. 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.

    Responder
    • 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…

      Responder
  2. 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.

    Responder
  3. 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?

    Responder
    • 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á.

      Responder
  4. 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;
    […]

    Responder
    • 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.

      Responder
  5. 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!

    Responder

Deja un comentario