Glpi

Installation de Glpi, Apache 2.4, PHP 7 and MariaDB sur Ubuntu 16.04 LTS

Introduction :

GLPI (GESTION LIBRE DE PARC INFORMATIQUE) http://glpi-project.org/

Step 1: Pré-requis

J’utilise une VM Ubuntu 16.04 LTS serveur avec juste le minimum d’installé.

sudo su

Step 2: Installation d’Apache Web Server

sudo apt-get install apache2 apache2-utils

Apache devrait être démarré automatiquement. Vérifiez son statut avec systemctl:

root@Glpi:/home/ritek# systemctl status apache2 

● apache2.service - LSB: Apache2 web server
 Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
 Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since dim. 2016-06-19 21:10:09 CEST; 2min 44s ago
Docs: man:systemd-sysv-generator(8)      
 CGroup: /system.slice/apache2.service       
 ├─20559 /usr/sbin/apache2 -k start      
 ├─20562 /usr/sbin/apache2 -k start      
 └─20563 /usr/sbin/apache2 -k start      
juin 19 21:10:08 Glpi systemd[1]: Starting LSB: Apache2 web server...        
juin 19 21:10:08 Glpi apache2[20534]: * Starting Apache httpd web server apache2         
juin 19 21:10:09 Glpi apache2[20534]: *      
juin 19 21:10:09 Glpi systemd[1]: Started LSB: Apache2 web server. 

S’il n’est pas démarré, on utilise systemctl pour le lancer :

root@Glpi:/home/ritek# systemctl status apache2          
● apache2.service - LSB: Apache2 web server      
 Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)       
 Drop-In: /lib/systemd/system/apache2.service.d      
 └─apache2-systemd.conf      
 Active: active (running) since dim. 2016-06-19 21:10:09 CEST; 2min 44s ago      
 Docs: man:systemd-sysv-generator(8)         
 CGroup: /system.slice/apache2.service       
 ├─20559 /usr/sbin/apache2 -k start      
 ├─20562 /usr/sbin/apache2 -k start      
 └─20563 /usr/sbin/apache2 -k start      
juin 19 21:10:08 Glpi systemd[1]: Starting LSB: Apache2 web server...        
juin 19 21:10:08 Glpi apache2[20534]: * Starting Apache httpd web server apache2         
juin 19 21:10:09 Glpi apache2[20534]: *      
juin 19 21:10:09 Glpi systemd[1]: Started LSB: Apache2 web server.       

Par la même occasion on active le démarrage auto au reboot

root@Glpi:/home/ritek# systemctl enable apache2      
apache2.service is not a native service, redirecting to systemd-sysv-install         
Executing /lib/systemd/systemd-sysv-install enable apache2       

Step 3: Installation de MariaDB

apt-get install mariadb-server mariadb-client        
systemctl status mysql       
● mysql.service - LSB: Start and stop the mysql database server daemon       
 Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)         
 Active: active (running) since dim. 2016-06-19 22:39:15 CEST; 3min 2s ago       
 Docs: man:systemd-sysv-generator(8)         
 CGroup: /system.slice/mysql.service         
 ├─22586 /bin/bash /usr/bin/mysqld_safe      
 ├─22587 logger -p daemon err -t /etc/init.d/mysql -i        
 ├─22731 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-log-error --pid-fil         
 └─22732 logger -t mysqld -p daemon error        
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22783]: mysql.column_stats OK      
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22783]: mysql.columns_priv OK      
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22783]: mysql.db OK        
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22783]: mysql.event OK         
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22783]: mysql.func OK      
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22783]: mysql.gtid_slave_pos OK        
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22783]: mysql.help_category OK         
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22783]: mysql.help_keyword OK      
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22783]: mysql.help_relation OK         
juin 19 22:39:16 Glpi /etc/mysql/debian-start[22837]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables       

Pour activer le démarrage de MariaDB au boot :

root@Glpi:/home/ritek# systemctl enable mysql        
mysql.service is not a native service, redirecting to systemd-sysv-install       
Executing /lib/systemd/systemd-sysv-install enable mysql         
root@Glpi:/home/ritek# mysql -u root -p      
Enter password:          
Welcome to the MariaDB monitor. Commands end with ; or g.        
Your MariaDB connection id is 50         
Server version: 10.0.25-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04        
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.         
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.         
MariaDB [(none)]> create database glpi;      
MariaDB [(none)]> GRANT ALL PRIVILEGES ON `glpi` .* TO 'glpiuser'@'localhost' IDENTIFIED BY 'pwdglpiuser';       
MariaDB [(none)]> quit;      

Step 4: Installation PHP7

apt-get install php-common php7.0 php7.0-cli php7.0-common php7.0-fpm php7.0-json php7.0-opcache php7.0-readline php7.0-mysql php7.0-gd libapache2-mod-php7.0 php-mbstring php7.0-curl php7.0-ldap php7.0-imap php-xml   

On voit passer ca :

