Pré-requis

Ce guide est destiné aux distributions Fedora, RHEL et CentOS qui proposent OCS et GLPI au format RPM dans leurs dépôts officiels (ou ici, donc en activant mon dépôt).

On considère que la machine est vierge, en particulier que le serveur MySQL n'est ni installé, ni configuré.

Pour plus d'informations sur l'installation et la configuration d'un serveur LAMP (Linux Apache MySQL PHP), vous pouvez lire la documentation LAMP (chez http://doc.fedora-fr.org/).

J'ai rédigé ce billet avec OCS version 1.02 RC3 et GLPI 0.71.2.

Dans ce texte j'utilise rootsecret, ocssecret, glpisecret, syncsecret comme mots de passe, bien sûr choisissez d'autres valeurs...
 

Le serveur de base de données

Installation de MySQL, lancement et activation du service :

# yum install mysql-server
# service mysqld start
# chkconfig mysqld on

Sécurisons un peu le serveur en changeant le mot de passe de l'administrateur, supprimant les connexions anonymes, base de test, etc :

# mysql_secure_installation

Répondre Oui à toute les questions doit permettre d'obtenir un serveur MySQL sécurisé. Pour la suite, on considérera que le mot de passe de l'administrateur est rootsecret.
 

OCS Inventory NG

Installation :

# yum install ocsinventory
# service httpd restart
# chkconfig httpd on

Configuration et création du schéma :

Connectez-vous à l'adresse http://localhost/ocsreports/install.php (à adapter si vous accédez au serveur depuis une autre machine).

  • Étape 1 : saisissez les identifiants de connexion de l'administrateur, puis Send.
  • Étape 2 : création du schéma. Si tout est ok (normalement c'est la cas avec le RPM) cliquez sur Envoyer
  • Étape 3 : fin de l'installation. Noter les identifiants créés (admin/admin) et cliquez sur Click here to enter OCS-NG GUI.
  • Étape 4 : choisissez votre langue à l'aide du drapeau en haut à droite
  • Étape 5 : connectez-vous à l'application (admin/admin)

Bravo. Vous avez installé OCS !

Quelques éléments de configuration importants : ouvrez la Clé à molette / configuration, onglet Serveur :

  • LOGLEVEL = On (toujours plus pratique en cas de problème)
  • PROLOG_FREQ = 24 (intervalle entre 2 inventaires)
  • AUTO_DUPLICATE_LVL = critères d'élimination des doublons (j'utilise Model +  Serial + Mac Address).
  • TRACE_DELETED = On (indispensable au bon fonctionnement de GLPI).
  • SESSION_VALIDITY_TIME = 600 (durée de session, la valeur vide fournie par défaut n'est pas valide).
C'est aussi une bonne idée de modifier le mot de passe de l'utilisateur admin dans l'application (n'oubliez pas de le noter) en utilisant l'icône Clé en haut à droite.

L'installation a créé une base de données ocsweb et un compte MySQL ocs avec un mot de passe par défaut = ocs, ce qui n'est pas terrible.

Sécurisons le compte MySQL

# mysql -uroot -prootsecret
mysql> UPDATE mysql.user SET Password = PASSWORD('ocssecret') WHERE User = 'ocs';
mysql> FLUSH PRIVILEGES;
mysql> exit

Et modifions les fichiers de configuration pour que l'application utilise ce nouveau mot de passe :

Dans le fichier /etc/httpd/conf.d/ocsinventory-server.conf (ligne 31, environ) :

PerlSetVar OCS_DB_PWD ocssecret

Dans le fichier /etc/ocsinventory/ocsinventory-reports/dbconfig.inc.php :

$_SESSION["PSWD_BASE"]="ocssecret"

Et on recharge apache pour que le module perl puisse prendre en compte le nouveau paramètre :

# service httpd reload.

Première machine

Nous allons installer l'agent sur une première machine pour tester la remontée d'inventaire. Évidement, cette machine sera notre serveur.

# yum install ocsinventory-agent

Et envoyons notre premier inventaire :

# ocsinventory-agent --server=localhost

Normalement votre serveur doit maintenant être dans la liste des machines inventoriées dans OCS.

Pour automatiser la remontée d'inventaire de cette machine, il suffit d'éditer le fichier /etc/sysconfig/ocsinventory-agent:

OCSMODE[0]=cron
OCSSERVER[0]=http://localhost/ocsinventory

 

GLPI

Nous allons commencer par créer la base et les comptes utilisateurs pour GLPI. En effet il ne me semble pas souhaitable d'utiliser le compte administrateur pour cela. Le compte glpi sera utilisé par l'application et le compte synchro par la synchronisation (accès à la base ocsweb depuis glpi avec des droits minimum).

N.B. dans cet exemple, les droits de l'utilisateur synchro sont réduit au strict minimum. Dans le cas de l'utilisation de certains plugins (uninstall notamment), les droits complets sont nécessaires.

