Installation et Configuration de GLPI (Debian 9)

Hello, pour changer un peu de la supervision, dans cet article, nous allons mettre en place et configurer un serveur GLPI sous Debian 9 (Gestion Libre de Parc Informatique). Nous allons commencer par mettre en place un serveur Web (LAMP) sous Debian avant de procéder à l’installation de GLPI.

Configuration Active Directory pour GLPI :

Ce qu’il vous faut :

Liens utiles :Installation GLPI

Les prérequis :

  • Extensions PHP obligatoire :
    • JSON : support du format de données structuré JSON
    • Mbstring : gestion des chaînes de caractères multi-octets
    • MySQL : liaison avec la base de données
    • Session : support des sessions des utilisateurs
  • Extensions PHP recommandées :
    • CLI : utilisation de PHP en ligne de commande pour les actions automatiques
    • CURL : pour l’authentification CAS
    • DOMXML : pour l’authentification CAS
    • GD : génération d’images
    • IMAP : utilisation de serveurs de messagerie pour la collecte des tickets ou l’authentification des utilisateurs
    • LDAP : utilisation d’un annuaire externe pour l’authentification
    • OpenSSL : communication chiffrée
  • Configuration PHP.INI
memory_limit = 64M ; // Valeur minimale
file_uploads = on ;
max_execution_time = 600 ; // Préconisé mais non obligatoire
register_globals = off ; // Préconisé mais non obligatoire
magic_quotes_sybase = off ;
session.auto_start = off ;
session.use_trans_sid = 0 ; // Préconisé mais non obligatoire

Les fichiers de configuration GLPI :

  • Instance GLPI : /var/www/glpi
  • Les fichiers de conf : /etc/glpi
  • Les fichiers data GLPI : /var/lib/glpi
  • Les fichiers logs : /var/log/glpi

Schéma réseau

Commençons par un petit schéma simple :

Schéma réseau GLPI

Configuration  VirtualBox pour pfSense

Petit rappel de la configuration des cartes réseau du Firewall pfSense sous Virtualbox.

Allez dans les paramètres de la VM : Configuration > Réseau :

  • Carte 1 : Activer la carte réseau (WAN)
    • Mode d’accès réseau : Accès par pont
    • Nom : Realtek PCie… (votre carte Ethernet ou Wifi)
    • Avancé :
      • Type de carte : Intel PRO/1000 MT Desktop
      • Mode Promiscuité : Tout autoriser 
  • Carte 2 : Activer la carte réseau (LAN)
    • Mode d’accès réseau : Réseau interne
    • Nom : Entrez un nom  LAN
    • Avancé :
      • Type de carte : Intel PRO/1000 MT Desktop
      • Mode Promiscuité : Tout autoriser
  • Valider et démarrez la VM

Configuration pfSense pixelabs

Configuration  VirtualBox pour Debian

Configuration de la machine Debian 9 :

  • Carte 1 : Activer la carte réseau (LAN)
    • Mode d’accès réseau : Réseau interne
    • Nom : Entrez un nom  LAN
    • Avancé :
      • Type de carte : Intel PRO/1000 MT Desktop
      • Mode Promiscuité : Tout autoriser
  • Valider et démarrez la VM

Installation des VM Tools sous Debian (& CentOS7…) : install-vmware-tools-sous-linux/

Configuration réseau Debian

Supprimer le Network Manager :

root@pixelabs:~# apt remove network-manager
root@pixelabs:~# apt autoremove

Redémarrer le serveur

root@pixelabs:~# reboot

On passe à la configuration

root@pixelabs:~# nano /etc/network/interfaces
# Interface reseau pixelabs
auto enp0s3
iface enp0s3 inet static
        address 172.16.1.10
        netmask 255.255.0.0
        gateway 172.16.1.254
        dns-nameservers 172.16.1.5 1.1.1.1

DNS2 : 1.1.1.1 = CloudFlare

Configuration réseau Debian

  • Enregistrer : Ctrl + O puis Entrée.
  • Quitter : Ctrl + X

Relancer le service réseau et effectuer un test :

