jean-baptiste crosnier février 2014 · jean-baptiste crosnier février 2014 page 1 sur 17...
Post on 29-Sep-2018
216 Views
Preview:
TRANSCRIPT
Jean-Baptiste Crosnier février 2014
Page 1 sur 17
Procédure de migration d’une version de GLPI a une autre avec réinstallation complète de la machine serveur. (CentOS 6.5 Minimal, GLPI 0.84.4 et fusioninventory 2.3.5)
Sommaire
Installation de CentOS................................................................................................................................................... 2
Installation des logiciels ................................................................................................................................................ 2
Configuration des services et logiciels .......................................................................................................................... 3
Sécurisation avec SSL .................................................................................................................................................... 3
Redirection http vers https ........................................................................................................................................... 4
Paramétrage des démarrages ....................................................................................................................................... 4
Installation de GLPI ....................................................................................................................................................... 4
Installation de fusion inventory .................................................................................................................................... 5
Installation de l’agent fusion inventory ........................................................................................................................ 5
Mise en place d’un certificat signé par l’Active Directory (Agent + SSL) ...................................................................... 7
Installation de phpMyAdmin ........................................................................................................................................ 7
Installation de webmin ................................................................................................................................................. 8
Mise en place de la base SQL ........................................................................................................................................ 8
Paramétrage dans la base de données ......................................................................................................................... 9
Lier L’Ad avec GLPI ........................................................................................................................................................ 9
Synchronisation des utilisateurs de l’AD avec GLPI .................................................................................................... 11
Déploiement via GLPI avec fusion inventory .............................................................................................................. 12
Inventaire ESX/ESXi/vCenter en utilisant la VMware SOAP API ................................................................................. 14
Inventaire d’Android avec fusioninventory ................................................................................................................ 15
Sauvegarde automatique de GLPI ............................................................................................................................... 16
Customiser la page de login de GLPI ........................................................................................................................... 16
Jean-Baptiste Crosnier février 2014
Page 2 sur 17
Installation de CentOS
Télécharger l’image ISO ici : http://mirrors.ircam.fr/pub/CentOS/6.5/isos/
Choisir l’iso CentOS-6.5-i386-minimal.iso (dernière version actuellement)
Installer le système…
Activer l’interface ETH0 au démarrage et la passer en IP Static
Vi /etc/sysconfig/network-scripts/ifcfg-eth0
Mettre ONBOOT sur yes
Passage en IP Static : (Adapter à la bonne configuration)
Puis ifup eth0 && service network restart
service iptables stop && service ip6tables stop
vi /etc/selinux/config # Mettre selinux sur disable comme ceci : SELINUX=disabled
Modifier le DNS comme ceci :
search labo.bl # Remplacez labo.bl par le nom de domaine de votre Serveur AD.
nameserver 192.168.147.130 # Adresse ip du serveur Active Directory
Installation des logiciels
yum update && yum install httpd php php-mysql mysql-server php-mbstring php-devel php-pear gcc pecl/json php-ldap php-imap php-xml
Logiciels à installer en plus : ntsysv wget tree mlocate
Lancer ntsysv Cocher mysqld et httpd
Jean-Baptiste Crosnier février 2014
Page 3 sur 17
Lancer apache et mysql : service httpd start && service mysqld start
Configuration des services et logiciels
mysqladmin -u root password 'toor' (remplacer ‘toor’ par un mot de passe complexe)
mysql -u root -p (saisissez le mot de passe root de MySQL)
create database glpidb; #Création de la base de données
create user glpi@localhost identified by ‘glpimdp‘; (changer glpimdp par un mot de passe complexe)
grant all privileges on glpidb.* to glpi@localhost identified by 'glpimdp';
select User,Host,Password from mysql.user; # Affiche les utilisateurs de mysql
Sécurisation avec SSL
Via SSH :
yum install mod_ssl
mkdir /etc/httpd/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out
/etc/httpd/ssl/apache.crt
Répondre aux questions
vi /etc/httpd/conf.d/ssl.conf
Modifier avec ces valeurs :
ServerName 192.168.143.131:443
DocumentRoot /var/www/html/glpi
Jean-Baptiste Crosnier février 2014
Page 4 sur 17
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key
/etc/init.d/httpd reload # Enfin, on recharge la configuration d’Apache
Redirection http vers https
Il suffit de modifier le fichier /etc/httpd/conf/httpd.conf
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.ori
vi /etc/httpd/conf/httpd.conf
Les utilisateurs se connectant en http seront redirigés vers du https automatiquement.
Paramétrage des démarrages
Lancer depuis la console : ntsysv
Choisir les services qui doivent démarrer avec le système et décocher les autres.
Installation de GLPI
Télécharger la dernière version de GLPI ici : http://www.glpi-project.org/spip.php?article41&lang=en
Jean-Baptiste Crosnier février 2014
Page 5 sur 17
Puis entrer les commandes :
tar –zxvf glpi-*.*.*.tar.gz –C /var/www/html/ chown –R apache glpi && service httpd reload
Accéder à GLPI via https://192.168.147.131/glpi
Suivre les étapes d’installation. Host=127.0.0.1 Login=glpi Password=glpimdp
rm /var/www/html/glpi/install/install.php
Installation de fusion inventory
Télécharger la dernière version de fusion inventory ici :
http://forge.fusioninventory.org/projects/fusioninventory-for-glpi/files
Puis entrer les commandes :
tar –zxvf fusioninventory-for-glpi_*.tar.gz –C /var/www/html/glpi/plugins
Dans l’interface de GLPI allez dans Configuration/plugins et cliquer sur Installer puis sur activer.
Ensuite aller dans la configuration du plugin et cliquer entrer l’URL d’accès au service : https://192.168.147.131/glpi
Installation de l’agent fusion inventory
CentOS :
On installe un repository :
wget http://fr2.rpmfind.net/linux/epel/6/i386/epel-release-6-8.noarch.rpm
yum install epel*
yum install fusioninventory-agent fusioninventory-agent-task-inventory
vi /etc/fusioninventory/agent.cfg
Configuré l’agent comme ça :
Jean-Baptiste Crosnier février 2014
Page 6 sur 17
fusioninventory-agent # Pour forcer l’inventaire.
chkconfig --level 2345 fusioninventory-agent on # Démarrage d’automatique de l’agent.
Vérifier que les repository ajoutés sont désactivé pour qu’ils ne mettent pas à jour automatiquement les
paquets.
less /etc/yum.repos.d/[nom-repository] Mettre enable à 0.
Windows :
Télécharger la dernière version de l’agent ici disponible ici : http://forge.fusioninventory.org/projects/fusioninventory-agent-windows-installer/files
Installation en ligne de commande :
fusioninventory-agent_windows-x86_2.3.5.exe /S /server="https://192.168.147.131/glpi/plugins/fusioninventory/" /no-ssl-check /add-firewall-exception /acceptlicense /execmode=Service /installtype="from-scratch" /installtasks="full" /runnow
fusioninventory-agent_windows-x86_2.3.5.exe /S
L’agent va remplacer toutes les versions antérieures de l’agent installé sur la machine de destination.
Si OCS est installé, il est possible de le désinstaller en ligne de commande avec ce script :
http://pastebin.com/SZuGAkQC
Le script nécessite de mettre à disposition dans le répertoire \\AD\app l’installateur de fusioninventory et d’autoriser en écriture le répertoire \\AD\logs.
(Le script désinstalle OCSinventory, installe fusioninventory, et reboot la machine)
On force un inventaire en allant à cette adresse : http://127.0.0.1:62354/ (Attendre l’installation du mod-SSL avant de lancer cette commande).
L’agent est également disponible pour les autres distributions Linux, MacOSX, et d’autres systèmes! Lien de téléchargement : http://www.fusioninventory.org/documentation/agent/installation/
Jean-Baptiste Crosnier février 2014
Page 7 sur 17
Mise en place d’un certificat signé par l’Active Directory (Agent + SSL)
Créer un certificat signé par l’AD et le mettre dans le dossier /etc/httpd/ssl Puis lancer les commandes suivante pour générer les nouveaux fichiers .key .crt .cer :
Modifier dans /etc/httpd/conf.d/ssl.conf et modifier les lignes suivantes :
SSLCertificateFile /etc/httpd/ssl/glpi.groupe.berger-levrault.net.cer SSLCertificateKeyFile /etc/httpd/ssl/glpi.groupe.berger-levrault.net.key SSLCACertificateFile /etc/httpd/ssl/CA-DC1LABL.crt Modifier dans /etc/httpd/conf /httpd.conf et modifier comme ceci :
Réinstaller l’agent avec cette commande en remplaçant l’url par la votre.
fusioninventory-agent_windows-x86_2.3.5.exe /S /server="https://glpi.groupe.berger-levrault.net/plugins/fusioninventory/" /no-ssl-check /add-firewall-exception /acceptlicense /execmode=Service /installtype="from-scratch" /runnow
Les remonter de GLPI se font via https désormais. Vérifier les log avec la commande : tail -f /var/log/httpd/ssl_error_log
Installation de phpMyAdmin
yum install phpmyadmin # Dépend du dépôt epel ajouté précédemment.
vi /etc/httpd/conf.d/phpMyAdmin.conf
Dans Allow from ajouter les ip par lesquels on souhaite accéder à phpMyAdmin (à deux endroits).
service mysqld restart && service httpd restart
Accéder à phpMyAdmin via http://192.168.147.131/phpmyadmin/
Jean-Baptiste Crosnier février 2014
Page 8 sur 17
Si erreur avec mysql : rm –rf /var/lib/mysql/mysql.sock
Installation de webmin
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.510-1.noarch.rpm
rpm -i webmin-1.510-1.noarch.rpm
Accéder à webmin via https://192.168.147.131:10000
Dans webmin> Configuration de Webmin> Contrôle d'accès IP
Définir les IP autorisées à accéder à webmin.
Mise en place de la base SQL
Sur la machine du GLPI à migrer :
Créer un utilisateur local à GLPI en cliquant sur Ajouter utilisateur… Il va nous permettre de nous
connecter pour refaire un lien entre GLPI et l’annuaire LDAP par la suite.
Penser à désactiver le collecteur de mail avant l’import et à le réactiver par la suite, une fois l’ancien glpi
désactiver…
Il est dans : Configuration>Collecteurs
Via SSH, se connecter à mysql et télécharger la base de données :
mysqldump –u root –p glpidb > glpisav.sql
glpidb – Correspond à la base de données à sauvegarder. glpisav – Sera notre sauvegarde de la base de données. On transfert la base de données d’une machine à l’autre via WinSCP.
Sur la nouvelle installation :
Si la base de destination existe déjà et qu’elle n’est pas vide, il faut la vider :
mysql –u root –p
drop database glpidb;
create database glpidb;
Jean-Baptiste Crosnier février 2014
Page 9 sur 17
Importer la base de données exportée précédemment :
mysql –u root –p glpidb < glpisav.sql
On accède à GLPI : https://192.168.147.131/glpi
On met à jour la base de données…
IMPORTANT : Ne pas oublier de nettoyer puis de réactiver les plugins dans GLPI, puis de les configurer.
Configuration>Plugins
Vérifier l’url d’accès au service dans les paramètres de fusion inventory
URL : https://192.168.147.131/glpi
Paramétrage dans la base de données
Il faut mettre à jour un paramètre dans GLPI, avec ces commandes :
mysql –p use glpidb update glpi_configs set url_base = ‘https://192 .168.147.131/glpi’ ; exit
Lier L’Ad avec GLPI
Dans l’Active Directory créer des utilisateurs dans Users.
Se connecter sur GLPI est allé dans Configuration>Authentification>Annuaires LDAP
Modifier l’existant ou ajouter un annuaire LDAP. Configurer comme ci-dessous :
Jean-Baptiste Crosnier février 2014
Page 10 sur 17
(Séparation avec des virgules et non des points)
Préconfiguration : cet item se présente sous la forme de deux liens.
Active Directory : ce lien permet de préremplir le champ Filtre de connexion avec un filtre par défaut et le Champ de
l’identifiant avec la valeur samaccountname.
Valeur(s) par défaut : ce lien permet de préremplir le Champ de l’identifiant avec la valeur uid.
Nom : il est possible de définir plusieurs connexions LDAP. Ce champ permet donc d’identifier chaque connexion. Le
nom devra être le plus explicite possible afin d’être identifié lorsqu’il apparaît dans d’autres écrans de l’application.
Lorsqu’un utilisateur tente de s’authentifier pour la première fois, les différentes connexions sont testées. Lorsque
l’authentification est réussie sur un serveur, cette information est associée au compte de la base locale. Les
tentatives de connexions ultérieures ne pourront donc se faire que sur ce serveur.
Serveur par défaut (Non/Oui) : ce champ permet de définir la connexion principale dans le cas où plusieurs
connexions sont définies.
Actif (Non/Oui) : ce champ permet d’activer ou de désactiver une connexion. Cet item peut être utile en cas de
maintenance du serveur pour bloquer toutes les connexions en une seule action.
Serveur : ce champ est destiné à recevoir l’adresse du serveur hébergeant l’annuaire LDAP.
Port (par défaut 389) : ce champ contient le port d’échange des données avec l’annuaire LDAP.
Filtre de connexion : ce champ permet de définir une condition de recherche, afin de limiter le nombre
d’enregistrements renvoyés par la requête.
Basedn : ce champ permet de définir le point de départ des recherches dans l’arborescence de l’annuaire LDAP.
DN du compte (pour les connexions non anonymes) : ce champ contient le nom du compte à utiliser par GLPI pour
récupérer les données lorsque les connexions anonymes ne sont pas autorisées sur le serveur.
Jean-Baptiste Crosnier février 2014
Page 11 sur 17
Mot de passe du compte (pour les connexions non anonymes) : ce champ contient le mot de passe associé au
compte ci-dessus pour les connexions non anonymes.
Champ de l’identifiant : ce champ permet de désigner le champ à récupérer dans l’annuaire LDAP, qui servira
d’identifiant dans la base GLPI. Si par exemple le login utilisé dans GLPI est l’adresse email, vous placerez la valeur
mail dans ce champ.
Commentaires : ce champ vous permet d’ajouter toutes les informations que vous jugez nécessaires en vue d’une
maintenance ultérieure.
BaseDN : dc=labo,dc=bl
DN du compte : cn=Administrateur,cn=Users,dc=labo,dc=bl
« ou » (organizational units) est une « unité organisationnelle ». C’est l’équivalent d’un groupe. « dc » (domain components) permet d’exploiter le nom de domaine. « cn » (common name) indique le nom de l’utilisateur. Cliquez sur Sauvegarder puis sur Tester.
Synchronisation des utilisateurs de l’AD avec GLPI
Allez dans Administration>Utilisateurs.
Cliquez sur Liaison annuaire LDAP.
Ensuite, il est possible de synchroniser et d’importer des utilisateurs.
Cliquez sur Importation de nouveaux utilisateurs puis faire Rechercher.
Sélectionner les utilisateurs à importer puis cliquez sur Action>Importer.
Jean-Baptiste Crosnier février 2014
Page 12 sur 17
Voilà, les utilisateurs de L’AD peuvent s’authentifier sur le GLPI ! Vous pouvez supprimer l’utilisateur local
précédemment.
Connectez-vous à GLPI !
Déploiement via GLPI avec fusion inventory
Il faut bien avoir installé le module deploy de fusion inventory. (Voir à l’installation de l’agent, il est
conseillé de faire une installation complète).
Activer sur les machines le module DEPLOY. Pour cela aller dans Plugins>FusionInventory Puis
Général>Gestion des agents
Cocher les machines qui sont susceptible de subir un déploiement puis faire Actions>Module – DEPLOY et
Valider. De la même manière on peut activer d’autres modules tel que :
Aller ensuite dans la gestion des paquets : Déployer>Gestion des paquets et créer un nouveau paquet (ici
je l’ai nommé “test“.
Jean-Baptiste Crosnier février 2014
Page 13 sur 17
Ajout d’un nom et éventuellement d’un commentaire.
Ajout des fichiers et ressources à déployer dans Fichiers.
Ajout des commandes à exécuter dans Actions.
Cliquer ensuite sur Sauvegarder (en haut).
Aller ensuite dans la gestion des paquets : Tâches>Gestion des tâches (normal) et créer une nouvelle
tâche (ici je l’ai nommé “deploy 7z920“.
Cliquer ensuite sur Sauvegarder pour sauver la tâche, mais cela va permettre de faire apparaitre le bouton
que l’on ne voit pas au départ. Le passer en mode actif.
Compléter les options d’executions de la tâches, le module utilisé (ici Installation d’un paquet) et ajouter le paquet
préparé précedement, les ordinateurs cibles. Il est interessant d’ajouter les ordinateurs à des groupes afin de n’avoir
plus qu’a selectionner le ou les groupes qui doivent subir un déploiement.
Jean-Baptiste Crosnier février 2014
Page 14 sur 17
Il est possible de forcer le démarrage de la tâche. Il est possible de voir les tâches en cours, ou programmé dans
Tâches>Gestion des tâches (Résumé) et dans Tâches>Actions en cours d’execution
Il est possible de faire d’autres choses, suffit d’activer les modules correspondant!
Inventaire ESX/ESXi/vCenter en utilisant la VMware SOAP API
Pour les vCenter :
Aller dans Plugins>FusionInventory Puis dans Réseau>Authentification pour les matériels distants
(VMware).
Cliquer sur le pour ajouter un nouveau matériel.
Pour les ESX :
Installer le paquet suivant :
yum install perl-FusionInventory-Agent-Task-ESX
Puis depuis la console :
Jean-Baptiste Crosnier février 2014
Page 15 sur 17
fusioninventory-esx --user root --password ‘monpassword’ --host 192.168.147.134 --directory /root
fusioninventory-injector -v --file /root/esx-server-2014-02-11-15-06-07.ocs –u
https://192.168.147.131/glpi/plugins/fusioninventory/
(L’IP 192.168.147.134 correspond à mon serveur ESXi)
Avec les commandes précédentes, nous avons créé un fichier .ocs qui contient toute les informations
d’inventaire du serveur ESXi (hôte + VMs). Ensuite nous avons injecté le fichier .ocs dans GLPI. On retrouve
dans Parc>Ordinateurs le serveur ESX et en affichant ses informations on voit qui contient des VMs. (Oui,
ma VM s’appel bonjour…)
Pour rendre automatique la remonté d’information des ESX on peut utiliser un script + une crontab.
fusioninventory Version 2.3.x
fusioninventory-esx ESX and ESXi 3.5 ESX and ESXi 4.1 ESXi 5.0 vCenter 4.1 vCenter 5.0
Inventaire d’Android avec fusioninventory
Il suffit d’installer l’agent fusioninventory pour Android :
https://play.google.com/store/apps/details?id=org.fusioninventory
Jean-Baptiste Crosnier février 2014
Page 16 sur 17
Sauvegarde automatique de GLPI
Utiliser ce script qui va créer une archive du dossier GLPI :
http://pastebin.com/njsSv6Aq
Utiliser ce script qui va faire une sauvegarde de la base de données :
http://pastebin.com/d4HwzTDL
Pour automatiser les sauvegardes on va utiliser une crontab :
En console, entrer :
crontab –e
Compléter comme ceci :
La sauvegarde aura lieu tous les jours à minuit pour la base de données et tous les ans pour le dossier GLPI.
Customiser la page de login de GLPI
On peut personnalisez le texte d’accueil via mysql :
mysql –u root –p use glpidb update glpi_configs set text_login=’ Bonjour, Tapez votre login et mot de passe Windows’ ; (\n pour sauter une ligne.)
Changer l’image :
Jean-Baptiste Crosnier février 2014
Page 17 sur 17
Faite une copie du style.css vers style.css.ori (en sauvegarde)
Editer le fichier /var/www/html/glpi/css/style.css
Ajuster les 3 dernières lignes.
Ajouter un bouton pour vider les champs du formulaire :
Insérer ce bout de code après le bouton submit dans /var/www/html/glpi/index.php
<input type="reset" name="Vider" value="Vider" class="submit"/>
Ajouter des indications dans les zones de saisies :
Insérer ce bout de code après les balises input du login et du mot de passe dans
/var/www/html/glpi/index.php
placeholder="Votre login"
placeholder="Votre mot de passe"
top related