Installation de GLPI
Environnement
VM Debian, SSH, Ligne de commande Linux
Technologies
GLPI, PHP, MySQL, Apache
Objectifs
Modernisation de l'interface, renforcement de la sécurité
Avantages obtenus
- Interface modernisée et plus intuitive pour les utilisateurs
- Sécurité renforcée du système de ticketing
- Meilleure gestion des incidents et demandes informatiques
- Suivi plus efficace des actifs informatiques
Présentation du projet
Lors de mon premier stage chez Nicomatic, j'ai été chargé d'installer une nouvelle version de GLPI (Gestionnaire Libre de Parc Informatique) pour moderniser l'interface existante et renforcer la sécurité du système de ticketing de l'entreprise. GLPI est une solution open source de gestion de parc informatique et de service d'assistance qui permet de gérer l'inventaire des actifs informatiques et de traiter les demandes d'assistance des utilisateurs.
Ce projet nécessitait une VM Debian, un logiciel pour se connecter via SSH (Secure Shell) et des connaissances de l'environnement Linux en ligne de commande. L'objectif était de mettre en place une solution robuste et sécurisée qui répondrait aux besoins de l'entreprise en matière de gestion des incidents et de suivi des actifs informatiques.
Défis techniques
Configuration de l'environnement serveur
Préparer et configurer correctement l'environnement serveur Debian pour accueillir GLPI, en s'assurant que toutes les dépendances nécessaires sont installées et configurées.
Solution mise en œuvre
J'ai installé et configuré les packages nécessaires (Apache, PHP, MySQL) sur la VM Debian. J'ai veillé à ce que les versions des packages soient compatibles avec la version de GLPI à installer. J'ai également configuré les paramètres de sécurité de base pour le serveur web et la base de données.
# Installation des dépendances
sudo apt update
sudo apt install apache2 php php-mysql php-curl php-gd php-intl php-pear php-imagick php-imap php-memcache php-pspell php-tidy php-xmlrpc php-mbstring php-ldap php-zip php-bz2 php-xml mariadb-server
# Configuration de MySQL
sudo mysql_secure_installation
# Création de la base de données pour GLPI
sudo mysql -u root -p
CREATE DATABASE glpidb;
CREATE USER 'glpiuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON glpidb.* TO 'glpiuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;Installation et configuration de GLPI
Télécharger, installer et configurer correctement GLPI pour qu'il fonctionne avec l'environnement serveur préparé, en s'assurant que toutes les fonctionnalités sont opérationnelles.
Solution mise en œuvre
J'ai téléchargé la dernière version stable de GLPI depuis le site officiel. J'ai extrait les fichiers dans le répertoire du serveur web et configuré les permissions appropriées. J'ai ensuite suivi l'assistant d'installation web pour configurer la connexion à la base de données et les paramètres initiaux.
# Téléchargement de GLPI
cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.0/glpi-10.0.0.tgz
# Extraction des fichiers
tar -xzvf glpi-10.0.0.tgz
# Déplacement des fichiers vers le répertoire du serveur web
sudo mv glpi /var/www/html/
# Configuration des permissions
sudo chown -R www-data:www-data /var/www/html/glpi
sudo chmod -R 755 /var/www/html/glpi
# Création du fichier de configuration Apache pour GLPI
sudo nano /etc/apache2/sites-available/glpi.conf
# Activation du site et redémarrage d'Apache
sudo a2ensite glpi.conf
sudo systemctl restart apache2Sécurisation de l'installation
Mettre en place des mesures de sécurité pour protéger l'installation de GLPI contre les accès non autorisés et les vulnérabilités potentielles.
Solution mise en œuvre
J'ai configuré un pare-feu avec UFW pour limiter l'accès au serveur. J'ai mis en place HTTPS avec Let's Encrypt pour sécuriser les communications. J'ai également configuré des politiques de mot de passe strictes et supprimé le répertoire d'installation après la configuration initiale.
# Installation et configuration du pare-feu UFW
sudo apt install ufw
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
# Installation de Let's Encrypt pour HTTPS
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d glpi.example.com
# Suppression du répertoire d'installation
sudo rm -rf /var/www/html/glpi/install
# Configuration des permissions après installation
sudo find /var/www/html/glpi -type d -exec chmod 755 {} \;
sudo find /var/www/html/glpi -type f -exec chmod 644 {} \;Étapes principales du projet
Préparation de l'environnement
J'ai commencé par préparer la VM Debian qui allait héberger GLPI. Cela impliquait la mise à jour du système, l'installation des packages nécessaires (Apache, PHP, MySQL) et la configuration initiale du serveur web et de la base de données.
# Mise à jour du système
sudo apt update
sudo apt upgrade
# Installation des packages nécessaires
sudo apt install apache2 php php-mysql php-curl php-gd php-intl php-pear php-imagick php-imap php-memcache php-pspell php-tidy php-xmlrpc php-mbstring php-ldap php-zip php-bz2 php-xml mariadb-serverConfiguration de la base de données
J'ai configuré la base de données MySQL qui allait stocker les données de GLPI. Cela comprenait la création d'une base de données dédiée, d'un utilisateur avec les privilèges appropriés et la sécurisation de l'installation MySQL.
# Sécurisation de l'installation MySQL
sudo mysql_secure_installation
# Création de la base de données et de l'utilisateur
sudo mysql -u root -p
CREATE DATABASE glpidb;
CREATE USER 'glpiuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON glpidb.* TO 'glpiuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;Installation de GLPI
J'ai téléchargé la dernière version stable de GLPI depuis le site officiel, extrait les fichiers dans le répertoire du serveur web et configuré les permissions appropriées pour que le serveur web puisse accéder aux fichiers.
# Téléchargement de GLPI
cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.0/glpi-10.0.0.tgz
# Extraction des fichiers
tar -xzvf glpi-10.0.0.tgz
# Déplacement des fichiers vers le répertoire du serveur web
sudo mv glpi /var/www/html/
# Configuration des permissions
sudo chown -R www-data:www-data /var/www/html/glpi
sudo chmod -R 755 /var/www/html/glpiConfiguration de GLPI
J'ai accédé à l'interface web d'installation de GLPI et suivi l'assistant pour configurer la connexion à la base de données, créer le compte administrateur et définir les paramètres initiaux du système.
Cette étape comprenait également la configuration des paramètres de l'application, tels que les notifications par e-mail, les règles d'inventaire et les droits d'accès des utilisateurs.
Sécurisation et finalisation
J'ai mis en place des mesures de sécurité pour protéger l'installation de GLPI, notamment la configuration d'un pare-feu, la mise en place de HTTPS avec Let's Encrypt, la configuration de politiques de mot de passe strictes et la suppression du répertoire d'installation.
J'ai également effectué des tests pour vérifier que toutes les fonctionnalités de GLPI fonctionnaient correctement et que le système était prêt à être utilisé par les équipes informatiques de Nicomatic.
Glossaire des commandes Linux utilisées
| Commande | Explication |
|---|---|
| cd | Change le répertoire courant dans l'arborescence des fichiers de l'utilisateur. |
| mkdir | Crée un nouveau répertoire (dossier) à l'emplacement spécifié. |
| rm (-r) | Supprime un fichier (rm) ou un répertoire et son contenu de manière récursive (rm -r). |
| wget | Télécharge des fichiers depuis le web à l'adresse URL spécifiée. |
| mv | Déplace ou renomme des fichiers ou répertoires. |
| tar -xzvf | Extrait un fichier tarball (-x) compressé avec gzip (-z), en affichant le détail du processus (-v), à partir du fichier spécifié (-f). |
| sudo | Exécute une commande avec les privilèges de superutilisateur (root). |
| sudo su | Change l'utilisateur courant pour le superutilisateur (root), en utilisant sudo pour obtenir les permissions nécessaires. |
| nano | Ouvre l'éditeur de texte Nano dans le terminal pour créer ou modifier des fichiers de texte. |
| ls (-l) | Liste les fichiers et répertoires dans le répertoire courant (ls), avec l'option -l affichant les détails en format long (permissions, propriétaire, taille et date de dernière modification). |
Avantages de GLPI pour la gestion informatique
Gestion des tickets
GLPI offre un système complet de gestion des tickets qui permet de suivre les demandes d'assistance, d'attribuer des tâches aux techniciens et de suivre la résolution des problèmes.
Inventaire des actifs
GLPI permet de gérer l'inventaire complet des actifs informatiques, y compris les ordinateurs, les périphériques, les logiciels et les licences, facilitant ainsi la gestion du parc informatique.
Gestion des configurations
GLPI permet de gérer les configurations des équipements informatiques, facilitant ainsi la maintenance et le dépannage des systèmes. Il permet également de documenter les configurations pour une meilleure traçabilité.
Gestion des SLA
GLPI permet de définir et de suivre des accords de niveau de service (SLA), garantissant ainsi que les incidents sont traités dans les délais convenus et que les priorités sont respectées.
Compétences acquises
Administration Linux
Maîtrise des commandes Linux, gestion des utilisateurs et des permissions, configuration des services système
Configuration de serveurs web
Installation et configuration d'Apache, PHP et MySQL, optimisation des performances, sécurisation des services
Sécurité informatique
Configuration de pare-feu, mise en place de HTTPS, gestion des certificats SSL, sécurisation des accès
Gestion de projet IT
Planification et exécution d'un projet d'installation de logiciel, documentation des procédures, tests et validation
Conclusion
L'installation de GLPI chez Nicomatic a permis de moderniser l'interface du système de ticketing et de renforcer sa sécurité. Ce projet m'a permis d'acquérir une expérience précieuse en administration Linux, en configuration de serveurs web et en sécurité informatique.
Les compétences acquises lors de ce projet sont directement applicables à d'autres projets d'installation et de configuration de logiciels sur des serveurs Linux. La maîtrise des commandes Linux et la compréhension des principes de sécurité informatique sont des atouts précieux pour ma carrière dans le domaine de l'informatique.