root@pixelabs:~# service networking restart
root@pixelabs:~# 
root@pixelabs:~# ping google.fr
PING google.fr (216.58.204.131) 56(84) bytes of data.
64 bytes from par21s05-in-f131.1e100.net (216.58.204.131): icmp_seq=1 ttl=53 time=19.2 ms
64 bytes from par21s05-in-f131.1e100.net (216.58.204.131): icmp_seq=2 ttl=53 time=18.4 ms
64 bytes from par21s05-in-f131.1e100.net (216.58.204.131): icmp_seq=3 ttl=53 time=19.1 ms
64 bytes from par21s05-in-f131.1e100.net (216.58.204.131): icmp_seq=4 ttl=53 time=19.2 ms
64 bytes from par21s05-in-f131.1e100.net (216.58.204.131): icmp_seq=5 ttl=53 time=19.2 ms

Mettez à jour votre système :

root@pixelabs:~# apt-get update

Mise en place serveur Web (LAMP)

Avant d’installer GLPI, il nous faut bien sûr un serveur Web et nous allons mettre en place le serveur web LAMP pour Linux Apache MySQL (ou MariaDB) PHP

Installation Apache2

root@pixelabs:~# apt install apache2

Vérifiez :

root@pixelabs:~# systemctl status apache2

Installation Apache2 Debian

Vous pouvez aussi vérifier via : http://localhost/

Installation PHP 7.0

Et si on installe PHP 7 :

root@pixelabs:~# apt install php7.0 php7.0-curl php7.0-json php7.0-gmp php7.0-mbstring php7.0-gd php7.0-mcrypt libapache2-mod-php7.0 php7.0-mysql php7.0-intl php7.0-sqlite3 php7.0-xml php7.0-zip
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
The following additional packages will be installed:
  libcurl3 libmcrypt4 libzip4 php-common php7.0-cli php7.0-common php7.0-opcache php7.0-readline psmisc
Paquets suggérés :
  php-pear libmcrypt-dev mcrypt
Les NOUVEAUX paquets suivants seront installés :
  libapache2-mod-php7.0 libcurl3 libmcrypt4 libzip4 php-common php7.0 php7.0-cli php7.0-common php7.0-curl php7.0-gd php7.0-gmp php7.0-intl php7.0-json
  php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-readline php7.0-sqlite3 php7.0-xml php7.0-zip psmisc
0 mis à jour, 22 nouvellement installés, 0 à enlever et 127 non mis à jour.
Il est nécessaire de prendre 5 044 ko dans les archives.
Après cette opération, 19,2 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 

Confirmer et attendez la fin. Une fois terminé, relancez Apache :

root@pixelabs:~# systemctl restart apache2

Pour tester le PHP, créez un fichier pixelabs.php dans le répertoire /var/www/html

root@pixelabs:~# cd /var/www/html
root@pixelabs:/var/www/html# 
root@pixelabs:/var/www/html# nano pixelabs.php

Ajoutez-y :

<?php 
phpinfo(); 
?>

Ouvrir ce fichier via votre navigateur : http://localhost/pixelabs.php

Installation PHP 7 Debian 9

Installation MariaDB 10.1

Installation de MariaDB version 10 :

root@pixelabs:~# apt install mariadb-server-10.1

Pour sécuriser MariaDB, à la racine de votre serveur (cd puis entrée) exécutez le script suivant :

root@pixelabs:~# mysql_secure_installation
..
..
Enter current password for root (enter for none): // Entrée (pas de password par défaut)
...
Set root password? [Y/n] // si vous souhaitez ajouter un mot de passe ou pas.
...
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Il est possible de relancer le script.

Base de données GLPI

Nous allons créer une base de données pour GLPI. Connectez-vous à la base MariaDB :

root@pixelabs:~# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.1.37-MariaDB-0+deb9u1 Debian 9.6

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Création de la base : glpi_pixelabs

MariaDB [(none)]#> CREATE DATABASE glpi_pixelabs;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]>

Création de l’user glpi avec le mot de passe glpi :

