Introduction
Dans ce tutoriel, nous allons voir pas à pas comment installer GLPI sur un serveur Nginx / PHP / MariaDB.
Avant de commencer, vous allez avoir besoin d’un serveur Web avec Nginx / PHP / MariaDB d’installés. Si vous avez besoin tout est expliqué dans ce tutoriel : Ubuntu : installer un serveur Web – NGINX / PHP / MariaDB – RDR-IT
Par expérience, l’installation de GLPI sur un serveur Web Nginx offre de meilleur performance qu’avec Apache ou IIS, mais certaines fonctionnalités ne seront pas disponibles comme le SSO.
Préparation de l’environnement
Avant d’attaquer l’installation de GLPI en lui-même, nous allons préparer le serveur. Il convient d’adapter certains éléments à votre environnement.
Création d’un enregistrement DNS
Dans votre zone DNS, créer un enregistrement qui va corresponde à l’url du site GLPI et qui pointe sur l’adresse IP du serveur.
Configuration du vhost
Il faut configurer un vhost (virtual host) qui va répondre à l’enregistrement DNS qui a été créé précédemment
Je suis allergique à l’utilisation de l’hôte par défaut, je préfère utiliser des vhosts qui permettent une meilleure organisation des sites et aussi de mutualiser les ressource d’un serveur en hébergeant plusieurs sites.
Créer les dossiers pour le vhost à l’aide des commandes suivantes :
sudo mkdir /home/www-data/glpi sudo mkdir /home/www-data/glpi/log sudo mkdir /home/www-data/glpi/public_html sudo chown www-data /home/www-data/glpi -R
Les 3 premières lignes vont créer les dossiers pour les fichiers de GLPI et la dernière ligne change le propriétaire.
On va utiliser le fichier default.conf pour créer la configuration du vhost glpi. Copier le fichier à l’aide de la commande ci-après :
sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/glpi.conf
Ouvrir le fichier avec nano :
sudo nano /etc/nginx/sites-available/glpi.conf
Voici mon fichier de config :
server { listen 80; server_name glpi.lab.priv; #charset koi8-r; access_log /home/www-data/glpi/log/access.log main; location / { root /home/www-data/glpi/public_html; index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { root /home/www-data/glpi/public_html; #try_files $uri =404; fastcgi_index index.php; fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
- ligne 3 : url du site
- ligne 6 : emplacement des logs
- ligne 9 : emplacement des fichiers GLPI
- ligne 10 : déclaration de index.php
- ligne 23 : emplacement des fichiers GLPI
Activer le vhost :
sudo ln -s /etc/nginx/sites-available/glpi.conf /etc/nginx/sites-enabled/
Test la configuration nginx :
sudo nginx -t
Recharger la configuration :
sudo systemctl reload nginx
Télécharger et copier les fichiers de GLPI sur le serveur
Aller sur le site : https://glpi-project.org/fr/ et télécharger la dernière version.
Décompresser l’archive et envoyer le contenu sur le serveur dans le dossier /home/www-data/glpi/public_html
.
Personnellement j’utilise WInSCP pour le faire
En fonction du compte utiliser pour le transfert, repasser la commande ci-après pour changer le propriétaire des fichiers et dossiers de GLPI :
sudo chown www-data /home/www-data/glpi -R
Test du vhost glpi
Avant d’aller plus loin, on va maintenant tester le bon fonctionnement du virtual host.
Depuis un navigateur Internet, aller à l’url configurée pour le site GLPI, la page d’installer doit s’afficher.
Installation les modules PHP pour GLPI
GLPI requière des modules PHP pour fonctionner. Installer les modules complémentaires à l’aide la commande suivante (à adapter en fonction de la version de PHP) :
sudo apt install php7.3-mbstring php7.3-curl php7.3-gd php7.3-xml php7.3-intl php7.3-bz2 php7.3-ldap php7.3-xmlrpc php7.3-zip -y
Redémarrer le service PHP (à adapter en fonction de la version de PHP) :
sudo systemctl reload php7.3-fpm
Création de la base de données
« Dernier élément » de préparation de l’environnement pour GLPI et la création de la base de données et d’un utilisateur, pour cela on va utiliser PHPMYADMIN, si vous avez suivi le turoriel Nginx vous devriez l’avoir.
Aller sur PHPMYADMIN, une fois identifier, cliquer sur Comptes utilisateurs 1.
Cliquer sur Ajouter un compte d’utilisateur 1.
Entrer le nom de l’utilisateur 1 (glpi), saisir un mot de passe (x2) 2, cocher la case Créer une base portant son nom et donner à cet utilisateur tous les privilèges sur cette base 3 et cliquer sur Exécuter 4.
L’utilisateur glpi et la base glpi 1 ont été créés.
Installation de GLPI
Depuis un navigateur Internet, aller à l’url configurée, sélectionner la langue 1 et cliquer sur OK 2.
Accepter la licence 1 et cliquer sur Continuer 2.
Cliquer sur Installer 1.
Normalement tous les tests devraient être bon, cliquer sur Continuer 1.
Entrer l’adresse du serveur MariaDB (127.0.0.1 ou localhost) 1, l’utilisateur (glpi) 2 et le mot de passe associé 3 puis cliquer sur Continuer 4.
Sélectionner la base de données 1 et cliquer sur Continuer 2.
Une fois la base de données initialisée, cliquer sur Continuer 1.
Cette étape peut prendre plusieurs secondes.
Choisir l’envoie d’informations de télémétrie et cliquer sur Continuer 1.
Passer la partie don en cliquant sur Continuer 1.
L’installation est terminée, les identifiants des comptes par défaut sont affichés. Cliquer sur Utiliser GLPI 1.
Entrer les identifiants (glpi/glpi) 1 et cliquer sur Envoyer 2 pour vous connecter.
GLPI est prêt à être utilisé.
Après l’installation
Supprimer le dossier install
Supprimer le dossier install du répertoire GLPI.
Actualiser la page d’accueil, le message doit avoir disparu.
Afficher les paramètres serveur
Ces informations peuvent vous êtes demandées en cas de support, avec un compte super-admin (glpi), cliquer sur Configuration 1 puis sur Générale 2.
Aller sur l’onglet Système 1 pour afficher les paramètres du serveur.
L’onglet performance 1 donne des informations sur les différents mécanismes de performance disponible.
Optimisation serveur pour GLPI
Dans cette partie, je vais vous donner deux astuces pour augmenter les performances serveur de GLPI.
Installer PHP-APCU
L’installation de PHP-APCU peut aussi être faite si vous êtes sur Apache
PHP-APCU est un module PHP de cache d’objet qui permet de stocker en RAM (mémoire vive) certains résultats de requêtes afin d’avoir les résultats plus rapidement. GLPI est prévu pour utiliser ce système.
Pour installer php-apcu entrer la commande suivante :
sudo apt install php-apcu
Une fois l’installation terminée, redémarrer le service php-fpm :
sudo systemctl restart php7.3-fpm
Sur l’onglet performance que l’on a vu précédemment dans la partie Cache des données utilisateur 1 on peut voir que l’extension apcu est maintenant utilisée.
Optimisation des paramètres PHP
Derniers éléments d’optimisation du serveur au niveau de PHP va être de modifier quelques paramètres PHP pour le virtual host GLPI en augmentant la mémoire pour PHP et en autorisant l’envoie de fichier plus volumineux.
Comme on peut le voir sur la capture ci-dessous la limite de mémoire est de 128M, l’upload de fichier est lui limité à 2M.
J’ai créé un fichier phpinfo.php à la racine de GLPI avec la fonction phpinfo(); pour afficher les informations
Ouvrir le fichier de configuration glpi.conf et ajouter les éléments ci-dessous dans la section location ~ .php$
fastcgi_param PHP_VALUE "memory_limit=\"256M\" post_max_size=\"128M\" upload_max_filesize=\"32M\"";
Recharger la configuration nginx et redémarrer le service PHP pour la prise en compte :
sudo systemctl reload nginx sudo systemctl restart php7.3-fpm
On peut voir la prise en compte des paramètres :
Cette partie vous explique aussi comment configurer des paramètres (directives) PHP personnalisés à un virtual host sous Nginx.
Vérifier le nombre de processus NGINX
La dernière optimisation que je vais vous présenter dans ce tutoriel est le nombre de processus nginx, pour cela ouvrir le fichier nginx.conf :
sudo nano /etc/nginx/nginx.conf
Vérifier que la directive worker_processes est également au nombre de processeurs, par défaut la valeur est également au nombre de processeurs – 1.
Si vous utilisez une machine virtuelle et que vous augmenter le nombre de processeurs, penser à modifier la valeur de worker_processes.
Si vous apportez une modification redémarrer le service nginx
sudo systemctl restart nginx
Aller plus loin avec GLPI
Maintenant vous êtes prêt à configurer et à utiliser GLPI.
Vous avez plusieurs tutoriels sur GLPI disponible sur le site.
Quelques pistes :