Cómo instalar GLPI en CentOS 9

En este artículo veremos cómo instalar GLPI en CentOS 9 paso a paso, de modo que puedas desplegar esta aplicación de gestión de parque informático e incidencias de usuario sobre tu servidor o VPS CentOS, tanto para red local como a través de Internet.

Dispones de este tutorial para otras versiones de CentOS o incluso otros sistemas operativos que puedes encontrar fácilmente con la caja de búsqueda.

Antes de instalar GLPI en CentOS 9

Si quieres completar los pasos de esta guía de instalación de GLPI en CentOS 9 es importante contar con los siguientes requerimientos:

  • Una máquina CentOS Stream 9 actualizada.
  • Un entorno tipo LAMP (servicio web con PHP 8.2 recomendado y servicio de bases de datos).
  • Acceso a línea de comandos con un usuario con permisos de sudo.
  • Conexión a Internet.

En caso de no disponer aún del entorno necesario, puede que te interese consultar nuestra guía de instalación de la pila LAMP en CentOS 9.

Además, necesitaremos algunas herramientas que podemos obtener desde los repositorios de CentOS 9, por lo que actualizamos las listas de paquetes:

~$ sudo yum update

E instalamos dichas herramientas:

~$ sudo yum install -y tar wget

Cómo descargar GLPI para CentOS 9

Vamos a descargar GLPI para CentOS Stream 9 desde el sitio oficial del proyecto, donde buscaremos la última versión disponible (normalmente suele ser la primera entrada de la lista, aunque a veces se liberan versiones beta):

como descargar GLPI para centos 9 / centos stream 9

Encontraremos el paquete en formato .tgz, pudiendo realizar la descarga desde el navegador o desde consola, con la herramienta wget:

~$ wget https://github.com/glpi-project/glpi/releases/download/10.0.15/glpi-10.0.15.tgz

Cómo instalar GLPI en CentOS 9

Para instalar GLPI en CentOS 9 debemos realizar una serie de tareas que explicamos detalladamente a continuación.

Archivos de GLPI

Descomprimimos el paquete que acabamos de descargar directamente en la ubicación que nos interese para su integración en el servicio web (en este caso como un alias dentro del sitio web principal):

~$ sudo tar xf glpi-10.0.15.tgz -C /var/www/

Por seguridad conviene que algunos directorios de GLPI estén fuera de la estructura navegable de la aplicación. Para ello crearemos algunos de estos directorios fuera de donde lo haría por defecto la propia aplicación :

~$ sudo mkdir /etc/glpi /var/log/glpi

Y movemos un directorio ya existente:

~$ sudo mv /var/www/glpi/files/ /var/lib/glpi

Para que GLPI esté al tanto de estos cambios crearemos un archivo de configuración:

~$ sudo nano /var/www/glpi/inc/downstream.php

El contenido serán las instrucciones que informan a la aplicación sobre la ubicación del directorio externo de configuración:

<?php
define('GLPI_CONFIG_DIR', '/etc/glpi/');
if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
        require_once GLPI_CONFIG_DIR . '/local_define.php';
}

Guardamos este archivo y creamos otro dentro del nuevo directorio de configuración:

~$ sudo nano /etc/glpi/local_define.php

Y en esta ocasión el contenido informa a GLPI de las ubicaciones del resto de directorios externos:

<?php
define('GLPI_VAR_DIR', '/var/lib/glpi');
define('GLPI_LOG_DIR', '/var/log/glpi');

Como GLPI necesita escribir en su propio directorio de instalación, cambiaremos la propiedad del mismo al usuario con el que corre el servicio web en CentOS 9:

~$ sudo chown -R apache: /var/www/glpi/ /etc/glpi/ /var/lib/glpi/ /var/log/glpi/

SELinux

En caso de tener activado SELinux en CentOS 9, que es lo habitual, no basta con modificar los permisos estándar de los archivos de GLPI para que el servicio web pueda modificarlos, sino que será necesario crear un contexto de lectura/escritura con semanage:

~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/glpi(/.*)?"

Aplicamos los contextos correctos a los directorios de GLPI con el comando restorecon:

~$ sudo restorecon -R /var/www/glpi/ /etc/glpi/ /var/lib/glpi/ /var/log/glpi/

Además, hay que permitir ciertas capacidades de conexión al servicio web, como el acceso a red:

~$ sudo setsebool -P httpd_can_network_connect on

El acceso a bases de datos en red:

~$ sudo setsebool -P httpd_can_network_connect_db on

Y el envío de correo electrónico:

~$ sudo setsebool -P httpd_can_sendmail on

PHP

GLPI requiere la presencia en CentOS 9 de ciertas extensiones que podemos obtener desde los repositorios del sistema:

~$ sudo yum install -y php-gd php-intl php-ldap php-mbstring php-opcache php-pecl-apcu php-xml php-zip

El instalador recomienda la instalación de la extensión sodium, pero lamentablemente no está presente en los repositorios de CentOS 9.

Por otro lado debemos realizar algún ajuste de configuración:

~$ sudo nano /etc/php.ini

Localizamos la directiva session.cookie_httponly:

...
session.cookie_httponly =
...

Y le asignamos el valor «on«:

...
session.cookie_httponly = on
...

Guardamos el archivo y aplicamos toda esta configuración recargando la configuración del servicio de PHP:

~$ sudo systemctl reload php-fpm

Servicio web

Vamos a integrar la aplicación GLPI como un alias del sitio principal, para lo que crearemos un archivo de configuración específico:

~$ sudo nano /etc/httpd/conf.d/glpi.conf

En este nuevo archivo definiremos el alias, que llamaremos /glpi, y permitiremos el uso de archivos .htaccess de configuración para el servicio web:

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>

Guardamos los cambios y recargamos la configuración del servicio web:

~$ sudo systemctl reload httpd

Base de datos

GLPI trabaja sobre el servicio de base de datos de CentOS 9 (u otra máquina remota), que debe ser del tipo MariaDB/MySQL.

Para configurar el servicio local conectamos con el cliente de consola mysql y un usuario administrador:

~$ sudo mysql

Y si accede con 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 que manejará la base de datos:

> create user glpi@localhost identified by 'XXXXXXXX';

Concedemos los permisos necesarios al usuario sobre la base de datos:

> grant all privileges on glpi.* to glpi@localhost;

También debemos proporcionar permiso de acceso a la tabla de nombres de zonas horarias de MariaDB/MySQL:

> grant select on mysql.time_zone_name to glpi@localhost;

Y cerramos la conexión:

> exit

Normalmente la tabla de nombres de zonas horarias de MariaDB/MySQL no suele estar poblada por defecto, por lo que debemos hacerlo nosotros mismos desde consola, con el comando mysql_tzinfo_to_sql; en el caso de que tu administrador de bases de datos use contraseña:

~$ mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql

Y si no usa:

~$ mysql_tzinfo_to_sql /usr/share/zoneinfo/ | sudo mysql mysql

Instalador web

Accedemos al instalador web de GLPI en CentOS 9 desde un navegador añadiendo a la dirección IP o nombre DNS del servidor el alias que hemos creado anteriormente.

Por ejemplo, la máquina CentOS 9 que hemos empleado para realizar este tutorial es accesible en el subdominio centos9.local.lan, y hemos creado el alias /glpi, por lo que usamos http://centos9.local.lan/glpi como URL de acceso:

como instalar glpi en centos 9 / centos stream 9

Continuamos tras seleccionar el idioma y se nos mostrará la licencia de uso de GLPI:

instalar glpi en centos 9 / centos stream 9

Debemos aceptar expresamente estos términos de licencia para poder continuar.

Tendremos que elegir si queremos realizar una nueva instalación de GLPI o simplemente una actualización:

instalacion de glpi en centos 9 / centos stream 9

En este tutorial cubrimos el proceso de instalación, por lo que esa será la opción que elijamos.

Accedemos a una página de comprobación de requisitos del sistema:

requisitos para instalar glpi en centos 9 / centos stream 9

Si has seguido los pasos anteriores, todos los requisitos necesarios se cumplirán y podrás continuar. Si faltara alguno importante puedes tratar de solucionarlo y regresar a esta página, refrescándola con el enlace «Inténtalo de nuevo«.

Configuramos la conexión al servicio de bases de datos:

instalador de glpi para centos 9 / centos stream 9

Facilitamos la dirección del servidor de bases de datos (localhost en este ejemplo) y el usuario y la contraseña que creamos anteriormente.

Aunque se nos da la posibilidad de crear una base de datos desde el instalador, elegiremos la que previamente habíamos creado:

instalando glpi en centos 9 / centos stream 9

Al continuar se produce la inicialización de la base de datos, proceso que puede tomar unos minutos, y se nos informa del resultado:

En el siguiente paso podemos decidir si queremos enviar estadísticas de uso de GLPI y/o datos de la instalación actual de GLPI en nuestra organización:

También tendremos la posibilidad de contratar servicios profesionales de soporte visitando el enlace que se ofrece para ello:

Finalmente, el proceso de instalación llega a su término:

La página de fin de instalación nos informa de los usuarios  y contraseñas que el sistema crea por defecto:

  • glpi/glpi
  • tech/tech
  • normal/normal
  • post-only/postonly

Es el momento de iniciar sesión, para lo que usaremos el usuario glpi y su contraseña correspondiente (también glpi):

acceso a glpi en centos stream 9

Pero antes de entrar, por motivos de seguridad eliminaremos el instalador web desde consola:

~$ sudo rm /var/www/glpi/install/install.php

En caso de no hacerlo, recibiremos un aviso desde la página principal de la aplicación, que no se retirará hasta haber realizado esta operación.

El aviso que recibimos con seguridad es el de la existencia de usuarios del sistema con contraseñas por defecto:

glpi en centos 9 / centos stream 9

Deberíamos acceder a los perfiles de cada uno de estos usuarios (por ejemplo, siguiendo los enlaces de sus nombres en el propio aviso) y cambiar sus contraseñas:

configurar glpi en centos 9 / centos stream 9

Podemos aprovechar para completar información sobre el perfil. Una vez terminados los cambios utilizaremos el enlace «Guardar«.

Hecho esto con todos los usuarios, podemos regresar a la página principal, donde ya no encontraremos más avisos:

glpi para centos 9 / centos stream 9

Es el momento de empezar a trabajar y configurar nuestra aplicación de gestión de parque informático.

Conclusión

Ahora que sabes cómo instalar GLPI en CentOS 9 ya puedes comenzar a gestionar fácilmente el parque informático de tu organización, así como las incidencias de tus usuarios, gracias a esta potente herramienta de código libre.

¡Apoya comoinstalar.me!

¿Ya estás listo para gestionar tu parque informático gracias a este tutorial? Si es así y te apetece agradecérnoslo ayudando al mantenimiento de este sitio y la creación de más artículos y tutoriales, puedes hacerlo dejando 1 $ de propina desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (1 voto)

Deja un comentario