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 :
- Voir l’article : pixelabs.fr/configuration-ldap-pour-glpi-active-directory/
Ce qu’il vous faut :
- Debian 9 : machine-virtuelle-debian-9-virtualbox/
- VM de test Windows 10
- Serveur AD 2016 (facultatif) : machine-virtuelle-pixelabs/
- Firewall pfSense : machine-virtuelle-pfsense-virtualbox/
Liens utiles :
- GLPI Release : glpi/releases
- GLPI Plugins : plugins.glpi-project.org/#/
- Site web : glpi-project.org/fr/
- Demo : demo.glpi-project.org/
- Documentation : glpi-project.org
- GitHub : glpi-project/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 :
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 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
- 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
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 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 :
- Acceptez la licence et cliquez sur continuer :
- Cliquez sur Installer
- Problème rencontré :
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 :
- On continue.
- Connexion à la base de données :
- Serveur : localhost
- Utilisateur : glpi
- Mot de passe : glpi
- On continue.
- Choisissez la base de données que vous avez créée plus haut. Ici, glpi_pixelabs
- On continue :
- On s’arrête pas !
- Ensuite un autre message s’affiche vous invite à faire un don (pour moi hein… :p )
- Et ENFIN :
Vous pouvez vous connecter à GLPI. Les identifiants par défaut :
- Utilisateur : glpi
- Mot de passe : glpi
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
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.
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
Salut,
Tu as l’article ici : https://pixelabs.fr/configuration-ldap-pour-glpi-active-directory/
(tu as le lien au début de l’article)
Bonne journée.
-sysadmin
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.
Et voilà bon c’est un peu brouillon mais cela peut te servir
Hello Steve,
Ah c’est super, merci beaucoup 😀
Faut que je modifie l’article pour rajouter tes commandes.
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.
Cerrtificat :
Edit :
#mettre ce qui suit dans le fichier :
Redémarrer le srv
# Mettre cette redirection permanente
Redémarrage
Hey Steve 🙂
C’est parfait !! Merci à toi.
Je m’y colle à mon retour 🙂
A+
Merci.
Y a pas de quoi 🙂
Bonne journée,
-Pixel.
manifique tuto un pro
dit moi pour injecter des users depuis ad 2012 tu aurait pas un tuto stp
Hello,
Merci 🙂
Non malheureusement, je ne suis pas aller aussi loin, mais c’est noté, je mettrais l’article à jour des que possible.
Bonne soirée.
-Pixel.
Salut, l’article est dispo pour la configuration GLPI LDAP : https://pixelabs.fr/configuration-ldap-pour-glpi-active-directory/
bonne journée
-Pixel.
Merci pour le tutoriel ! Super taf !!!
Bonjour Julien,
Y a pas de quoi 😉
Bonne journée.
-Pixel.