deploiement:glpi:install_debian9
Ceci est une ancienne révision du document !
Table des matières
GLPI: Installation sur Debian 10
Installation de GLPI
- Installer les paquets nécessaires
apt update apt dist-upgrade apt-get install nginx mariadb-server php-fpm php-mysql php-curl php-intl php-zip php-bz2 \ php-ldap php-gd php-imap php-mbstring php-xml php-xmlrpc php-apcu php-cas - Sécuriser mariadb
mysql_secure_installation
- Télécharger & décompresser le package
wget -qO- https://github.com/glpi-project/glpi/releases/download/9.5.3/glpi-9.5.3.tgz | tar xvzf -
- Copier les fichiers téléchargés dans /var/www
cp -r glpi /var/www
- Editer le fichier /etc/nginx/sites-enabled/default
nano /etc/nginx/sites-enabled/default
- default
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/; index index.php index.html index.htm index.nginx-debian.html; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_param SERVER_NAME $host; } location /glpi/files/ { deny all; return 404; } }
- Protéger PHP d'une potentielle faille
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/7.3/fpm/php.ini
- Redémarrer Nginx
service nginx restart
- Configurer un utilisateur Mysql pour Glpi
mysql -u root -p
CREATE DATABASE glpi; CREATE USER glpi@localhost IDENTIFIED BY "**motdepasse**"; GRANT ALL PRIVILEGES ON glpi.* TO glpi@localhost; flush privileges; quit
- Changer le propriétaire du dossier
chown -R www-data:www-data /var/www/glpi/
- Visiter la page de GLPI pour configurer via l'interface Web http://ip/glpi