Creating config file /etc/php/7.0/apache2/php.ini with new version       
Module mpm_event disabled.       
Enabling module mpm_prefork.         
apache2_switch_mpm Switch to prefork         
apache2_invoke: Enable module php7.0         

qui rassure et qui évite l’erreur suivante :
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
AH00013: Pre-configuration failed
httpd.service: control process exited, code=exited status=1
si vous avez cette erreur
sudo a2dismod mpm_event
et on active prefork
sudo a2enmod mpm_prefork

root@Glpi:/home/ritek# systemctl status php7.0-fpm       
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager       
 Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)        
 Active: active (running) since dim. 2016-06-19 23:13:47 CEST; 3min 43s ago     
 Process: 997 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, status=0/SUCCESS)         
 Main PID: 1006 (php-fpm7.0)         
 Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"         
 Tasks: 3        
 Memory: 24.3M       
 CPU: 128ms      
 CGroup: /system.slice/php7.0-fpm.service        
 ├─1006 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)          
 ├─1010 php-fpm: pool www        
 └─1011 php-fpm: pool www        
juin 19 23:13:47 Glpi systemd[1]: Stopped The PHP 7.0 FastCGI Process Manager.       
juin 19 23:13:47 Glpi systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...        
juin 19 23:13:47 Glpi systemd[1]: Started The PHP 7.0 FastCGI Process Manager.       
root@Glpi:/home/ritek# php --version         
PHP 7.0.4-7ubuntu2.1 (cli) ( NTS )       
Copyright (c) 1997-2016 The PHP Group        
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies        
 with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies         
cd /var/www      
wget -c https://github.com/glpi-project/glpi/releases/download/0.90.3/glpi-0.90.3.tar.gz         
tar -xvzf glpi-0.90.3.tar.gz         
root@Glpi:/var/www# chown -R www-data:www-data /var/www/glpi         

root@Glpi:/var/www# cd /etc/apache2/sites-available
root@Glpi:/etc/apache2/sites-available# cp 000-default.conf glpi.conf
root@Glpi:/etc/apache2/sites-available# vim glpi.conf
et vous changez DocumentRoot /var/www/html par
DocumentRoot /var/www/

root@Glpi:/etc/apache2/sites-available# a2dissite 000-default.conf       
Site 000-default disabled.       
To activate the new configuration, you need to run:      
 service apache2 reload      
root@Glpi:/etc/apache2/sites-available# a2ensite glpi.conf       
Enabling site glpi.      
To activate the new configuration, you need to run:      
 service apache2 reload      
root@Glpi:/etc/apache2/sites-available# service apache2 reload       

Step 5: Le VirtualHost et SSL:

On fait un peu le ménage et on optimise quelques bricoles.
Pour des raisons de sécurité, veuillez supprimer le fichier : install/install.php

Fuseau horaire
Beaucoup de choses sont horodatées dans GLPI (tickets, inventaires…). Il est préférable qu’Apache soit paramétré sur le bon fuseau horaire (en plus du fait que le serveur doit être à l’heure, évidemment !).
Dans /etc/php/apache2/php.ini, rechercher la ligne « date.timezone », la modifier (ou l’ajouter si elle est en remarque) :
date.timezone = Europe/Paris
et recharger Apache.

Step 6 : Installation de Fusioninventory

On récupère le plugin link pour Glpi 0.9
cd /var/www/glpi/plugins
wget -c https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi090%2B1.3/fusioninventory-for-glpi_0.90.1.3.tar.gz
tar -xzvf fusioninventory-for-glpi_0.90.1.3.tar.gz

● On attribue les droits : chown -R www-data.www-data fusioninventory

rm fusioninventory-for-glpi_0.90.1.3.tar.gz

Dans l’interface GLPI, aller sous Configuration > Plugins cliquez sur Installer puis Activer.

si cela bug un petit :

sudo fusioninventory-agent -debug -debug

Step 7 : Authentification LDAP Active Directory / Samba 4

On renseigne les informations du contrôleur de domaine :

Ldap configuration
Configuration ldap

Sources

5 réflexions au sujet de « Installation de Glpi, Apache 2.4, PHP 7 and MariaDB sur Ubuntu 16.04 LTS »

  1. Bonjour, merci pour ce efficace tuto. Mais je reste bloqué à la configuration de glpi ou l’on me demande les Paramètres de connexion à la base de données… j’ai tout essayer et je ne vois pas quoi mettre….
    merci de votre aide!

  2. Pb Paramètres de connexion à la base de données: à ne pas oublier le grant de toute à l’heure pour le user ‘glpiuser’ identifié par le passwd ‘pwdglpiuser’ 🙂

  3. Bonjour. J’ai déployé mes agents fusioninventory sur mes postes clients mais je n’arrive pas à les faire remonter dans glpi. Dans mon fichier log j’ai remarqué qu’il y avait un problème de communication client-serveur. j’ai ça: error communication:500 can’t connect to \\adresse_serveur:80. D’après les articles que j’ai lu c’est un problème au niveau de la configuration du serveur apache qui a servi a installer glpi. Qu’elqu’un aurait une solution?
    Merci

Laisser un commentaire