jeudi 9 juillet 2009

Installation de OCS Inventory NG sur Wamp

Voilà, je sors d'une semaine d'essais, de recherches sur le net, afin de pouvoir installer OCS Inventory sur un Windows Server 2003, sous Wamp (Apache, MySql, PHP)

Le document rédigé par Frédéric Prost est très bien fait, il se trouve au format PDF ici

Je vais quand même le résumer afin d'y apporter quelques modifications. Je ne vais pas toujours trop entrer dans les détails, car certains m'échappent, comme le pourquoi ça fonctionne (joke)

Il est supposé que Wamp est déjà installé, de manière basique et classique toute simple, sans modifications.

Éléments à télécharger :

Il faut à présent lancer l'installation d'ActivePerl en laissant les paramètres par défaut.

Pour copier les fichier nmake.err et nmake.exe dans le dossier C:\Perl\bin , il faut d'abord exécuter le fichier NMake téléchargé (ça nous extraira les 2 fichiers)


La liste des modules Perl nécessaires sont les suivants :
  • DBD::Mysql
  • Apache::DBI
  • Net::IP
Sont déjà installés :
  • XML::Simple
  • Compress:Zlib
  • DBI
Pour installer les modules il faut lancer les commandes suivantes (accès internet obligatoire) :
  • ppm install DBD::Mysql
  • ppm install Apache::DBI
  • ppm install Net::IP
Si la commande ppm n'est pas connue, il faut aller dans le dossier où elle se trouve, à savoir D:\Perl\bin (il est possible que cela fonctionne de n'importe quel emplacement après un redémarrage du serveur grâce aux variables d'environnement)


Les ennuis ont commencé pour moi dès à présent... Installation de mod_perl pour Apache

La récupération s'est avérée pour compliquée que comme décrite dans le document, car les fichiers à télécharger ont été déplacés

Les commandes à exécuter sont donc (nécessite une connexion internet) :
  • ppm rep add theoryx http://cpan.uwinnipeg.ca/PPMPackager/10xx
  • ppm install mod_perl

Paramétrage d'Apache

Le plus simple est de lire ce qui est écrit après l'installation de mod_perl

Il faut donc ajouter 2 lignes dans le fichier httpd.conf (qui se trouve chez moi là : D:\wamp\bin\apache\Apache2.2.11\conf) à savoir (dans mon cas) :
  • LoadFile "D:/Perl/bin/perl510.dll"
  • LoadModule perl_module modules/mod_perl.so
Il faut relancer le service Apache, et si tout va bien, il devrait démarrer... Si il ne démarre pas, regarder les logs et chercher pourquoi


Il est temps d'installer OCS Inventory

Là, si tout va bien, la fonction "perl" doit fonctionner depuis n'importe où sur le serveur (disque C: D: ou n'importe quel répertoire... Peut-être faut-il redémarrer le serveur ?)

Dans le dossier d'installation où l'on a "dézippé" (avec 7zip pour les fichiers tar.gz) le fichier OCS pour Linux, on va dans le dossier "Apache" (cd C:\Install\Apache)

Le mieux est de lire le fichier INSTALL et ensuite il faut exécuter les commandes suivantes :
  • perl MakeFile.PL
  • nmake
  • nmake install
On va remodifier le fichier de configuration d'Apache (httpd.conf) mais avant ça, nous allons configurer le fichier ocsinventory-server.conf qui se trouve dans le dossier /Apache/etc/ocsinventory/

Il suffit de lire le fichier pour lui trouver les éléments à modifier :

PerlSetEnv OCS_MODPERL_VERSION 2
...
PerlSetEnv OCS_DB_HOST localhost
...
PerlSetEnv OCS_DB_PORT 3306
# Name of database
PerlSetEnv OCS_DB_NAME ocsweb
PerlSetEnv OCS_DB_LOCAL ocsweb
# User allowed to connect to database
PerlSetEnv OCS_DB_USER ocsuser
# Password for user
PerlSetVar OCS_DB_PWD password

La plupart de ces paramètres sont déjà définis. Il faut bien noter le password, il y'a des chances pour qu'il nous soit utile ;)

Nous allons ensuite copier ce fichier dans le dossier où se trouve httpd.conf

Éditons également le fichier httpd.conf en y ajoutant la ligne suivante :
  • Include "D:\wamp\bin\apache\Apache2.2.11\conf\ocsinventory-server.conf"
(Il est à noter que le chemin est celui de mon serveur, il faut le modifier si besoin)

A présent, relancer Apache. Si il y'a des erreurs, vérifier le log et corriger.

J'ai zappé l'étape suivante du document, car je n'ai pas trouvé la ligne "skip innodb", peut-être était-ce pour les anciennes version de Wamp ?

On va à présent installer la console d'administration. Pour cela, rien de plus simple, on copie le dossier "ocsreports" à la racine du site web (D:\Wamp\www\)

Il est temps de créer la base de données ocsweb et réaliser la configuration. Pour cela, on prend firefox (ou un autre browser...) et on se connecte sur :
http://localhost/ocsreports

Il suffit de suivre les étapes de l'installation.
Pour ma part, j'ai dû modifier 2 valeurs dans php.ini du dossier D:\wamp\bin\apache\Apache2.2.11\bin
  • extension=php_openssl.dll (décocher le #)
  • upload_max_filesize = 8M
Tout ça est indiqué sur la première page de la configuration.


Il est à présent l'heure de tester le fonctionnement d'OCS Inventory NG. Nous avons normalement téléchargé l'ocsagent.exe en même temps que les autres fichiers. Rendons-nous dans le dossier où il se trouve, et on l'exécute, ce qui a pour effet de créer un dossier C:\ocs-ng

Dans ce dossier nouvellement créé on lance la commande :
ocsinventory /server:127.0.0.1 /pnum:80 /debug
Le port n'est pas obligatoire si on l'a installé par défaut sur le 80. Pour une autre machine que le serveur lui-même, la commande sera plutôt ocsinventory /server:nom_du_serveur

Vérifier à présent dans Ocsreports que la configuration a bien été ajoutée.

Il sera également possible de coupler OCS Inventory NG avec GLPI pour avoir une très bonne gestion du parc informatique.