- Configurer un cron pour les tâches
crontab -eet coller la ligne suivante
* * * * * /usr/bin/php /var/www/glpi/front/cron.php &>/dev/null
- Editer le fichier php.ini dans le répertoire /etc/php/7.3/cli
nano /etc/php/7.3/cli/php.ini
et adapter cette ligne pour y indiquer votre timezone
date.timezone = Europe/Brussels
Vous pouvez aussi l'adapter pour autoriser l'upload de fichiers volumineux
upload_max_filesize = 500M post_max_size = 500M memory_limit = 500M default_socket_timeout = 6000
- Editer le fichier php.ini dans le répertoire /etc/php/7.3/fpm
nano /etc/php/7.3/fpm/php.ini
et adapter cette ligne pour y indiquer votre timezone
date.timezone = Europe/Brussels
Vous pouvez aussi l'adapter pour autoriser l'upload de fichiers volumineux
upload_max_filesize = 500M post_max_size = 500M memory_limit = 500M default_socket_timeout = 6000
Installation de FusionInventory
- Télécharger le plug-in pour GLPI
wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2
- Décompresser l'archive
tar xvfj fusioninventory-9*
- Copier les fichiers dans le bon répertoire
cp -r fusioninventory /var/www/glpi/plugins/
- Changer le propriétaire des fichiers
chown -R www-data:www-data /var/www/glpi/
- Dans GLPI, installer puis activer le plugin FusionInventory
Intégration au serveur LDAP/Active Directory
- Installer les packages nécessaires
apt-get install php-ldap ldap-utils - Copier le certificat du serveur LDAP dans le répertoire /usr/local/share/ca-certificates
cp server-ad.crt /usr/local/share/ca-certificates
- Mettre à jour la database des certificats
update-ca-certificates
- Vérifiez si vous savez vous connecter sur le serveur LDAP distant
#Si je veux vérifier localement un certificat sur base des CA présents dans /etc/ssl/certs #openssl verify -CApath /etc/ssl/certs sambaCert.pem openssl s_client -showcerts -connect srv-ad.makeitsimple.lan:636
La réponse devrait être : Verify return code: 0 (ok)
- Editer le fichier ldap.conf
nano /etc/ldap/ldap.conf
Il devrait ressembler à ceci
- ldap.conf
BASE dc=makeitsimple.lan URI ldaps://srv-ad.makeitsimple.lan #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never # TLS certificates (needed for GnuTLS) TLS_CACERT /etc/ssl/certs/ca-certificates.crt
- Faire un test de connexion en interrogeant le serveur LDAP
ldapsearch -x -d 1 -D 'cn=Administrator,cn=Users,dc=makeitsimple,dc=lan' -W -b'cn=Users,dc=MAKEITSIMPLE,dc=LAN'
Configuration SSL
- Activer et ssl & désactiver l'accès par défaut
a2dissite 000-default.conf a2enmod ssl
- Créer les certicats nécessaires
- Editer le fichier /etc/apache2/sites-available/glpi.conf
nano /etc/apache2/sites-available/glpi.conf
Voici à quoi devrait ressembler le fichier
#les 4 premières lignes sont des tests pour intercepter tout ce qui n’est pas nommé par DNS <VirtualHost 10.0.0.214:80> ServerName 10.0.0.214/ DocumentRoot /var/www/glpi </VirtualHost> <VirtualHost srv-glpi.makeitsimple.lan:80> ServerName srv-glpi.makeitsimple.lan/ Redirect / https://srv-glpi.makeitsimple.lan/ </VirtualHost> <VirtualHost srv-glpi.makeitsimple.lan:443> ServerName srv-glpi.makeitsimple.lan DocumentRoot /var/www/glpi SSLEngine on SSLCertificateFile /etc/apache2/srv-glpi.crt SSLCertificateKeyFile /etc/apache2/srv-glpi.key </VirtualHost>
- Dans les paramètres généraux de GLPI, changer l’url du serveur pour refléter son FQDN. Sinon le déploiement de paquet ne fonctionnera pas. Dans les paramètres Administration → Entités → Root entity → Fusioninventory
Single Sign On (SSO)
- Installer les paquets samba & winbind
apt install samba winbind smbfs libapache2-mod-auth-ntlm-winbind - Configurer Samba pour se connecter au domaine
nano /etc/samba/smb.conf
Coller une configuration +/- similaire
- smb.conf
workgroup = MAKEITSIMPLE realm = MAKEITSIMPLE.LAN security = ADS #if using Active Directory encrypt passwords = true
- Redémarrer les services Samba et joignez le domaine (Attention resolv.conf doit pointer vers le DC)
service smbd restart service nmbd restart net ads join -U Administrator
- Editer le fichier nsswitch
nano /etc/nsswitch.conf
et modifier les deux lignes suivantes
passwd: compat winbind group: compat winbind
- Redémarrer Winbind
service winbind restart
- Si tout fonctionne, vous devriez avoir une réponse avec ces commandes
wbinfo -g wbinfo -u
- Ajouter www-data comme user pouvant se connecter à Winbind
adduser www-data winbindd_priv
→
Voici des commandes qui pourraient aider
- usermod -a -G winbindd_priv www-data
- chgrp winbindd_priv /var/lib/samba/winbindd_privileged
- ln -s /var/lib/samba/winbindd_privileged/pipe /var/run/samba/winbindd_privileged/pipe
- Activer le module
a2enmod auth_ntlm_winbind
- Editer votre fichier de configuration apache relatif à l’install GLPI
nano /etc/apache2/sites-enabled/000-default.conf
ou
nano /etc/apache2/sites-available/glpi.conf
si vous avez activé ssl. Voici un exemple de ce que vous devriez avoir dans une configuration simple
- glpi.conf
VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <directory /var/www/html> NTLMAuth on AuthName "NTLM Authentication" NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp" NTLMBasicAuthoritative on AuthType NTLM require valid-user </directory> </VirtualHost>
- Dans GLPI → Configuration → Authentification → Autre méthode d’authentification
- Champs de stockage de l’identifiant : REMOTE_USER
- Supprimer le domaine des identifiants : NON
- SCREENSHOTS!
- Le navigateur doit être en mesure d’envoyer les infos NTLM. Pour IE, il faut que le site soit reconnu comme Sécurité=intranet.
Cron ne veut pas fonctionner
- Liste numérotéeVérifier que le timezone est bien configuré dans les deux fichiers PHP
- Voir dans Configuration → Action automatique → Tasksheduler si
- Mode éxécution = CLI
Sources
deploiement/glpi/install_debian9.1608323851.txt.gz · Dernière modification : (modification externe)




