glpi_logo_mini

Découvrons dans ce tutoriel comment installer un serveur GLPI sous Debian 10. GLPI est un logiciel de gestion de parc vous permettant de suivre l’état de votre parc informatique et l’avancée des tickets au sein de votre entreprise. Coupler avec OCS inventory pour la remontée d’informations de vos équipements (inventaire) vous aurez à disposition un véritable bijou 🙂

Prérequis

Pour pouvoir installer notre serveur GLPI, nous aurons besoin d’un serveur Debian à jour. Au besoin, allez voir mon tutoriel sur comment installer Debian en cliquant ici. N’hésitez pas à prendre la dernière version de Debian, pour ce tutoriel j’ai utilisé la version 10.8.0.

Ensuite, pensez à mettre à jour votre serveur, voici les dépôts que j’ai utilisés dans mon fichier « sources.list » situé dans /etc/apt/ :

deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free

deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free

deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free

Une fois vos dépôts modifiés, mettez à jour votre serveur :

apt-get update
apt-get upgrade

Installation de MariaDB

GLPI et OCS inventory ont besoin chacun d’une base de données pour fonctionner, voici les différentes étapes à réaliser pour en installer une :

On commence par installer MariaDB :

apt-get install mariadb-server

Une fois MariaDB installé, il faut le configurer. Pour ce faire, utilisons la commande mysql_secure_installation pour configurer les paramètres de bases avec le compte root de notre base de données. Il ne devrait pas y avoir de mot de passe donc appuyez une fois sur « Entrée » :

mysql_secure_installation
Commande mysql_secure_installation

Ensuite, nous pouvons changer le mot de passe de root, appuyez sur « Y » puis validez :

Changer mot de passe root

Entrez deux fois le mot de passe souhaité et validez. Choisissez un mot de passe complexe pour sécuriser au maximum votre système de base de données.

Nouveau mot de passe root

Il nous est demandé si l’on souhaite supprimer l’utilisateur anonyme. Celui-ci est un utilisateur qui a le droit de se connecter à votre base de données sans mot de passe. Par mesure de sécurité, il vaut mieux le supprimer donc écrivez « Y » et validez :

Supprimer l'utilisateur "anonyme"

Mettez « Y » puis validez pour supprimez l’accès du compte root à distance afin d’éviter de vous faire intercepter votre mot de passe à travers le réseau.

Supprimer l'accès root à la bdd

Ensuite, supprimons une base de données qui a été créée par défaut lors de l’installation de MariaDB et qui ne sert à rien. « Y » puis validez :

Supprimer BDD existante

Validons la configuration que nous avons effectuée en pressant « Y » puis validez :

Application des paramètres

Et voilà, notre système de base de données est installé et préconfiguré, il ne nous reste plus qu’à créer la base de données pour GLPI et la base de données de OCS inventory.

Finalisation

Pour créer nos bases de données, nous devons nous connecter à MariaDB en utilisant la commande suivante qui utilise le compte root avec le mot de passe précédemment créé :

mysql -u root -p

Commençons par créer notre base de données pour GLPI où « glpibdd » est le nom que vous souhaitez lui donner :

CREATE DATABASE glpibdd;

Même chose pour créer notre base de données pour OCS inventory où « glpiocs » est le nom que vous souhaitez lui donner :

CREATE DATABASE ocsbdd;

Vous devriez voir ceci :

CREATE DATABASE

Il faut créer l’utilisateur qui pourra accéder à la base de données de GLPI et lui donner un mot de passe. Dans la commande ci-dessous il faut modifier à votre convenance :

  • « glpibdd » = nom base de données
  • « userglpi » = nom utilisateur
  • « mdpglpi » = mot de passe de l’utilisateur

Il faut créer l’utilisateur qui pourra accéder à la base de données de OCS inventory et lui donner un mot de passe. Dans la commande ci-dessous il faut modifier à votre convenance :

  • « ocsbdd » = nom base de donnée
  • « userocs » = nom utilisateur
  • « mdpocs » = mot de passe de l’utilisateur

GRANT ALL PRIVILEGES ON ocsbdd.* TO « userocs« @ »localhost » IDENTIFIED BY « mdpocs« ;

Vous devriez voir ceci :

Création utilisateur BDD

Installation PHP

Nous allons récupérer la dernière version de PHP qui est à la rédaction de ce tutoriel la version 7.4. Pour ce faire, nous devons récupérer les « sources list » de sury. Tout d’abord, téléchargeons les clés GPG via les deux commandes suivantes :

apt-get -y install lsb-release apt-transport-https ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Ensuite, nous pouvons ajouter les « sources list » contenant php7.4 avec la commande :

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

