GLPI (Gestionnaire Libre de Parc Informatique) és una eina lliure de
gestió de serveis TI (ITSM) que permet portar l’inventari d’equips, la
gestió d’incidències, els actius de programari i molt més. En aquest
document es mostra com instal·lar GLPI en un servidor Ubuntu 26.04 LTS,
com connectar-lo amb OCS Inventory per automatitzar l’inventari de
màquines, i com configurar l’autenticació i la importació d’usuaris des
d’un servidor LDAP.
GLPI Logo
Requisits previs
Servidor amb Ubuntu Server 26.04 LTS instal·lat i actualitzat.
Mínim 2 CPU i 2 GB de RAM (recomanat 4 GB en entorns amb diversos
usuaris).
Accés root o usuari amb privilegis sudo.
Un nom de domini o, com a mínim, una IP fixa per al servidor.
Connexió a Internet per descarregar paquets.
1. Prepara el sistema
Actualitza la llista de paquets
sudo apt update
Actualitza el sistema
sudo apt upgrade
1.1. Instal·la
Apache, PHP i extensions necessàries
GLPI necessita PHP 8.2 o superior. Ubuntu 26.04 LTS ja inclou PHP 8.5
als seus dipòsits oficials, per la qual cosa no cal afegir dipòsits
externs.
php-ldap és imprescindible per a la integració amb LDAP
que es configurarà més endavant, i php-soap/php-cas per a funcionalitats
addicionals d’autenticació i API.
1.2. Instal·la MariaDB
sudo apt install mariadb-server
Un cop instal·lat, assegura’l:
sudo mariadb-secure-installation
Respon afirmativament a totes les preguntes (establir contrasenya
root, eliminar usuaris anònims, desactivar accés remot de root, eliminar
la base de dades de test i recarregar privilegis).
NOTE: MariaDB is secure by default in Debian. Running this script is useless at best, and misleading at worst. This script will be removed in a future MariaDB release in Debian. Please read /usr/share/doc/mariadb-server/README.Debian.gz for details.Enter root user password or leave blank:Enter current password for root (enter for none): OK, successfully used password, moving on...Setting the root password or using the unix_socket ensures that nobodycan log into the MariaDB root user without the proper authorisation.You already have your root account protected, so you can safely answer 'n'.Switch to unix_socket authentication [Y/n]Enabled successfully (or at least no errors was emitted)!Reloading privilege tables.. ... Success!You already have your root account protected, so you can safely answer 'n'.Change the root password? [Y/n]New password: Re-enter new password: Password updated successfully!Reloading privilege tables.. ... Success!By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem. This is intended only for testing, and to make the installationgo a bit smoother. You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n]SQL executed without errors!The operation might have been successful, or it might have not done anything.Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n]SQL executed without errors!The operation might have been successful, or it might have not done anything.By default, MariaDB comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n] - Dropping test database...SQL executed without errors!The operation might have been successful, or it might have not done anything. - Removing privileges on test database...SQL executed without errors!The operation might have been successful, or it might have not done anything.Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.Reload privilege tables now? [Y/n] ... Success!Cleaning up...All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure.Thanks for using MariaDB!
Activa i arrenca els serveis:
sudo systemctl enable --now apache2 mariadb
Comprova que estiguin actius
systemctl is-active apache2 mariadb
Ambdós haurien de mostrar active.
2. Crea la base de dades de
GLPI
Accedeix a MariaDB com a root:
sudo mysql -u root -p
I executa dins de la consola SQL:
CREATEDATABASE glpi;GRANTALLPRIVILEGESON glpi.*TO usuari@localhost IDENTIFIEDBY'una_contrasenya_segura';GRANTSELECTON mysql.time_zone_name TO usuari@localhost;FLUSHPRIVILEGES;EXIT;
📌
Important
Substitueix una_contrasenya_segura per una contrasenya
forta i guarda-la, ja que la necessitaràs al punt 5 durant la instal·lació amb
l’assistent.
El permís sobre mysql.time_zone_name permet que GLPI
gestioni correctament les zones horàries, ja que és una eina pensada per
a equips distribuïts arreu del món. Si la taula de zones horàries de
MySQL/MariaDB no està carregada, es pot carregar amb:
sudo mysql_tzinfo_to_sql /usr/share/zoneinfo |sudo mysql -u root -p mysql
3. Descarrega i desplega GLPI
Descarrega l’última versió estable des del dipòsit oficial de GitHub
(en el moment d’escriure aquest document, la 11.0.8). Pots consultar la
versió més recent a https://github.com/glpi-project/glpi/releases
Descomprimeix al document root per defecte d’Apache.
sudo tar -xvzf glpi-11.0.8.tgz -C /var/www/html/
Esborra el fitxer descarregat.
rm glpi-11.0.8.tgz
3.1. Estructura de
directoris recomanada
Des de la versió 10, la documentació oficial de GLPI recomana separar
la configuració, els fitxers de dades i els registres de fora del
directori web públic, per motius de seguretat.
Crea el fitxer local_define.php que redirigeix cap a /etc/glpi (aquest és l’únic fitxer que GLPI necessita
trobar al webroot per saber on és la resta):
4.1. Certificat
SSL autosignat per a glpi.thos.local
Atès que GLPI gestiona credencials d’usuari (i, més endavant,
l’autenticació contra LDAP), és molt recomanable servir-lo sempre sobre
HTTPS, encara que sigui amb un certificat autosignat dins d’una xarxa
interna o de centre educatiu sense un nom de domini públic.
Genera el certificat
Genera un certificat autosignat vàlid durant 825 dies (límit habitual
acceptat per navegadors moderns) amb el Common Name (CN)
corresponent al nom del servidor.
L’extensió subjectAltName (SAN) és necessària perquè els
navegadors moderns (Chrome, Firefox) ja no validen certificats que només
especifiquin el nom al camp CN; cal que el SAN inclogui el
mateix nom de domini.
Crea un fitxer de configuració de virtual host específic per a GLPI.
El DocumentRoot ha d’apuntar al directori public/, que és l’arrel pública segura de GLPI 10/11:
Enabling module rewrite.Enabling module headers.Considering dependency mime for ssl:Module mime already enabledConsidering dependency socache_shmcb for ssl:Enabling module socache_shmcb.Enabling module ssl.See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.To activate the new configuration, you need to run: systemctl restart apache2
Activa els llocs
sudo a2ensite glpi.conf glpi-ssl.conf
Resposta:
Enabling site glpi.Enabling site glpi-ssl.To activate the new configuration, you need to run: systemctl reload apache2
Si l’eina de tallafocs ufw està activa, obre també el
port HTTPS:
sudo ufw allow 'Apache Full'
Resposta esperada:
Rules updatedRules updated (v6)
4.6. Cookies
Cal indicar a PHP que les cookies de sessió només s’enviïn per
connexions xifrades:
sudo nano /etc/php/8.5/apache2/php.ini
Busca la línia (normalment ja hi és, comentada o a 0): session.cookie_secure = 0, i canvia-la a:
session.cookie_secure = 1
4.7. Reinicia Apache
Com que has modificat el fitxer de configuració font
d’apache2.service cal que executis systemctl daemon-reload
per tornar a carregar les unitats.
sudo systemctl daemon-reload
Reinicia Apache
sudo systemctl restart apache2.service
✅
Consell
Si l’Apache permet l’accés directe a /var/www/html/glpi/ (sense passar per public/), l’assistent d’instal·lació mostrarà l’avís
“Web server root directory configuration is not safe”.
Assegura’t que el DocumentRoot apunta exclusivament a public/.
4.8. Avís del
navegador per certificat no confiat
En tractar-se d’un certificat autosignat (no emès per una entitat
certificadora reconeguda), els navegadors mostraran un avís de seguretat
(“La connexió no és privada” o similar) la primera vegada que
s’accedeixi a https://glpi.thos.local/. Això és normal i
esperat en aquest escenari; cal acceptar l’excepció de seguretat per
continuar.
Per evitar aquest avís a tots els equips de l’organització, es pot
distribuir el fitxer glpi.thos.local.crt com a certificat
de confiança mitjançant una política de grup (Active Directory) o gestió
centralitzada de certificats, en lloc de canviar a un certificat emès
per una CA pública.
9 - Resum i instal·lació: revisar i prémer
Instal·lar.
Instal·lació finalitzada
10 - Accés amb les credencials: glpi / glpi
Accés com a Super-Admin
11 - Tauler de control
Tauler de control
12 - Pas de seguretat obligatori després de la
instal·lació:
Elimina el fitxer d’instal·lació:
sudo rm /var/www/html/glpi/install/install.php
Canvia les contrasenyes per defecte dels quatre usuaris creats
(glpi, tech, normal, post-only) des d’Administració >
Usuaris.
Usuaris
6. Configuració de
tasques automàtiques (cron)
GLPI necessita executar tasques automàtiques (notificacions, neteja
de la base de dades, sincronitzacions, etc.). Configura un cron que
executi l’script cron.php cada minut:
OCS Inventory NG és
una eina d’inventari automàtic de maquinari i programari mitjançant
agents instal·lats als equips. La integració amb GLPI permet importar i
sincronitzar automàticament aquest inventari dins de GLPI, mantenint
GLPI com a consola central de gestió.
7.1. Requisits previs
Un servidor OCS Inventory NG ja instal·lat i funcionant (versió 2.x
o superior), amb agents desplegats als equips client.
El connector oficial ocsinventoryng per a GLPI,
compatible amb les versions 10.x i 11.x de GLPI.
7.3.
Configuració de la connexió amb el servidor OCS
Dins de GLPI, ves a Eines > OCS Inventory NG i
afegeix un nou servidor OCS amb les dades següents:
Afegeix servidor OCSNG
Camp
Descripció
URL del servidor OCS
p. ex. http://ocsserver/ocsreports
Tipus de connexió
Base de dades (per defecte) o API REST
Servidor de la BD OCS
IP o nom del servidor MySQL d’OCS
Nom de la BD OCS
normalment ocsweb
Usuari de la BD OCS
usuari amb permisos de lectura sobre ocsweb
Contrasenya de la BD OCS
contrasenya de l’usuari anterior
El connector admet dos mètodes de connexió: accés directe a la base
de dades d’OCS (mètode tradicional) o connexió a través de l’API REST
d’OCS Inventory. El mètode de base de dades segueix sent el més habitual
i directe.
Configuració del servidor
Si s’opta per la connexió directa a la base de dades, cal
assegurar-se que el servidor MySQL/MariaDB d’OCS Inventory permet
connexions remotes des del servidor GLPI (obrir el port 3306 al
tallafocs si els servidors són diferents), i crear un usuari amb
permisos de només lectura sobre la base ocsweb:
La prova de connexió fallarà. Edita la base de dades d’OCS
Inventory
mysql-u root -p ocsweb
Actualitza el valor a 1
UPDATE config SET IVALUE='1'WHERE NAME='TRACE_DELETED';EXIT;
Connexió exitosa
7.4. Regles d’importació
Abans d’importar, és recomanable definir les regles d’assignació a
Configuració > Regles > Regles per a la importació i
vinculació d’ordinadors. Aquestes regles determinen, per
exemple:
A quina entitat de GLPI s’assigna cada equip importat (segons
l’etiqueta TAG, el domini, el rang d’IP, etc.).
Com es vinculen els equips ja existents a GLPI per evitar duplicats
(normalment pel número de sèrie o l’adreça MAC).
7.5. Procés d’importació
A Connectors > OCSNG > Importar nous equips de
l’ordinador:
Selecciona el servidor OCS configurat.
Tria els equips a importar (es pot filtrar per nom, IP, TAG,
etc.).
Selecciona les dades a sincronitzar: maquinari, programari, xarxa,
etc.
Clica a Importar.
El connector mostra una interfície amb l’estat dels processos
d’importació en curs o finalitzats.
Importació d’equipsEquips afegits
7.6. Sincronització automàtica
Per mantenir l’inventari sempre actualitzat, es pot configurar una
tasca automàtica (a través del cron de GLPI ja configurat al punt 6) que
sincronitzi periòdicament els equips ja vinculats. Això es configura a
Connectors > OCSNG > Tasques automàtiques, on es
pot triar la freqüència (horària, diària, setmanal).
💡
Nota
Sobre l’evolució del connector: GLPI incorpora des
de fa diverses versions el seu propi agent natiu (GLPI Agent,
antic FusionInventory), que pot substituir OCS Inventory si es vol
simplificar l’arquitectura a llarg termini. No obstant això, si ja es
disposa d’una infraestructura OCS desplegada, el connector ocsinventoryng segueix sent la via recomanada per
mantenir-la integrada amb GLPI.
8. Configuració dels
usuaris des d’LDAP
GLPI permet autenticar i importar usuaris des d’un directori LDAP
(Active Directory, OpenLDAP, etc.), evitant haver de crear comptes
manualment.
8.1. Comprovació prèvia
Cal assegurar-se que l’extensió php-ldap està
instal·lada (ja s’ha inclòs al punt 1.1). Es
pot verificar amb:
php-m|grep ldap
Resposta esperada:
ldap
8.2. Configuració del
directori LDAP a GLPI
A GLPI, ves a Configuració > Autenticació > Directoris
LDAP i clica el botó Afegeix.
Afegeix directori LDAP
Els camps principals a omplir són:
Camp
Descripció
Exemple
Nom
Nom descriptiu del directori
LDAP Institut
Servidor
IP o nom DNS del servidor LDAP
ldap.thos.local
Port LDAP
Port del servei (389 sense xifrar, 636 per a LDAPS)
389
Filtre de connexió
Filtre per limitar quins objectes es consideren usuaris
(objectClass=inetOrgPerson) o (objectClass=user) per a AD
BaseDN
Base de cerca dins l’arbre LDAP
dc=thos,dc=local
Compte per a connexió (RootDN)
Compte tècnic amb permís de lectura
cn=admin,dc=thos,dc=local
Contrasenya
Contrasenya del compte anterior
—
Camp de login
Login de l’usuari
uid
Per a Active Directory, normalment el RootDN té la
forma cn=svc_glpi,ou=ServiceAccounts,dc=thos,dc=local i el
filtre de connexió sol ser (&(objectClass=user)(objectCategory=person)).
Configuració directori LDAP
8.3. Test de connexió
Un cop desats els paràmetres, GLPI ofereix un botó Prova a
la mateixa pantalla de configuració, que verifica la connectivitat i les
credencials abans de continuar.
Prova la connexió LDAP
8.4. Mapatge d’atributs
A la pestanya Usuaris del directori LDAP configurat,
es defineix la correspondència entre els atributs de LDAP i els camps
d’usuari de GLPI. Els més habituals són:
Camp de GLPI
Atribut LDAP típic (OpenLDAP)
Atribut LDAP típic (Active Directory)
Login
uid
sAMAccountName
Nom
givenName
givenName
Cognom
sn
sn
Correu electrònic
mail
mail
Telèfon
telephoneNumber
telephoneNumber
Mapatge d’atributs LDAP
8.5. Importació d’usuaris
Clica a Administració > Usuaris > Enllaç LDAP
Importa usuaris LDAPImporta o sincronitza usuaris
LDAP
Els usuaris importats podran autenticar-se a GLPI fent servir
directament les seves credencials d’LDAP, ja que GLPI delega
l’autenticació al directori en lloc de desar contrasenyes pròpies.
Login d’usuari LDAPInterfície de l’usuari
8.6. Sincronització
automàtica i grups
Per mantenir els usuaris sincronitzats (altes, baixes i canvis
d’atributs), es recomana:
Activar l’opció Sincronització automàtica dins la
configuració del directori, que utilitzarà el cron de GLPI (ja
configurat al punt
6) per actualitzar periòdicament els comptes.
Si es vol importar també l’estructura de grups de LDAP (per exemple,
per assignar perfils o entitats automàticament segons el grup),
configurar-ho a Configuració > Autenticació > Directoris
LDAP > Grups LDAP, indicant el BaseDN de grups i el filtre
corresponent (p. ex. (objectClass=groupOfNames)).
Es poden definir regles d’autenticació a
Configuració > Regles > Regles per a l’autenticació
LDAP per assignar automàticament perfils, entitats o ubicacions
als usuaris importats segons atributs LDAP (per exemple, l’OU a la qual
pertanyen).
8.7. Resolució de problemes
habituals
Error de connexió: comprovar que el port LDAP
(389/636) no està bloquejat pel tallafocs entre el servidor GLPI i el
controlador de domini.
No es troben usuaris: revisar el BaseDN i el
filtre de cerca; provar primer amb una eina externa com ldapsearch per confirmar que la consulta retorna
resultats:
Usuaris importats sense correu o dades: revisar
el mapatge d’atributs, ja que pot variar segons l’esquema LDAP del
directori d’origen.
9. Resum final
Amb aquesta configuració, el servidor Ubuntu queda amb:
Un GLPI funcional sobre Apache, PHP i MariaDB, amb
l’estructura de directoris segura recomanada (configuració, dades i
registres fora de l’arrel web pública).
La importació automàtica d’inventari des d’OCS
Inventory NG mitjançant el connector oficial, amb regles d’assignació i
sincronització periòdica.
L’autenticació i importació d’usuaris des de LDAP,
amb mapatge d’atributs i sincronització automàtica per mantenir els
comptes actualitzats.
Si en el futur el servidor passa a tenir un nom de domini públic
accessible des d’Internet, es pot substituir el certificat autosignat
per un certificat emès per una entitat de confiança (per exemple,
mitjançant Certbot/Let’s Encrypt), reutilitzant el mateix VirtualHost de port 443 i només canviant les directives SSLCertificateFile i SSLCertificateKeyFile.