Vous êtes sur la page 1sur 15

Documentation

Technique GLPI OCS


Inventory

I. GLPI - Gestion libre de parc


informatique
Solution open-source de gestion de parc informatique et de service desk,
GLPI est une application Full Web pour grer lensemble de vos
problmatiques de gestion de parc informatique : de la gestion de
linventaire des composantes matrielles ou logicielles dun parc
informatique la gestion de lassistance aux utilisateurs.
Coupl OCSInventory, linventaire complet de votre parc se fait
automatiquement. Et tout devient paramtrable et grable partir dune
simple interface graphique Web comme par exemple la gestion des tickets
pour le dpannage ou bien dun planning pour lemprunt du matriel
(vidoprojecteurs, portables). Mme dployer des logicielles est possible
et tout a pour un budget limit : gratuit (en dehors des frais de personnel
comptent pour utiliser cette solution bien videmment).

II. Installation de GLPI sous Linux Debian


Squeeze
Il est conseill de se connecter en tant que root afin de pouvoir
possder tout les droits dutilisateurs. De plus, il est ncessaire de mettre
a jour ces paquets avec la commande la commande apt-get update
dans la console. En faisant cette opration nous avons la possibilit
d'installer de nouveaux paquet.

1. Installation Apache, PHP :

Comme GLPI est programm en PHP il est ncessaire d'installer le module


Apache2 permettant de l'interprter.
Pour installer Apache 2 et PHP il faut se connecter en root :

user:~$ root
Password: password

Maintenant que lon est connect en tant que root, on va pouvoir effectuer
les oprations suivantes:

user:~# apt-get install apache2 libapache2-mod-php5 php5 php5-mysql

Installer les dpendances requises par ces packages afin qu'ils puissent
fonctionner correctement.

apache2 : serveur web Apache en version 2

libapache2-mod-php5 : module permettant Apache 2 de


comprendre le PHP

php5 : Langage PHP