On met à jour la liste des dépôts disponibles via la commande :

apt-get update

On installe php7.4 et toutes les dépendances nécessaires au bon fonctionnement de GLPI et OCS inventory:

apt-get -y install php7.4 php7.4-ldap php7.4-imap php7.4-apcu php7.4-xmlrpc php7.4-mysql php7.4-mbstring php7.4-curl php7.4-gd php7.4-xml php7.4-bz2 php7.4-intl php7.4-zip php7.4-soap php-cas php-pclzip

Installation Apache2 + Perl

On installe Apache2 pour accéder aux interfaces web de GLPI et OCS inventory. Nous sommes obligé d’utiliser Apache2 car OCS inventory n’est pas compatible avec Nginx 🙁 :

apt-get -y install apache2

On installe perl nécessaire à GLPI et OCS inventory:

apt-get -y install perl

Installation et configuration GLPI

Installation

On arrive à l’installation de GLPI. Placez-vous dans le dossier « /var/www » :

cd /var/www/

On récupère la dernière version de GLPI depuis le site de ce dernier ici, pour récupérer le lien pour le téléchargement faites un clic droit sur « Télécharger » puis « Copier l’adresse du lien » :

Une fois le lien récupéré, faites la commande suivante en remplaçant le lien http par celui que vous venez de récupérer :

wget https://github.com/glpi-project/glpi/releases/download/9.5.4/glpi-9.5.4.tgz

Le fichier téléchargé a l’extension tgz, nous devons donc extraire son contenu via la commande ci-dessous (attention le nom du fichier peut changer en fonction de la version que vous avez téléchargée) :

tar xzf glpi-9.5.4.tgz

On supprime le fichier téléchargé tgz :

rm glpi-9.5.4.tgz

On met les bons droits sur le dossier de GLPI pour que notre serveur web apache2 puisse l’utiliser :

chown -R root.www-data glpi/
chmod -R 775 glpi/

On modifie le fichier de configuration par défaut de notre GLPI afin de pointer par défaut vers l’interface web de celui-ci :

nano /etc/apache2/sites-available/000-default.conf

Dans le fichier de configuration, trouvez la ligne « Document-Root » et modifiez là comme ci-dessous :

Document-Root /var/www/glpi

On redémarre Apache2 :

/etc/init.d/apache2 restart

Configuration

À partir d’ici, vous pouvez vous connecter directement à votre interface web de GLPI en rentrant simplement l’IP de votre serveur dans votre navigateur. Sur la première page choisissez votre langue et cliquez sur « OK » :

GLPI interface web

Sélectionnez « J’ai lu et ACCEPTE les termes de la licence énoncés ci-dessus » et cliquez sur « Continuer » :

GLPI interface WEB - Accepter licence

Cliquez sur « Installer » pour lancer l’installation de votre serveur GLPI :

GLPI interface WEB - Installer

Normalement si vous avez suivi le tutoriel depuis le début, vous devriez avoir seulement une erreur GLPI par rapport à l’accès web au répertoire des fichiers. Pas d’inquiétude, cliquez sur « Continuer » :

GLPI interface WEB - Vérification compatibilité

Rentrez les informations concernant votre base de données installée en amont. Si vous avez suivi mon tutoriel, la base de données est en local avec ces informations :

  • serveur SQL = localhost
  • utilisateur SQL = userglpi
  • mot de SQL = mdpglpi
GLPI interface WEB - accès Base de données

Il doit détecter automatiquement la base de données que vous avez créée (glpibdd). Sélectionnez celle-ci et cliquez sur « Continuer » :

GLPI interface WEB - sélection Base de données

La base de données va être créée avec les objets de GLPI, patientez et cliquez sur « Continuer » :

GLPI interface WEB - Base de données fin création

Choisissez si vous souhaitez envoyer des données d’utilisations à GLPI ou non et cliquez sur « Continuer » :

GLPI interface WEB - Envoyez statistique

Si vous souhaitez soutenir le projet en faisant un don vous pouvez le faire à cette étape, sinon cliquez sur « Continuer » :

GLPI interface WEB - Don GLPI

À cette étape vous aurez un descriptif des comptes qui ont été créés par défaut qui vont vous permettre de vous connecter à l’interface web. Gardez les identifiants de côté et cliquez sur « Utiliser GLPI » :

GLPI interface WEB - Finalisation installation

Vous arrivez à la connexion, utilisez un des comptes créés par défaut :

GLPI interface WEB - Connexion

Voici l’interface de GLPI sur laquelle vous devriez arriver avec le compte « glpi ». À vous de jouer maintenant 😉 :

GLPI interface WEB - Première Connexion interface glpi

