5

Installer GLPI sous Debian 9 avec Nginx, php7 et MariaDB

Un mémo sur comment installer GLPI sous Debian Stretch avec Nginx, PHP7 et MariaDB.
GLPI est une solution libre et open-­source de gestion de parc informatique et de service helpdesk administrable via son interface web.
Ce article décrit une installation pas à pas de GLPI à partir d’un serveur Debian 9 fraîchement installé.

Installation et configuration du serveur web

  • Installation des paquets qui composent l’ensemble du serveur web (Nginx, PHP7 et MariaDB) :
  • apt install nginx php7.0-fpm mariadb-server php7.0-curl php7.0-gd php7.0-mysql php7.0-cli php7.0-imap php7.0-ldap php7.0-apcu php7.0-xmlrpc php7.0-mbstring php7.0-xml php7.0-xml
  • Sécuriser MariaDB :
  • mysql_secure_installation
  • Création d’un utilisateur et la base de données pour le futur GLPI :
    • Se connecter au serveur de base de données MariaDB :
    • mysql -u root -p
    • Création d’un utilisateur pour l’accès à la future base de GLPI :
    • CREATE USER 'user-glpi'@'%' IDENTIFIED BY 'MY-MDP';
    • Création de la future base de GLPI :
    • CREATE DATABASE glpi;
    • Donner les droits au compte utilisateur à la base de GLPI :
    • GRANT ALL PRIVILEGES ON glpi.* TO 'user-glpi'@'%';
    • Recharger les privilèges pour la prise en compte des modifications :
    • FLUSH PRIVILEGES;
    • Quitter :
    • Quit;
  • Configuration de PHP7 :
    • Éditer le fichier /etc/php/7.0/fpm/pool.d/www.conf :
    • nano /etc/php/7.0/fpm/pool.d/www.conf
    • Modifier la ligne 36 par :
    • listen = 127.0.0.1:9000
    • Éditer le fichier /etc/php/7.0/fpm/php.ini :
    • nano /etc/php/7.0/fpm/php.ini
    • Dé-commenter le ligne ligne 760 :/
    • cgi.fix_pathinfo=0
  • Configuration de Nginx pour GLPI :
    • Supprimer le block server par défaut :
    • rm /etc/nginx/sites-enabled/default
    • Créer le serveur block pour GLPI :
      • Editer un fichier de configuration pour le server block de GLPI :
      • nano /etc/nginx/sites-enabled/glpi
      • Le contenu :
      •         server {
                        listen   80 default_server;
                        root /var/www/html;
                        index index.php;
                        server_name localhost;
        
                        location / {try_files $uri $uri/ index.php;}
        
                        #prise en charge PHP
                        location ~ \.php$ {
                        fastcgi_pass 127.0.0.1:9000;
                        fastcgi_index index.php;
                        include /etc/nginx/fastcgi_params;
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        include fastcgi_params;
                        fastcgi_param SERVER_NAME $host;
                                           }
                }
        
  • Relancer les services Nginx et php-fpm :
  • systemctl restart nginx
    systemctl restart php7.0-fpm
    

Installation de GLPI

  • Se placer dans l’arborescence du serveur web :
  • cd /var/www/html/
  • Téléchargement de la dernière version de GLPI en date :
  • wget https://github.com/glpi-project/glpi/releases/download/9.2/glpi-9.2.tgz
  • Décompresser l’archive de GLPI :
  • tar xzvf glpi-9.2.tgz
  • Supprimer l’archive téléchargée :
  • rm glpi-9.2.tgz
  • Changer les droits :
  • chmod -R 755 /var/www/html/glpi/
    chown -R www-data:www-data /var/www/html/glpi/
    
  • Ouvrir un navigateur internet et saisir l’url du serveur web : http://IP_du_serveur_web/glpi
    • Sélection la langue
    • Accepter les termes de la licence libre :
    • Cliquer sur installer :
    • Si tout est dans le vert, cliquer sur Continuer :
    • Saisir les informations concernant les accès à la base de données de GLPI :
    • Sélectionner le base de données GLPI :
    • Cliquer sur Continuer :
    • Cliquer sur Continuer (vous pouvez décocher la case Envoyer « statistiques d’usage »)
    • Cliquer sur Utiliser GLPI :
    • Saisir les identifiants par défaut pour se conencter à l’interface web administration de GLPI : glpi/glpi
    • Vous êtes connecté à GLPI :

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

