Parce qu'il y a toujours une solution...

GLPI est une solution de gestion d'actifs et de helpdesk gratuite. Accessible à partir d'un navigateur Web conçu pour gérer tous vos problèmes de gestion d'actifs, de la gestion des composants matériels et des inventaires logiciels à la gestion du helpdesk utilisateur. Source : GLPI-Project

Au travers de ce tutoriel, nous allons procéder à toutes les étapes nécessaires pour installer correctement GLPI sur Ubuntu Server. Nous considérons que vous avez quelques bases en administration Linux.

Fiche technique :
OS > Ubuntu Server 20.04 LTS
Hébergement > VPS (OVH)
BDD > MySQL 8.0
Web Server > Apache2, PHP 7.4
GLPI v9.4.5

Pré-requis : MySQL & Apache

1. Installer MySQL

ubuntu@glpi:~$ sudo apt-get update && sudo apt-get upgrade
ubuntu@glpi:~$ sudo apt-get install mysql-server mysql-client

Configurer MySQL

ubuntu@glpi:~$ mysql -u root -p
  • Créez une base de données nommée glpi
  • Créez un compte utilisateur MySQL nommé glpi
  • Donnez un contrôle total sur la base de données glpi à l'utilisateur glpi
mysql> CREATE DATABASE glpi CHARACTER SET UTF8 COLLATE UTF8_BIN;
CREATE USER 'glpi'@'%' IDENTIFIED BY 'glpi';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi'@'%';
FLUSH PRIVILEGES;
quit;

2. Installer le serveur web Apache

Dans le cadre de notre tutoriel, nous installerons la dernière version de PHP :

ubuntu@glpi:~$ sudo apt-get update && sudo apt-get upgrade
ubuntu@glpi:~$ sudo apt-get install apache2 php php-mysql libapache2-mod

Modules PHP requis par Apache & GLPI :

ubuntu@glpi:~$ sudo apt-get install php-json php-gd php-curl php-mbstring php-cas
ubuntu@glpi:~$ sudo apt-get install php-xml php-cli php-imap php-ldap php-xmlrpc php-apcu

Activer le module a2enmod :

ubuntu@glpi:~$ sudo a2enmod rewrite
ubuntu@glpi:~$ sudo systemctl restart apache2

Editez le fichier apache2.conf et ajouter les ligne suivant à la fin du fichier :

ubuntu@glpi:~$ sudo nano /etc/apache2/apache2.conf 
<Directory /var/www/html>
AllowOverride All
</Directory>

Recherchez l'emplacement du fichier de configuration PHP (installez au préalable mlocate et locate) :

ubuntu@glpi:~$ sudo updatedb
ubuntu@glpi:~$ locate php.ini

Editez le fichier de configuration php.ini :

ubuntu@glpi:~$ sudo nano /etc/php/7.4/apache2/php.ini

Quelques recommandations :

file_uploads = On
max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
max_input_time = 60
max_input_vars = 4440

Redémarrez Apache et vérifiez l'état du service :

ubuntu@glpi:~$ sudo service apache2 restart
ubuntu@glpi:~$ sudo service apache2 status
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-05-17 16:22:54 UTC; 7s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 17301 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 17321 (apache2)
      Tasks: 6 (limit: 2287)
     Memory: 13.0M
     CGroup: /system.slice/apache2.service
             ├─17321 /usr/sbin/apache2 -k start
             ├─17322 /usr/sbin/apache2 -k start
             ├─17323 /usr/sbin/apache2 -k start
             ├─17324 /usr/sbin/apache2 -k start
             ├─17325 /usr/sbin/apache2 -k start
             └─17326 /usr/sbin/apache2 -k start

3. Installer GLPI

Après avoir installer et configurer MySQL/Apache, nous pouvons alors débuter l'installation de GLPI.

Téléchargez la dernière version de GLPI et l'extraire dans le dossier /tmp :

ubuntu@glpi:~$ cd /tmp
ubuntu@glpi:/tmp$ wget https://github.com/glpi-project/glpi/releases/download/9.4.5/glpi-9.4.5.tgz
ubuntu@glpi:/tmp$ tar -zxvf glpi-9.4.5.tgz 

Déplacez le dossier GLPI dans le répertoire racine de Apache :

ubuntu@glpi:/tmp$ sudo mv glpi /var/www/html/

Donnez à l'utilisateur www-data le contrôle total sur le répertoire GLPI et ses fichiers :

ubuntu@glpi:/tmp$ sudo chown -R www-data /var/www/html/glpi

Créez un fichier de configuration Apache nommé glpi.conf et insérez le texte suivant :

ubuntu@glpi:/tmp$ sudo nano /etc/apache2/conf-available/glpi.conf
<Directory /var/www/html/glpi>
AllowOverride All
</Directory>

<Directory /var/www/html/glpi/config>
Options -Indexes
</Directory>

<Directory /var/www/html/glpi/files>
Options -Indexes
</Directory>

Activez la configuration et redémarrez le serveur Apache :

ubuntu@glpi:/tmp$ sudo a2enconf glpi
ubuntu@glpi:/tmp$ sudo systemctl reload apache2
ubuntu@glpi:/tmp$ sudo service apache2 restart 

4. Configurer GLPI

Ouvre le navigateur web et entrez l'adresse IP du serveur GLPI

Exemple : http://192.168.1.100/glpi

Sélectionnez la langue :

Acceptez les termes de la licence :

Cliquez sur le bouton Installer :

Vérifier le résultat de tous les tests, puis cliquez sur Continuer :

Renseignez les informations de connexion MySQL pour vous connectez à la base de données GLPI :

Sélectionnez la base de données glpi, créée dans une étape plus haut :

Une fois la base initialisée, cliquez sur Continuer :

Si vous êtes généreux, faites un don !

Prenez note des identifiants par défaut, et cliquez sur Utiliser GLPI :

Entrez le compte et mot de passe glpi/glpi :

Bravo, GLPI est installé sur votre système Ubuntu Server !


Sur la console Linux, supprimez le fichier d'installation de GLPI.

ubuntu@glpi:/tmp$ sudo rm /var/www/html/glpi/install/install.php

En ce moment, je travaille sur une connexion (SSO) avec Microsoft Azure Active Directory. Certainement, le prochain tutoriel sur GLPI :)