Je vous conseille de tout de suite réaliser plusieurs actions :

  1. Création d’un compte « Super Admin » personnalisé
  2. Suppression des comptes par défaut (attention réalisez la première étape d’abord)
  3. Suppression du fichier « install.php » de votre dossier glpi

GLPI étant installé, nous pouvons passer à l’installation de OCS inventory.

Installation/configuration OCS inventory

Installation

Pour fonctionner, OCS inventory a besoin de nombreuses dépendances. Ces dépendances sont tirées directement de la documentation de l’outil ici.

apt-get -y install apache2-dev libmariadbclient-dev php-soap

À partir d’ici vous pouvez répondre « yes » ou appuyer sur « Entrée » à chaque question :

cpan install –force CPAN
cpan install YAML

Cette prochaine étape est relativement longue, mais pas de panique 😉 soyez patient !

cpan install Mojolicious::Lite Switch Plack::Handler XML::Simple Compress::Zlib DBI DBD::mysql Apache::DBI Net::IP Archive::Zip XML::Entities
apt-get -y install libxml-simple-perl libdbi-perl libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl libarchive-zip-perl make build-essential
cpan install Apache2::SOAP

Maintenant toutes les dépendances installées, nous pouvons télécharger OCS inventory. Pour ce faire, vous allez devoir rentrer quelques informations pour recevoir un mail contenant un lien pour le télécharger. Cliquez sur le lien ici, vous arriverez sur le site de OCS inventory où vous pouvez choisir « OCS INVENTORY SERVEUR UNIX/LINUX » :

Site OCS inventory

Remplissez les informations suivantes afin de recevoir le lien de téléchargement pas mail :

Rentrez information personnel OCS inventory

Une fois le mail reçu, faites un clic droit sur « Serveur pour Linux/Unix 2.8 » (votre numéro de version peut être différent) puis cliquez sur « Copier l’adresse du lien » :

Récupérer lien téléchargement OCS inventory

Placez-vous dans le dossier /tmp/ puis télécharger OCS inventory avec le lien que vous aviez récupéré :

cd /tmp/
wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.8/OCSNG_UNIX_SERVER_2.8.tar.gz

Une fois téléchargé, il faut extraire le contenu du fichier archive via la commande suivante :

tar xzvf OCSNG_UNIX_SERVER_2.8.tar.gz

On se déplace ensuite dans le dossier que nous venons d’extraire. Attention, encore une fois si vous téléchargez une autre version il faut bien adapter la commande 😉 :

cd OCSNG_UNIX_SERVER_2.8

On exécute le script d’installation fourni par l’application :

sh setup.sh

Vous devriez arriver sur cette fenêtre, cliquez sur « Entrée » :

Validez que votre base de données est en local en cliquant sur « Entrée » :

Confirmer que votre base de données écoute sur le port 3306 en cliquant sur « Entrée » :

Renseignez le chemin vers le fichier du daemon de Apache2 qui est « /usr/sbin/apache2ctl » :

Renseigner le chemin du fichier de configuration de apache2 soit « /etc/apache2/apache2.conf » :

Renseigner le compte « www-data » qui exécute apache2 :

Renseigner le groupe « www-data » qui exécute apache2 :

Renseigner le chemin vers le dossier de apache2 contenant les configurations des sites disponibles (/etc/apache2/conf-available) :

Renseigner le chemin vers le fichier du daemon (/usr/bin/perl) :

Mettez « y » pour continuer :

Donnez le chemin vers le fichier de log de OCS inventory :

Renseignez le chemin vers le dossier des plugins de OCS inventory :

Validez ou renseignez le chemin vers le dossier des plugins perl de OCS inventory :

Approuvez le configuration des API :

Renseignez le chemin du stockage de l’API de OCS inventory (/usr/local/share/perl/5.28.1) :

On valide la création du fichier de configuration de OCS inventory :

Validez que vous souhaitez configurer le serveur d’administration de OCS inventory :

Appuyez sur « y » pour valider l’installation du serveur d’administration de OCS inventory :

Mettez le chemin des fichiers PHP du serveur d’administration de OCS inventory :

Donnez le chemin des fichiers de log, de IPDiscover et SNMP (/var/lib/ocsinventory-reports):

Et voilà, vous êtes au bout de l’installation, tout s’est déroulé à merveille. Bien joué 🙂 !

Configuration

Il nous faut renseigner la base de données pour OCS inventory. Pour ce faire, nous allons modifier 2 fichiers. Lancez la commande suivante :

nano /etc/apache2/conf-available/z-ocsinventory-server.conf

Dans ce fichier, trouvez les 4 lignes suivantes (respectivement ligne 26, 27, 29 et 31) en reprenant les informations que vous avez configurées à la création de votre base de données puis sauvegardez :

