GLPI
- GLPI sous Windows
- GLPI sous Ubuntu
- Installation de GLPI sous Ubuntu Server 18.04
- Installation et configuration du plugin FusionInventory
- GLPI et Fusion Inventory
- Prérequis et installation
- Changement des mots de passe
- Installation du plugin FusionInventory
- Déploiement de l'agent FusionInventory par GPO
- Sécuriser GLPI
- Ticketing
GLPI sous Windows
Installation de GLPI sous Windows
Introduction
Qu’est ce que GLPI ?
GLPI est un logiciel libre de gestion des services informatiques et de gestion des services d’’assistance. C’est une application web qui aide les entreprises à gérer le système d’information. GLPI va permettre la création d’une base de données regroupant les ressources techniques et de gestion ainsi qu’un historique des actions de maintenance.
GLPI est installable sur un environnement Windows ou un Linux Ubuntu.
Qu’est-ce que le plugin FusionInventory ?
FusionInventory est un logiciel de gestion libre. C’est un plugin à GLPI. Il permet une gestion et une prise en main facilité. Il va agir en tant qu’intermédiaire à GLPI dans le but de collecter les données des agents FusionInventory.
- Inventaire matériel et logiciel
- Wake-on-Lan
- Deploiement de logiciels
- Découverte du matériel du réseau
Qu’est ce qu’un agent FusionInventory ?
Un agent FusionInventory va être mis en place sur les machines du parc, permettant de remonter les informations vers le plugin de GLPI. Les deux plugins ensemble vont permettre l’inventaire automatique du parc.
Les fonctionnalités de GLPI :
GLPI va permettre la gestion de systèmes d’information complexes :
- Inventaire automatisé du parc
- Suivi de l’état du parc, son obsolescence et son renouvellement
- Suivi des logiciels et des licences
- Gestion des incidents, demandes, problèmes et changements.
- Statistiques et rapports
- Gestion administrative et financière du parc
Développement
Déroulement du TP sur l’environnement Microsoft Windows.
Installation de GLPI avec Wamp sous Windows 7 Pro
Installation de Wamp
Afin d’utiliser GLPI, il est nécessaire d’avoir un logiciel d’hébergement Web. Nous allons ici utiliser Wampserver, disponible à cette adresse : http://www.wampserver.com/. Nous allons prendre la version 32 bits car nous avons une machine sous Windows 7 Pro 32bit. Wamp64 sera en version 2.5 disponible sur le site de téléchargement.
Il est nécessaire d’avoir les packages C++ : la version 32 bits si on est sous un système d’exploitation Windows 32bits ; pour la la version 64 bits de l’OS, il faut télécharger et installer les versions 32 et 64 bits des packages. Ils sont disponible ici : wampserver.aviatechno. On peut télécharger tous les packages en un seul fichier tout en bas de la page.
Une fois les packages installés, on installe Wampserver.
Préparation de l’installation de GLPI
Avant l’installation de GLPI, il faut modifier le fichier php.ini. Clique gauche sur l’icone de Wamp, Php, php.ini.
On change les valeurs pour celles-ci-dessus.
Une fois ceci-fait, nous allons télécharger GLPI, disponible ici : https://glpi-project.org/fr/telechargements/.
On clique sur télécharger. Sur cette page Github, on clique sur « Download » GLPI en vert. Dans notre cas, on va dérouler vers le bas afin d’avoir la version 0.90.
On va ensuite installer Winrar, afin de pouvoir extraire le contenu du ficher de GLPI.
https://www.win-rar.com/predownload.html?&L=10
On clique sur le bouton bleu en bas de page « Télécharger WinRAR ». On exécute l’installateur et on l’installe.
Une fois installé, on fait clique-droit sur le fichier téléchargé de GLPI puis extraire ici.
Sans déplacer le dossier, on va se rendre sur la page « localhost » dans un navigateur puis cliquer sur « créer un virtualhost ».
On rentre « glpi » dans « Nom du Virtual Host » et le chemin dans « Chemin complet absolu du dossier VirtualHost ».
On va ensuite déplacer le dossier glpi dans C:wamp\www\glpi .
Installation de GLPI
On ouvre Glpi sur un navigateur en rentrant « http://localhost/glpi/ » On choisit notre langue puis OK.
On clique sur installer. Il va ensuite vérifier la compatibilité de notre environnement. On clique sur continuer.
On rentre le serveur MySQL et nos identifiants MySQL.
On crée une base de données.
La base de données a bien été créée. On continue.
L’installation est presque terminée. On a ici les identifiants par défault du compte administrateur, technicien, normal et postonly. On clique sur Utiliser GLPI pour finaliser l’installation.
On va donc se connecter avec le compte administrateur : glpi/glpi.
Nous voici à l’accueil :
Dans l’onglet Parc, on a les éléments du Parc.
Dans l’onglet Assistance, on a la partie Assistance du parc avec les tickets.
Dans l’onglet Gestion, on a accès à la gestion du parc.
Dans Administration, on a accès à l’administration du site : Utilisateurs, Groupes, règles, maintenance…
Dans l’onglet Configuration, on a la configuration de GLPI.
Installation du Plugin FusionInventory
On télécharge le plugin FusionInventory sur le site fusioninventory.org. Dans notre cas, le fichier est disponible sur le réseau.
On décompresse l’archive vers C:\wamp\www\glpi\plugins.
On se rend ensuite sur le navigateur et on rentre « glpi/ ».
On se rend ensuite sur l’onglet Configuration puis Plugins.
On clique sur « Installer » sur la ligne de « FusionInventory ».
On clique sur activer. Il faut ensuite paramétrer le plugin. On clique sur FusionInventory à gauche.
On change la fréquence pour 1 heure puis on clique sur sauvegarder.
On clique sur « Plugins » en haut et FusionInventory. On clique sur le message en rouge.
On renseigne ici l’adresse IP du serveur GLPI. Dans notre cas : http://192.168.0.200/glpi
Dans le plugin Fusion Inventory, on se rend dans Réseau puis « Plage IP ».
A gauche, on rentre « Début de la plage Ip ».
Installation de l’agent FusionInventory
On va commencer par installer l’agent sur une machine cliente.. On exécute le fichier. On choisit la langue, Suivant, on accepte les conditions. Pour le type d’installation, on choisit « Complète ».
Suivant. Ici il faut ajouter le nom du serveur hébergeant le serveur GLPI avec le plugin FusionInventory. On rentre donc dans notre cas : http://192.168.0.200/glpi/plugins/fusioninventory. Dans « Mode local » on crée un dossier dans C : nommé « inventaire ».
On clique sur Installer. A la fin de l’installation, suivant.
On revient sur l’hôte de GLPI.
Dans Plugins, FusionInventory, Général puis Gestion des Agents, nous avons la liste des agents. Ici, nous n’avons rien. On va donc forcer l’inventaire.
Inventaire
Retournons sur la machine cliente. L’agent et ses services ont été installé ici : C:\Programmes\FusionInventory-Agent\perl\bin. Nous allons copier ce chemin.
On ouvre ensuite l’invité de commandes. Win+R puis cmd et entrée.
On rentre la commande suivante : cd C:\Programs Files\FusionInventory-Agent\perl\bin. On écrit ensuite « perl fusioninventory-agent ».
L’opération est un peu longue.
Dans C:\Inventaire (le dossier pour l’inventaire) nous avons le fichier d’inventaire.
Au niveau de la machine hôte de GLPI, nous avons dans gestion des agents une nouvelle ligne.
Dans « Parc » et Ordinateurs, nous avons la liste des ordinateurs du parc :
En cliquant dessus, nous avons plusieurs options à gauche. Dans composants, nous pouvons voir les composants de l’ordinateur : Processeur, Mémoire, stockage, lecteur…
Un autre exemple :
Dans l’onglet Historique, on a également accès à l’historique de l’ordinateur. Dans notre cas, il s’agit de l’installation du plugin.
Nous avons également accès aux logiciels présents sur la machine et pleins d’autres informations.
Conclusion
GLPI permet une gestion simplifiée du parc informatique. On peut suivre l’historique des ordinateurs, des licences, imprimantes, …
On peut également gérer les finances.
De plus, GLPI intègre un système de tickets, permettant d’aider les utilisateurs du parc informatique.
GLPI sous Ubuntu
Installation de GLPI sous Ubuntu Server 18.04
Introduction
Qu’est ce que GLPI ?
GLPI est un logiciel libre de gestion des services informatiques et de gestion des services d’’assistance. C’est une application web qui aide les entreprises à gérer le système d’information. GLPI va permettre la création d’une base de données regroupant les ressources techniques et de gestion ainsi qu’un historique des actions de maintenance.
GLPI est installable sur un environnement Windows ou un Linux Ubuntu.
Qu’est-ce que le plugin FusionInventory ?
FusionInventory est un logiciel de gestion libre. C’est un plugin à GLPI. Il permet une gestion et une prise en main facilité. Il va agir en tant qu’intermédiaire à GLPI dans le but de collecter les données des agents FusionInventory.
- Inventaire matériel et logiciel
- Wake-on-Lan
- Deploiement de logiciels
- Découverte du matériel du réseau
Qu’est ce qu’un agent FusionInventory ?
Un agent FusionInventory va être mis en place sur les machines du parc, permettant de remonter les informations vers le plugin de GLPI. Les deux plugins ensemble vont permettre l’inventaire automatique du parc.
Les fonctionnalités de GLPI :
GLPI va permettre la gestion de systèmes d’information complexes :
- Inventaire automatisé du parc
- Suivi de l’état du parc, son obsolescence et son renouvellement
- Suivi des logiciels et des licences
- Gestion des incidents, demandes, problèmes et changements.
- Statistiques et rapports
- Gestion administrative et financière du parc
Développement
Installation d’Ubuntu Server 18.04
On choisit la langue.
On choisit l’agencement du clavier.
Ne disposant pas de dhcp, nous allons paramétrer la carte réseau manuellement. On fait entrée. On sélectionne Manuel.
On remplit ensuite selon notre adressage IP. On sauvegarde puis Terminer. N’ayant pas de proxy, on laisse vide. On sélectionne et valide l’adresse des archives.
On valide « Utiliser un disque entier ».
On valide, terminer et continuer.
On rentre ensuite notre nom, le nom du serveur, un nom d’utilisateur puis un mot de passe (important, à retenir !)
Ici, nous allons installer un serveur OpenSSH. Cela va nous permettre d’accéder au serveur à distance, qui permettra une installation plus facile de GLPI. On sélectionne puis on presse la barre espace.
On laisse par défaut.
Ubuntu s’installe. Le temps varie des composants de l’unité centrale.
Ubuntu est installé !
On va ensuite se rendre sur Windows et accéder au serveur via putty.
On rentre l’adresse IP du serveur, SSH puis Open.
On rentre ensuite ses identifiants. Sous Linux, on ne voit pas le mot de passe en clair.
sudo apt-get update && apt-get upgrade
On peut la copier/coller en faisant un clique droit dans la console. On rentre le mot de passe à chaque fois. Sudo nous permet d’exécuter la commande en tant qu’administrateur.
Installation du serveur WEB
On installe Apache2, PHP et MariaDB pour le serveur web. On tape O quand on nous le demande pour confirmer l’installation. Commandes à rentrer :
sudo apt-get install apache2 php libapache2-mod-php
sudo apt-get install php-imap php-ldap php-curl php-xmlrpc php-gd php-mysql php-cas
sudo apt-get install mariadb-server
sudo mysql_secure_installation
Pour la dernière commande, on nous demande le mot de passe de MariaDB. On rentre Y à chaque fois.
Nous allons installer les modules complémentaires pour GLPI.
sudo apt-get install apcupsd php-apcu
On redémarre ensuite les services.
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/mysql restart
On va ensuite créer une base de données pour GLPI. (test étant ici le mot de passe étant le mot de passe de la base).
sudo mysql -u root -p
create database glpidb;
grant all privileges on glpidb.* to glpiuser@localhost identified by "test";
quit
On installe phpMyAdmin, permettant l’administration de la base de données via interface graphique.
sudo apt-get install phpMyAdmin
On choisit apache2 en pressant la barre espace puis NON.
Tout est prêt pour l’installation de GLPI.
Installation de GLPI
Nous allons installer la version 9.3.3 de GLPI.
On se rend dans ce dossier puis on télécharge et extrait GLPI dans le dossier www du serveur web.
cd /usr/src/
sudo wget https://github.com/glpi-project/glpi/releases/download/9.3.3/glpi-9.3.3.tgz
sudo tar -xvzf glpi-9.3.3.tgz -C /var/www/html
sudo chown -R www-data /var/www/html/glpi/
GLPI est très bien installé !
Nous allons nous rendre dans un navigateur web en rentrant l’adresse IP du serveur + GLPI.
Dans notre cas : http://192.168.1.200/glpi
On choisit notre langue puis OK.
On lit et accepte les termes de la licence puis continuer.
On clique sur installer. Il va ensuite vérifier la compatibilité de notre environnement. On clique sur continuer.
On rentre le serveur MySQL et nos identifiants MySQL.
On crée une base de données. Le procédé peut être long.
La base de données a bien été créée. On continue.
L’installation est presque terminée. On a ici les identifiants par défault du compte administrateur, technicien, normal et postonly. On clique sur Utiliser GLPI pour finaliser l’installation.
On va donc se connecter avec le compte administrateur : glpi/glpi.
Installation et configuration du plugin FusionInventory
ATENTION : Adaptez la version du plugin avec votre version ! Vous pouvez vérifier les versions compatibles au niveau des releases sur GitHub.
Installation du plugin FusionInventory
Nous allons installer le plugin glpi9.3+1.3.
On retourne dans le répertoire, on télécharge le plugin et on extrait dans GLPI.
cd /usr/src
sudo wget https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi9.3+1.3.tar.gz
sudo tar -zxvf glpi9.3+1.3.tar.gz -C /var/www/html/glpi/plugins
On attribue les droits d’accès.
sudo chown -R www-data /var/www/html/glpi/plugins
On rend visible le plugin par GLPI.
cd /var/www/html/glpi/plugins
sudo mv fusioninventory-for-glpi-glpi9.3-1.3/ fusioninventory/
On se rend de nouveau sur GLPI via un navigateur WEB.
On se rend dans Configuration > Plugins.
On clique sur Installer. L’opération n’est pas courte.
On clique sur Activer.
Le plugin est installé. On va ensuite le configurer.
Configuration du plugin FusionInventory
On se rend dans la rubrique Administration > FusionInventory.
On peut voir que cron ne fonctionne pas. Cron permet les tâches planifiées automatiques. Afin de résoudre le problème, on rentre dans le Shell de linux via PuTTY. On rentre cette commande :
sudo crontab -u www-data -e
On tape 1. On descend tout en bas avec les flèches directionnelles. On écrit :
*/1 * * * * /usr/bin/php5 /var/www/html/glpi/front/cron.php &>/dev/null
On fait ctrl+O puis entrée (cela va sauvegarder). On quitte avec CTRL+X.
On relance cron :
/etc/init.d/cron restart
On se rend dans le navigateur web, sur GLPI puis dans la rubrique Configuration > Actions Automatiques.
On clique sur taskscheduler puis exécuter.
Cron est de nouveau fonctionnel !
Tout est prêt pour inventorier notre parc !
Pour l'installation de l'agent, voir : https://docs.khroners.fr/books/glpi/page/installation-de-glpi-sous-windows#bkmrk-installation-de-l%E2%80%99ag
GLPI et Fusion Inventory
Prérequis et installation
On installe les prérequis.
apt install php-imap php-ldap php-curl php-xmlrpc php-gd php-mysql php-cas apcupsd php-apcu php-bz2 php-intl -y
a2enmod rewrite
On crée la base de données et l'utilisateur. On modifie le mot de passe "test" par autre chose.
sudo mysql -u root -p
create database glpidb;
grant all privileges on glpidb.* to glpiuser@localhost identified by "test";
FLUSH PRIVILEGES;
quit
On télécharge GLPI, on l'extrait et on le place dans le dossier /var/www. On modifie ensuite le fichier de configuration de php.
cd /tmp/
wget https://github.com/glpi-project/glpi/releases/download/9.5.4/glpi-9.5.4.tgz
tar -xvzf glpi-9.5.4.tgz -C /var/www/
chown -R www-data /var/www/glpi/
nano /etc/php/7.3/apache2/php.ini
memory_limit = 64M ; // max memory limit file_uploads = on ; max_execution_time = 600 ; // not mandatory but recommended session.auto_start = off ; session.use_trans_sid = 0 ; // not mandatory but recommended
Création du virtualhost
cd /etc/apache2/sites-available/
nano glpi.littoral1.fr.conf
<VirtualHost *:80>
ServerName glpi.littoral1.fr
ServerAlias www.glpi.littoral1.fr
ServerAdmin Administrateur@littoral1.fr
DocumentRoot /var/www/glpi
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Redirect permanent / https://glpi.littoral1.fr/
</VirtualHost>
<VirtualHost *:443>
ServerName glpi.littoral1.fr
ServerAlias www.glpi.littoral1.fr
ServerAdmin Administrateur@littoral1.fr
DocumentRoot /var/www/glpi
<Directory /var/www/glpi>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Paramètres SSL
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCompression off
SSLOptions +StrictRequire
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA$
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
# Log
LogLevel warn
ErrorLog ${APACHE_LOG_DIR}/*.glpi.local-error.log
CustomLog ${APACHE_LOG_DIR}/*.glpi.local-access.log combined
SSLCertificateFile "/etc/apache2/ssl/cert.pem"
SSLCertificateKeyFile "/etc/apache2/ssl/cert.pem"
</VirtualHost>
On active le site.
cp -arp /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/headers.load
systemctl restart apache2
a2ensite glpi.littoral1.fr
systemctl reload apache2
systemctl restart apache2
On se rend ensuite dans un navigateur web : https://glpi.littoral1.fr/
L'étape suivante vérifie si tout est bon avant installation, ici non.
Pour l'avertissement, GLPi ne peut pas vérifier si cela est autorisé ou non. On le vérifie.
L'accès est bien interdit.
On clique sur "Continuer".
On rentre l'adresse du serveur MySQL et l'utilisateur de la base de données.
On attend puis on continue.
On a les utilisateurs par défaut. On doit ensuite les désactiver et/ou changer les mots de passe.
Changement des mots de passe
Sous "Administration" et "Utilisateurs" :
On clique sur un des utilisateurs.
On définit un mot de passe puis on clique sur sauvegarder en bas de la page.
On fait de même pour les autres.
Installation du plugin FusionInventory
Installation et activation du plugin FusionInventory
On prend la dernière version : https://github.com/fusioninventory/fusioninventory-for-glpi/releases
cd /tmp/
wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5%2B2.0/fusioninventory-9.5+2.0.tar.bz2
tar -xvf fusioninventory-9.5+2.0.tar.bz2 -C /var/www/glpi/plugins
On attribue les droits d’accès.
chown -R www-data /var/www/glpi/plugins
On se rend de nouveau sur GLPI via un navigateur WEB.
On se rend dans Configuration > Plugins.
On clique sur Installer. L’opération n’est pas courte.
On clique sur Activer.
Le plugin est installé. On va ensuite le configurer.
Configuration du plugin FusionInventory
On se rend dans la rubrique Administration > FusionInventory.
Pour résoudre ce problème :
On peut voir que cron ne fonctionne pas. Cron permet les tâches planifiées automatiques. Afin de résoudre le problème, on rentre dans le Shell de linux via PuTTY. On rentre cette commande :
sudo crontab -u www-data -e
On tape 1. On descend tout en bas avec les flèches directionnelles. On écrit :
*/1 * * * * /usr/bin/php5 /var/www/glpi/front/cron.php &>/dev/null
On fait ctrl+O puis entrée (cela va sauvegarder). On quitte avec CTRL+X.
On relance cron :
/etc/init.d/cron restart
On se rend dans le navigateur web, sur GLPI puis dans la rubrique Configuration > Actions Automatiques.
On clique sur taskscheduler puis exécuter.
Cron est de nouveau fonctionnel !
Tout est prêt pour inventorier notre parc !
Déploiement de l'agent FusionInventory par GPO
Tout d'abord, on télécharge l'agent FusionInventory correspondant à notre version de GLPI et du plugin.
https://github.com/fusioninventory/fusioninventory-agent/releases/tag/2.6
Je prend la version x64, car tous les serveurs/ordinateurs sont en 64 bits.
On le place dans C:\Share\Deploiement\GLPI.
On crée ensuite la GPO.
On rajoute /no-ssl-check.
On clique sur OK, Appliquer puis OK.
On lie cette GPO à l'OU "Computers".
Sur un des serveurs :
Sécuriser GLPI
Génération du certificat
On créer un dossier :
mkdir ~/certificates
cd ~/certificates
On va générer le certificat.
openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes
On rentre les informations.
Pour le Common Name, on rentre l’adresse IP du serveur Ubuntu.
On déplace ensuite le certificat dans apache.
mkdir /etc/apache2/ssl
mv ~/certificates/* /etc/apache2/ssl/.
On modifie ensuite la configuration d’apache :
sudo nano /etc/apache2/sites-available/default-ssl.conf
On modifie la ligne « ServerAdmin webmaster@localhost » pour « ServerAdmin votremail@votredomaine.fr »
On ajoute une ligne juste en dessous :
ServerName 192.168.0.200
On modifie les lignes avec la localisation du certificat :
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
On sauvegarde avec Ctrl+O et Entrée, puis Ctrl+X pour quitter .
On redémarre Apache.
systemctl restart apache2
Ticketing
Après la connexion sur un compte utilisateurs, on peut créer un ticket en cliquant sur "Créer un ticket".
Cette interface peut être modifiée, pour masquer le champ Observateurs par exemple. On pourra l'attribuer automatiquement.
Ici, le client (ou l'employé) détaille son problème ou sa demande. Au préalable, on aura configuré GLPI pour ajouter des catégorie, éléments, lieux, observateurs. La priorité du ticket est calculé automatiquement dans GLPI selon le degré d'urgence sélectionné par l'utilisateur (ce calcul est modifiable).
Côté technicien (ou administrateur), depuis le tableau de bord :
Le technicien peut modifier le ticket si besoin, ajouter un suivi, une tâche, un document, valider (technicien de niveau supérieur), mettre en résolu.
Dans "Suivi", on peut simplement ajouter une note en cliquant sur le cadenas pour que la réponse soit privée.
En cliquant sur "Solution", on peut apporter une solution.
TTO (Time To Own) : le temps entre la création d'un ticket et son affectation à un agent.
TTR (Time To Resolve) : le temps entre la création d'un ticket et sa résolution (c'est-à-dire mesuré lorsque le ticket entre dans l'état "résolu").