MariaDB [(none)]#> CREATE USER 'glpi'@'localhost' IDENTIFIED BY 'glpi';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> 

Droit d’écriture/lecture à l’user glpi sur la base glpi_pixelabs :

MariaDB [(none)]#> GRANT ALL PRIVILEGES ON glpi_pixelabs.* TO 'glpi'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit

C’est terminé.

Installation & Configuration de GLPI v.9.3.3

Passons maintenant à l’installation de GLPI.

Installation

Télécharger l’archive dans /tmp

root@pixelabs:~# cd /tmp
root@pixelabs:/tmp# wget https://github.com/glpi-project/glpi/releases/download/9.3.3/glpi-9.3.3.tgz

Dézipper l’archive .tgz :

root@pixelabs:/tmp# tar zxvf glpi-9.3.3.tgz

Une fois terminé, vous aurez un dossier glpi qu’il faut déplacer dans /var/www/

root@pixelabs:/tmp# cp -r glpi /var/www/
root@pixelabs:/tmp# cd /var/www/
root@pixelabs:/var/www# ls -l
total 8
drwxr-xr-x 18 root root 4096 déc.  17 21:53 glpi
drwxr-xr-x  2 root root 4096 déc.  17 20:39 html
root@pixelabs:/var/www#

Donner les droits à Apache2 :

root@pixelabs:/var/www# chown -R www-data /var/www/glpi

Et pour finir, nous allons modifier le fichier Apache afin de le pointer à la racine de /var/www au lieu de /var/www/html

root@pixelabs:/var/www# nano /etc/apache2/sites-available/000-default.conf

Modifier la ligne :

DocumentRoot /var/www/html

En :

DocumentRoot /var/www/

Sauvegarder, quitter et relancer Apache2 :

root@pixelabs:/var/www# systemctl restart apache2

Configuration

Passons à la configuration de GLPI depuis l’interface web : http://172.16.1.10/glpi.

  • Choisir votre langue please :

Installation GLPI Debian Step 1

  • Acceptez la licence et cliquez sur continuer :

Installation GLPI Debian Step 2

  • Cliquez sur Installer

Installation GLPI Debian Step 3

  • Problème rencontré :

Installation GLPI Debian Step 4

Laissez cette page ouverte et retourner sur votre serveur.

l'extension ldap est manquante
l'extension imap est manquante
l'extension APCu est manquante
l'extension xmlrpc est manquante
l'extension CAS est manquante

Solution : pour les extensions manquantes :

root@pixelabs:~# apt-get install php7.0-ldap php7.0-xmlrpc php7.0-imap php-apcu php-cas

Redémarrer le serveur Apache2 :

root@pixelabs:~# systemctl restart apache2

Pour l’erreur en rouge : L’accès web au dossier “files” ne devrait pas être autorisé Vérifier le fichier .htaccess et la configuration du serveur web

Solution : Autoriser la réécriture :

root@pixelabs:~# a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
  systemctl restart apache2
root@pixelabs:~# 

Ne pas relancer encore le serveur apache2. Modifier le fichier de configuration apache2 et ajouter les paramètres ci-dessous :

root@pixelabs:~# nano /etc/apache2/sites-available/000-default.conf

Au dessous du : DocumentRoot /var/www/

<Directory /var/www/glpi>
   Options Indexes FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>

Redémarrez le service Apache2 :

root@pixelabs:~# systemctl restart apache2

Retourner sur le navigateur et cliquez sur Réessayer :

Installation GLPI Debian Step 5

  • On continue.
  • Connexion à la base de données :
    • Serveur : localhost
    • Utilisateur : glpi
    • Mot de passe : glpi

Installation GLPI Debian Step 6

  • On continue.
  • Choisissez la base de données que vous avez créée plus haut. Ici, glpi_pixelabs

Installation GLPI Debian Step 7

  • On continue :

Installation GLPI Debian Step 8

  • On s’arrête pas !

Installation GLPI Debian Step 9

  • Ensuite un autre message s’affiche vous invite à faire un don (pour moi hein… :p )
  • Et ENFIN :

Installation GLPI Debian Step 10