5 Comments

  1. chmod 777 ! Jamais ça…
    chgrp www-data /var/www/html/glpi/{config,files,files/_{dumps,sessions,cron,graphs,lock,plugins,tmp,cache,rss,uploads,pictures,log}} est plus approprié

  2. effectivement, je suis entièrement d’accord avec toi de ne jamais faire du chmod 777, j’ai actualisé l’article avec ta commande… merci :-)

  3. holà !

    Petit soucis lorsque j’effectue GRANT ALL ON `glpi` . * TO ‘glpi’@’%’; voici le message qui m’est retourner :
    ERROR 1133 (28000): Can’t find any matching row in the user table

  4. Re bonjour,

    J’ai monté une VM pour refaire le tuto complet sous Debian 9 – j’ai quelques erreurs qui sont apparues, et quelques questions :

    -Que devons-nous répondre sur les paramètres proposés par la commande : « mysql_secure_installation » ?

    -sur la commande « mysql -u root -p » on doit bien indiquer le mot de passe root de la machine linux et pas un mot de passe pour la BD ?
    – J’ai toujours la même erreur avec la commande suiviant : « CREATE USER ‘user’ identified by ‘PASSWD’; » qui me retourne l’erreur suivante :
    MariaDB [(none)]> GRANT ALL ON `glpi` . * TO ‘glpi’@’%’;
    ERROR 1133 (28000): Can’t find any matching row in the user table

    – Plus 2 petites erreurs rencontré dans les commandes suivantes :

    root@GLPI-TEST:/var/www/html# rm glpi-9.2.tar.gz
    rm: impossible de supprimer ‘glpi-9.2.tar.gz’: Aucun fichier ou dossier de ce type
    root@GLPI-TEST:/var/www/html# rm glpi-9.2.tgz
    root@GLPI-TEST:/var/www/html# chmod -R 755 /var/www/html/glpi/
    root@GLPI-TEST:/var/www/html# chgrp www-data /var/www/html/glpi/{config,files,files/_{ dumps,sessions,cron,graphs,lock,plugins,tmp,cache,rss,uploads,pictures,log}}
    chgrp: impossible d’accéder à ‘/var/www/html/glpi/files/_cache’: Aucun fichier ou dossier de ce type
    root@GLPI-TEST:/var/www/html# mkdir glpi/files/_cache
    root@GLPI-TEST:/var/www/html# chgrp www-data /var/www/html/glpi/{config,files,files/_{dumps,sessions,cron,graphs,lock,plugins,tmp,cache,rss,uploads,pictures,log}}
    root@GLPI-TEST:/var/www/html#

    Comme indiquer le fichier téléchargé n’est pas .tar.gz mais seulement un .tgz – ensuite le dossier _cache/ n’existe pas dans l’archive que j’ai je l’ai dont créer pour m’assurer du fonctionnement de la manipulation et une fois tout cela effectué je lance GLPI : » http://172.20.10.7/glpi/install/install.php » mais tous les test d’écritures ont échoué – ce problème ce règle si je fais un chown www-data -R glpi/ mais après l’assistant me cris dessus parce que tout le monde peut y accéder ce qui paraît un peu logique. En revanche, lorsque j’accède à l’authentification pour entrer dans la base GLPI et que je met glpi/glpi (usere/mdp) cela m’indique « accès refusé »

    Auriez-vous des informations/pistes à me donner vis à vis de ces problèmes rencontrés ??

  5. Bonjour Monsieur_Ninja,
    pour mysql_secure_installation, tu as les infos ici : https://memo-linux.com/securiser-un-serveur-mysql-en-quelques-secondes/
    pour la commande mysql -u root -p c’est le mot de passe root de Mysql
    Ton utilisateur glpi existe bien ?
    pour le rm, j’ai corrigé la coquille
    « mais après l’assistant me cris dessus parce que tout le monde peut y accéder ce qui paraît un peu logique » : c’est un GLPI ouvert à internet ou pas ? de toute façon, www-data doit être propriétaire du dossier GLPI…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *