L’objectif de ce lab est de mettre en place l'outil de gestion de parc GLPI (version 11.0.7) sur une VM serveur, créer une VM cliente, plusieurs utilisateurs et enfin réaliser une interaction sous forme de ticketing.
Je vais pour cela utiliser :
- une machine virtuelle Debian 13 (serveur), configurée en Bridged (directement connecté sur le réseau local de la machine hôte)
- une machine virtuelle Windows 10 (client), également configurée en Bridged
Pour configurer l'outil GLPI, il faut :
-Un serveur web afin de rendre disponible l'application aux utilisateurs (j'ai utilisé Apache2.4.66)
-PHP 8.3.30, le language qui permet de faire fonctionner le serveur. Il faudrat également installer plusieurs extensions de ce language.
-Une base de donnée pour stocker et organiser les informations de l'application (j'ai utilisé Mariadb 11.8.6)
- L'application glpi.
Avant toute chose, ouvrir un terminal (Ctrl+Alt+T) et mettre à jour les paquets
sudo apt update && sudo apt upgrade
On peut désormais installer Apache 2
Point crucial pour le reste de la configuration: il nous faut connaître l'adresse IP de notre machine:
ip address
Sur un navigateur (ici Firefox), tester Apache2. Pour cela je rentre mon adresse ip, et si tout vas bien, je devrais tomber sur la page par défaut d'Apache 2
C'est bien le cas ! Nous allons configurer plus en détail Apache 2 un peu plus tard, mais d'abord, je vais m'occuper de PHP
L'installation de PHP est plus complexe, et le mieux est de l'installer depuis le site officiel. Il faut également prendre une version assez récente (minimum 8.2 pour GLPI 11), je prends donc une version 8.3.
Copier coller ensuite les commandes d'installation
-sudo apt install -y lsb-release ca-certificates curl
-sudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
-sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb
-sudo tee /etc/apt/sources.list.d/php.sources EOF
Types: deb
URIs: https://packages.sury.org/php/
Suites: $(lsb_release -sc)
Components: main
Signed-By: /usr/share/keyrings/debsuryorg-archive-keyring.gpg
EOF
-sudo apt update
-sudo apt install -y php8.3
Ces commandes servent à télécharger et installer PHP, de manière sécurisée, et à le rendre disponible par le serveur Apache2
Installer ensuite plusieurs extensions php complémentaires, nécessaires à GLPI
sudo apt install php8.3-xml php8.3-dom
sudo apt install php8.3-intl php8.3-mysql php8.3-zip php8.3-curl php8.3-mbstring
sudo apt install php8.3-bz2 php8.3-phar php8.3-zip php8.3-exif php8.3-ldap openssl php8.3-opcache
Puis redémarrer Apache 2 pour prendre en compte l'installation de PHP
À présent, installer la base de donnée
apt install mariadb-server
Aller sur la page Github du projet GLPI, sélectionner la version souhaitée (11.0.7)
Cliquer droit sur le fichier en .tgz > Copier le lien
Pour le télécharger depuis un terminal, taper la commande wget et coller le lien après:
wget https://github.com/glpi-project/glpi/releases/download/11.0.7/glpi-11.0.7.tgz
Puis désarchiver le fichier avec la commande tar:
tar -xvzf glpi-11.0.7.tgz
Trouver ensuite l'emplacement du fichier glpi:
find / -name "glpi"
Puis déplacer ce fichier vers le dossier dédié au serveur:
mv glpi /var/www/
Activer ensuite le mode "rewrite" d'Apache 2, qui permet d'optimiser l'URL du portail GLPI:
sudo a2enmod rewrite
Redémarrer ensuite Apache 2 pour prendre en compte les modifications:
sudo systemctl restart apache2
Le virtual host est un fichier qui permet de configurer des informations indispensables pour le fonctionnement de serveur.
Telles que l'adresse IP, le nom de domaine, l'emplacement du fichier glpi, du serveur WEB, le protocolle web utilisé.
Configurons le virtual host à l'aide de l'éditeur de texte nano:
nano /etc/apache2/sites-available/glpi.conf
À noter : j'ai changé l'adresse IP de ma VM entretemps (maintenant 192.168.1.74)
L'emplacement /var/www/glpi/public indique les fichiers qui serons disponibles au public.
Notre site est entièrement monté, il une étape cruciale: l'activation. Pour cela on utilise la commande suivante:
sudo a2ensite glpi.conf
Et bien évidemment, rafraîchir (encore) Apache :
systemctl reload apache2
Il faut conférer certains droits au serveur Apache, en l'enregistrant en tant que propriétaire de dossiers spécifiques. Il pourra ainsi effectuer toutes les actions indispensables dans l'activité de glpi, tels que les mises à jour, téléchargements et installation d'extensions
sudo chown www-data:www-data /var/www/glpi/config/
sudo chown -R www-data:www-data /var/www/glpi/files/
sudo chown www-data:www-data /var/www/glpi/marketplace/
Les cookies sont des informations sur les utilisateurs, qui seront stockées sur leur navigateur. Ils contiennent potentiellement des informations sensibles et nécessitent donc d'être sécurisé.
Pour cela il faut activer l'option httpOnly dans le fichier de configuration php.ini:
Se connecter à mariadb avec l'utilisateur root et son mot de passe, depuis le terminal, avec la commande suivante:
sudo mysql -u root -p
Une fois arrivé sur l'interface, il ya deux possibilités:
-modifier le mot de passe de l'utilisateur root pour accéder à mariadb
ALTER USER 'root'@'localhost' IDENTIFIED BY '123soleil';
-ou bien créer un nouvel utilisateur avec mot de passe
CREATE USER Ant2@'localhost' IDENTIFIED BY 'mo2pass';
lui accorder les droits maximum de la base de donnée:
GRANT ALL PRIVILEGES ON database.table* TO 'Ant2'@'host';
et enfin enregistrer les modifications des privilèges avec la commande suivante:
FLUSH PRIVILEGES;
Quitter ensuite mariadb avec la commande exit
Si la partie serveur a été configurée convenablement, glpi devrait être joignable depuis Firefox, en rentrant le nom de domaine ou l’adresse IP dans la barre de recherche. (indiqués dans le virtual host configuré précedemment)
Une page listant toutes les extensions, certaines nécessaires, d'autres facultatives... Il se peux que certaines requises sont absentes, il faudrat les installer pour continuer.
Et créer une nouvelle base donnée (exemple: glpi) > continuer
Après installation sur le navigateur, on peut se connecter à glpi avec les identifiant par défaut du super-admin (user= glpi , mot de passe= glpi ). On pourra changer ces identifiants une fois connecté.
On arrive enfin sur l'interface qui permettra de gérer l'ensemble d'un parc, bien qu'il n'y a pas encore de machines ou d'utilisateurs enregistrés. Pour en ajouter, il faut d'abord activer l'inventaire.
Aller dans Administration > Inventaire > Activer l'inventaire
J'ai installé une machine virtuelle Windows 10, elle va jouer le rôle de client à intégrer dans le parc.
L'agent GLPI est un programme qui sert à communiquer avec le serveur GLPI
Installer depuis github le fichier d’installation en .msi de l’agent glpi (windows)
Ouverture de l’installateur > cliquer sur next sur la licence> choisir un emplacement > choisir une installation (typical en l’occurrence)
Relier ensuite le client au serveur, en rentrant son adresse IP, comme ci dessous:
Et puis on installe en tant que service windows :
Une fois l'installation effectuée, faire ensuite un test en rentrant l'adresse IP sur un navigateur:
On arrive sur l'espace de connexion, mais l'agent glpi n'a pas encore relié la machine. Pour cela il faut redémarrer l'agent.
-Taper dans la barre de recherche Windows "services"
-Arrivé sur l’utilitaire, trouver GLPI Agent dans la liste > Clic droit > Redémarrer
Pour enregistrer la vm dans le parc de glpi, il faut passer par la page web locale de contrôle de l'agent GLPI
Arrivé sur l'interface, Cliquer sur force an inventory afin d’intégrer la VM client dans le serveur, puis rafraichir depuis l’interface admin. /p>
Retourner sur la VM serveur, ou se connecter sur GLPI en tant que super-admin, aller dans Parc > Ordinateurs
Rafraîchir si besoin, et miracle! notre VM cliente apparaît !
Sur GLPI, aller dans administration > utilisateurs. On arrive alors sur la liste des utilisateurs crées par défaut.
Cliquer sur Ajouter
-J’ajoute ensuite des Informations basiques : un identifiant, nom et prénom (ex: Michael jackson), puis un mot de passe (ex: 1234) > Ajouter > Sauvegarder
se déconnecter ensuite du profil super-admin, et se connecter avec l'identifiant que l'on vient de créer
On arrive alors sur l'interface utilisateur :
Je clique sur « signaler un incident » puis je rédige un message à l'attention de la boite de ticketing et clique sur envoyer :
Une fois reconnecté sur la session du super-admin, dans l'onglet Assistance > Tickets, on retrouve le ticket de l'utilisateur !
Le lab est fonctionnel à l'échelle du réseau local. J'ai pu configurer le serveur, connecter une machine cliente, créer un utilisateur et faire une interaction basique entre helpdesk et utilisateur sous forme de ticket
Sources (Youtube/tuto):
-Frederic Bui
-Numelion IT
-IT connect
-TSSR-AFPA-SER