Vous pouvez vous connecter à GLPI. Les identifiants par défaut :

  • Utilisateur : glpi
  • Mot de passe : glpi

Installation GLPI Debian Step 11

Installation terminée.

Une fois connecté, un bandeau orange vous invite à effectuer quelques opérations :

  • Pour des raisons de sécurité, veuillez changer le mot de passe par défaut pour le(s) utilisateur(s) : glpi post-only tech normal
  • Pour des raisons de sécurité, veuillez supprimer le fichier : install/install.php

Je vous laisse modifier les mots de passe par défaut pour les utilisateurs depuis le menu : Administrateur > Utilisateur.

On supprime le fichier install.php :

root@pixelabs:~# rm -f /var/www/glpi/install/install.php

Installation et configuration GLPI Debian

L’installation de GLPI est terminé les amis. Vous venez de mettre en place une solution libre de gestion d’un parc informatique et helpdesk sous Linux.

Bonne journée et à très bientôt.

15 réponses

  1. Bardin dit :

    J’ai suivi ton tuto
    par contre c’est dommage qu’il faille suivre un autre tuto pour mettre l’ad en place, le dns et le dhcp

  2. Steeve dit :

    Salut Monsieur,

    si tu veux je te donne le reste pour mettre en HTTPS et ainsi rendre ce tuto plus complet.
    Cela est pour Debian9 donc il fonctionne très bien.

    a2enmod ssl
    a2ensite default-ssl
    mkdir /etc/apache2/ssl
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/stan-selfsigned.key -out /etc/apache2/ssl/stan-selfsigned.crt
    chmod 600 /etc/apache2/ssl/*
    nano /etc/apache2/sites-enabled/default-ssl.conf
            ServerAdmin webmaster@localhost
            ServerName ipserver:443
            DocumentRoot /var/www/
    " SSLCertificateFile /etc/apache2/ssl/stan-selfsigned.crt
            SSLCertificateKeyFile /etc/apache2/ssl/stan-selfsigned.key"
    
    systemctl restart apache2
    nano /etc/apache2/sites-available/000-default.conf
    Redirect permanent "/" "https://ipserver/
    systemctl restart apache2

    Et voilà bon c’est un peu brouillon mais cela peut te servir

  3. Typiac dit :

    J’ai fait l’installation à partir de ta documentation, c’est extrêmement clair je t’en remercie.
    Un article sur la partie SSO serait un plus, c’est beaucoup utilisé en entreprise.

  4. Steeve dit :

    Salut mon petit yassss
    si tu veux tu peux pousser jusqu’au bout et mettre en HTTPS par exemple, j’ai toute les commandes si tu veux.
    Et le tout pour Debian 9 bien sur 😉
    Je te laisse mettre au propre.

    A plus et continu comme ça.

    a2enmod ssl
    a2ensite default-ssl
    mkdir /etc/apache2/ssl

    Cerrtificat :

    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/stan-selfsigned.key -out /etc/apache2/ssl/stan-selfsigned.crt
    chmod 600 /etc/apache2/ssl/*

    Edit :

    nano /etc/apache2/sites-enabled/default-ssl.conf 

    #mettre ce qui suit dans le fichier :

            ServerAdmin webmaster@localhost
            ServerName IPServeur:443
    
            DocumentRoot /var/www/ #modifier cette ligne
    " SSLCertificateFile /etc/apache2/ssl/stan-selfsigned.crt #Mettre ces deux certificats et commenter les autres
            SSLCertificateKeyFile /etc/apache2/ssl/stan-selfsigned.key"

    Redémarrer le srv

    systemctl restart apache2

    # Mettre cette redirection permanente

    nano /etc/apache2/sites-available/000-default.conf
    Redirect permanent "/" "https://IPServeur/"

    Redémarrage

    systemctl restart apache2
  5. enz dit :

    manifique tuto un pro
    dit moi pour injecter des users depuis ad 2012 tu aurait pas un tuto stp

  6. Julien FARCY dit :

    Merci pour le tutoriel ! Super taf !!!

Laisser un commentaire