php5-mysql} ({php5-ldap}, {php5-imap}, {php5-curl) :


module(s) permettant la prise en charge de divers lments
par PHP comme MySQL, IMAP, LDAP

2. Installation MySQL:

Pour installer MySQL slectionner le package mysql-server-5.0

user:~# apt-get install mysql-server-5.0

Il n'est pas ncessaire de configurer Apache par contre, il faut crer la


base de donnes, appel pour moi glpidb ainsi que l'utilisateur
glpiuser qui en aura la gestion.
3. Configurer MySQL :

En effectuant l'opration ci-dessous, vous allez adjoindre un mot de passe


au root ( l'administrateur) MySQL pour plus de scurit.

mysqladmin -u root password 'password'

A SAVOIR : Remplacer 'password' par 'votre_mot_depasse'. Mon mot de


passe est password. Pour plus de scurit il faut un mot de passe bien
plus compliqu.

Maintenant que MySQL est scuris un minimum, creation de la base de


donnes glpidb ainsi que l'utilisateur glpiuser. On lui attibue les bons
droits afin qu'il puisse grer cette mme base.

mysql -u root -p
create database glpidb; {cre la base glpidb}
create user glpiuser@localhost ; {creation de luser glpiuser}
revoke all privileges, grant option from glpiuser@localhost
grant all privileges on glpidb.* to glpiuser@localhost
{donne tout les droits a glpiuser}
/exit; {quitter bdd}

Pour que ces modifications soit pris en compte, il faut redmarrer le


serveur apache.

user:~# /etc/init.d/apache2 restart

III. Configuration GLPI


Commenons par tlcharger la dernire version stable de GLPI, pour se
faire, cliquer sur ce lien .

Se mettre dans le dossier : cd /var/www/


tar -xvzf glpi-0.68.1.tar.gz -C /var/www/
cd /var/www/
chown -R www-data /var/www/glpi

tar -xvzf : cette commande dcompresse l'archive glpi dans le


rpertoire /var/www.

chown -R www-data /var/www/glpi : chown change le


propritaire de tout ce qui se trouve dans le rpertoire glpi et mme
le rpertoire glpi. Le nouveau propritaire devient www-data
(apache).

Pour me connecter glpi, ouvrir le navigateur internet et taper :


@192.168.2.1/glpi.

Nous allons configurer le serveur GLPI :


Cliquer sur Installation
Ensuite utiliser la base de donne recemment crer GLPIDB .
Par default luser est glpi et le mot de passe est glpi.

IV. Prsentation OCS Inventory NG


OCS Inventory NG soit Open Computer and Software Inventory est
une application permettant de raliser un inventaire automatis sur la
configuration matrielle des machines du rseau et sur les logiciels qui y
sont installs. OCS permet de visualiser cet inventaire grce une
interface web. Il comporte galement la possibilit de tl-dployer des
applications sur un ensemble de machines selon des critres de
recherche.
V. Principe de fonctionnement
Le serveur OCS reoit les inventaires envoys par les agents au format
XML, et enregistre les donnes dans sa base de donnes mysql. Les
agents contactent le serveur et pas l'inverse. Le serveur est en mode
coute. Les changes entre les agents et le serveur se font en http et/ou
https. Le dploiement d'applications et les scans snmp se font en https
uniquement.

Le serveur OCS est compos de 4 lments :

1. Le serveur de base de donnes qui stocke l'information


d'inventaire (mysql)

2. Le serveur de communication qui prend en charge les changes


HTTP ou HTTPS entre le serveur de base de donnes et les agents
(Apache, perl et mod_perl)

3. La console d'administration pour que ladministrateur rseau


puisse interroger le serveur de base de donnes depuis un
navigateur (Apache, php)

4. Le serveur de dploiement qui stocke toutes les configurations


des paquets dployer (Apache, ssl)

Serveur :

Ne pas confondre les rpertoires /ocsinventory et /ocsreports.


ocsreports : rpertoire contenant tous les fichiers php qui
constituent l'interface d'administration.

On utilise un navigateur pour y accder, avec comme URL :


http://serveur/ocsreports

ocsinventory : rpertoire virtuel utilis par mod_perl pour traiter les


fichiers d'inventaires XML envoys par les agents et enregistrer les
donnes en base de donnes.

Dcomposition du serveur OCS

VI. Installation et configuration de OCS


Inventory
Les paquets make et buid-essential doivent tre installs.

1. Installer mod_perl

aptitude install libapache2-mod-perl2

2. Installer les modules perl ncessaires

Pour commencer, les modules packags par Debian


apt-get install perl libapache2-mod-perl2 libxml-simple-perl
libcompress-zlib-perl libdbi-perl libapache-dbi-perl
sudo apt-get install libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl

3. Installer le serveur OCS Inventory NG 2.x.x

Tlchargement de la dernire version du serveur sur www.ocsinventory-


ng.org et copie dans

/var/www

On dzippe le fichier

se placer dans cd /var/www


tar -zxvf OCSNG_UNIX_SERVER-x.x.x.tar.gz

Lancer le setup.sh prsent dans le dossier d'installation du serveur


OCSNG_UNIX_SERVER-x.x.x et suivre la procdure (prsente sur le wiki
OCS)
VII. Mise en place du module SSL, sur le
serveur web
Pour utiliser la fonction de dploiement, il faut activer le SSL sur le serveur
web, et le configurer correctement. Pour cela, il faut tout d'abord gnrer
le certificat SSL. Il sera par la suite renomm en cacert.pem pour tre
plac dans le rpertoire des agents.

1. Crer le certificat SSL

openssl genrsa -des3 -out nunux.key 1024

Si la commande est bien prise en compte, une passphrase ma alors t


demand :

Generating RSA private key, 1024 bit long modulus


.................++++++
.........++++++
e is 65537 (0x10001)
Enter pass phrase for nunux.key: salut
Verifying -
Enter pass phrase for nunux.key:salut

Ensuite, jenregistrer la passphrase dans le fichier pour ne pas avoir la


renseigner chaque boot :

mv nunux.key nunux-old.key
openssl rsa -in nunux-old.key -out nunux.key

Si la commande est bien prise en compte, la passphrase vous est


demande :

Enter pass phrase for ardonroyan-old.key: salut


writing RSA key
2. Crer le certificat

openssl req -new -key nunux.key -out nunux.csr

Puis, des questions nous sont alors demander.

A SAVOIR : la rponse la plus importante est le CN du certificat. Il faut


indiquer le ladresse IP de notre serveur OCS.
Le contrle SSL se base sur cette valeur. Si le contrle SSL est activ sur
les agents ; le serveur va comparer le CN du certificat de l'agent
(cacert.pem) avec le ladresse IP du serveur web. D'o son importance!

You are about to be asked to enter information that will be


incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or
a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Region
Locality Name (eg, city) :Ville
Organization Name (eg, company) [Internet Widgits Pty
Ltd]:Entreprise
Organizational Unit Name (eg, section) :Service
Common Name (eg, YOUR name) : LE HOSTNAME DU SERVEUR OU
ADRESSE IP SI PAS DE SERVEUR DNS
Email Address :moi@monFAI.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password : <<<<------- vous n'tes pas oblig de
spcifier un mot de passe (ENTREE pour continuer)
An optional company name :

3. Auto-signer le certificat

openssl x509 -req -days 3650 -in nunux.csr -signkey nunux.key -out
nunux.crt
Si la commande est bien prise en compte, ce message apparait :

Signature ok

subject=/C=FR/ST=Region/L=Ville/O=Entreprise/CN=hostname.domaine.l
ocal /emailAddress=moi@monFAI.com
Getting Private key

4. Mettre en place le certificat

On place ces 2 fichiers dans le rpertoire des certificats :

cp nunux.crt /etc/ssl/certs/
cp nunux.key /etc/ssl/private/

On vrifie le fichier default-ssl pour s'assurer que les chemins vers la cl et


les certificats sont valides. Dans /etc/apache2/sites-available/default-ssl on
doit retrouver ces lignes :

SSLCertificateFile /etc/ssl/certs/nunux.crt
SSLCertificateKeyFile /etc/ssl/private/nunux.key

On peut maintenant activer le SSL.

a2ensite default-ssl

Et enfin, redmarrer apache.

/etc/init.d/apache2 restart

On peut maintenant tester le rsultat, via un navigateur.


VIII. Configurer php pour le dploiement
de paquets

Pour pouvoir dployer des paquets OCS, ou tout simplement dployer


l'agent sur des postes Windows via le Packager, il faut autoriser l'upload
de gros fichiers. Par dfaut, php n'autoriser pas l'upload de fichiers
supprieurs 4Mo.

Modification de la configuration PHP

Il faut donc modifier le fichier php.ini

max_execution_time = 180
max_input_time = 180
memory_limit = 256M
upload_max_filesize = 300M
post_max_size = 300M