PerlSetEnv OCS_DB_NAME ocsbdd
PerlSetEnv OCS_DB_LOCAL ocsbdd
PerlSetEnv OCS_DB_USER userocs
PerlSetVar OCS_DB_PWD mdpocs

Il nous faut renseigner la base de données pour le deuxième fichier de OCS inventory. Lancez la commande suivante :

nano /etc/apache2/conf-available/zz-ocsinventory-restapi.conf

Dans ce fichier, trouvez les 3 lignes suivantes (respectivement ligne 9, 10, et 11) en reprenant les informations que vous avez configurées à la création de votre base de données puis sauvegardez :

$ENV{OCS_DB_LOCAL} = 'ocsbdd';
$ENV{OCS_DB_USER} = 'userocs';
$ENV{OCS_DB_PWD} = 'mdpocs';

On met les bons droits sur le dossier de OCS inventory :

chown root.www-data /var/lib/ocsinventory-reports
chmod 755 /var/lib/ocsinventory-reports

On active les 3 fichiers de configuration de apache2 :

a2enconf z-ocsinventory-server
a2enconf ocsinventory-reports
a2enconf zz-ocsinventory-restapi

On applique en redémarrant Apache2 :

/etc/init.d/apache2 restart

À partir de maintenance, vous devriez pouvoir accéder à OCS inventory en mettant votre IP suivis de /ocsreports. Rentrez les informations de connexion à votre base de données :

  • MySQL login = userocs
  • MySQL password = mdpocs
  • Name of Database = ocsbdd
  • MySQL HostName = localhost
  • MySQL Port = 3306
  • Enable SSL = NO

L’installation se déroule et OCS inventory vous donne les identifiants admin pour pouvoir vous connecter à l’outil (login = admin / password = admin). CLiquez sur « Click here to enter OCS-NG GUI » :

La version est vérifiée, faites la mise à jour si nécessaire :

Et voilà, vous pouvez vous connecter à OCS inventory avec le compte admin 🙂

Une fois connecté à OCS inventory vous devriez voir cette fenêtre :

Nous voilà donc à la fin de ce tutoriel d’installation de GLPI et OCS inventory, dans un prochain article nous testerons cette infrastructure et nous ferons une liaison entre les deux outils ! En attendant, pour me soutenir et soutenir le site, n’hésitez pas à partager autour de vous et à me suivre sur les réseaux 😉

Ne manquez aucun article !

Nous ne spammons pas !

12 commentaires

  1. Bravo pour ce tutoriel !!! Sans doute le meilleur sur le sujet.
    Juste une petite remarque : l’exécution de la commande a2enconf renvoie commande introuvable. La solution est de taper avant la commande suivante :
    export PATH=$PATH:/usr/sbin
    J’ai vraiment hâte de trouver l’article suivant sur la mise en oeuvre 😉
    Merci et bonne journée.

    • Bonjour,

      Merci pour votre message 😉
      Vous avez raison, j’ai oublié de préciser. Pour ma part par habitude j’utilise la commande « su – » qui permet de charger la variable PATH au passage en root !

      L’article suivant est en cours d’écriture, prévu pour fin mai/début juin !
      Bonne journée,

    • Bonjour,

      j’ai un soucis sur l’accès au site « adresse ip/ocsreports ». En effete en mettant l’ip du serveur et le reste j’ai un beau :

      Forbidden

      you dont have permission to access this ressource.

      apache/2.4.38 (debian) server at « address IP » port 80

  2. bonjour et merci pour ce tuto génial. je veus savoir si la suite est déjà disponible .je parle des tests avec les machines clientes. aussi pour faire du déploiement de package notre server doit contenir le ssl activer devrais-je l activer a cette première page ou ultérieurement?

  3. Excellent tuto 🙂 Si vous souhaitez étoffer ce dernier, ce ne serai pas du luxe que d’y inclure un volet « sécurisation » du serveur (passage en https, durcissements minimaux, journalisation, …).

    Merci pour votre excellent travail !

  4. Bonjour,

    je reste bloqué sur la fenêtre après avoir rentré les informations de connexion,
    il ne me donne en aucun cas la suite ave le login et mot de passe admin

    OCS-NG inventory installation

    WARNING: You will not be able to build any deployment package with size greater than 2MB
    You must raise both post_max_size and upload_max_filesize in your vhost configuration to increase this limit.

    WARNING: If you change default database name (ocsweb) or user (ocs), don’t forget to update the file ‘z-ocsinventory-server.conf’ in your Apache configuration directory

Répondre à Vincent Krahenbuhl Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.