# mysql -uroot -prootsecret
mysql> CREATE USER 'glpi'@'%' IDENTIFIED BY 'glpisecret';
mysql> GRANT USAGE ON *.* TO 'glpi'@'%' IDENTIFIED BY 'glpisecret';
mysql> CREATE DATABASE IF NOT EXISTS `glpi` ;
mysql> GRANT ALL PRIVILEGES ON `glpi`.* TO 'glpi'@'%';
mysql> CREATE USER 'synchro'@'%' IDENTIFIED BY 'syncsecret';
mysql> GRANT USAGE ON *.* TO 'synchro'@'%' IDENTIFIED BY 'syncsecret';
mysql> GRANT SELECT ON `ocsweb`.* TO 'synchro'@'%';
mysql> GRANT DELETE ON `ocsweb`.`deleted_equiv` TO 'synchro'@'%';
mysql> GRANT UPDATE (`CHECKSUM`) ON `ocsweb`.`hardware` TO 'synchro'@'%';
mysql> FLUSH PRIVILEGES;
mysql> exit

Installation :

# yum install glpi
# service httpd reload

Création du schéma et configuration

Connectez-vous à l'application : http://localhost/glpi/ qui va automatiquement vous proposer l'assistant d'installation.

  • choix de la langue puis OK.
  • lire et accepter la licence puis Continuer
  • début de l'installation, Installation
  • étape 0 : vérification des pré-requis (avec le RPM c'est bon) : Continuer
  • étape 1 : paramètres de connexion (localhost / glpi / glpisecret) : Continuer
  • étape 2 : sélectionner la base glpi et Continuer
  • étape 3 : noter les identifiants de l'administrateur (glpi/glpi) et Continuer
  • étape 4 : noter les autres identifiants et Utiliser GLPI
  • Authentification à l'aide des identifiants par défaut : glpi/glpi

Bravo : vous avez installé GLPI !

 

Configuration du mode OCSNG

Activation du mode OCSNG :

  • Menu Configuration / Générale
  • Onglet Restrictions
  • Activer le mode OCSNG : Oui, puis Valider

Configuration du serveur :

  • Menu Configuration / Mode OCSNG
  • Sélectionner le serveur créé lors de l'installation : localhost
  • Nom : Mon Serveur OCS
  • Hôte OCSweb : localhost
  • Nom de la base de données OCS : ocsweb
  • Utilisateur de la base de données OCSweb : synchro
  • Mot de passe de l'utilisateur OCSweb : syncsecret
  • Valider

Vous devez obtenir le message : Connexion à la base de données OCS réussie

Maintenant il faut configurer ce que l'importation va récupérer comme données, en particulier (ce n'est qu'un exemple) :

  • Moniteurs : Import unique sur numéro de série
  • Logiciels : Import unique
  • Utiliser le dictionnaire logiciel d'OCS : Non
  • Nombre d'éléments à synchroniser via le cron : 0 (on utilisera une autre solution)
  • Informations générales Ordinateurs : Oui pour tout ce qui vous intéresse.
  • Composants : Oui pour tout ce qui vous intéresse.
  • etc, etc (il y a plein de comportements configurables)
  • Valider

Contrôle :

  • Menu Outils / OCSNG
  • Importation de nouveaux ordinateurs

Dans la liste proposée, vous devez voir votre serveur. Ne demandez pas son importation, nous allons voir comment automatiser les récupérations.

 

Synchronisation OCSNG automatique

Cette étape n'est pas obligatoire car le mécanisme de pseudo-cron intégré à GLPI permet aussi une synchronisation automatique. Mais cette solution me semble plus confortable.

Nous allons donc utiliser l'extension Importation en masse depuis OCSNG

Déconnectez-vous de GLPI (lien déconnexion) et installez l'extension :

# yum install glpi-mass-ocs-import

Reconnectez-vous dans GLPI pour installer / configurer et activer l'extension :

  • Menu Configuration / Plugins
  • Lien : Import en masse OCS
  • Lien : Installer le plugin Import en masse OCS (création des tables de l'extension)
  • Serveur OCS par défaut: Mon Serveur OCS
  • Valider la configuration
  • Désactiver le verrouillage

La tâche planifiée configurée par le RPM se déclenche toutes les 5 minutes. Un peu de patience et votre machine doit remonter dans GLPI.

Pour suivre les synchronisations :

  • Menu : Plugins / Import en masse OCS
  • Onglet :  Informations sur l'exécution des scripts

 

Conclusion

En quelques minutes nous venons de configurer l'une des meilleures solutions d'inventaire et de gestion de parc informatique (probablement la meilleure car elle est Libre).

Vous pouvez maintenant continuer à installer l'agent d'inventaire sur vos autres machines.

Prenez aussi le temps de bien lire la documentation des produits afin d'affiner votre configuration :

N'oubliez pas que les projets OpenSource fonctionnent grâce à leur communauté et aux contributions des utilisateurs, alors lorsque vous aurez vu ce que OCS et GLPI peuvent faire pour vous, n'oubliez pas de faire quelque chose pour ces projets :

 

Remarques et support

Bien évidemment, les commentaires sur ce guide sont les bienvenus et peuvent être postés ici. Pour les demandes d'assistance, merci d'utiliser les forums respectifs des applications :

N'oubliez pas de lire et de respecter les règles d'utilisation de ces forums.