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.

13 commentaires:

  1. Moi je suis bloquer à redémarrer Apache. Car il le fait bien mais c'est jaune :S

    RépondreSupprimer
  2. J'ai eu plusieurs fois des soucis au redémarrage d'Apache, mais en allant dans le log d'erreur (apache), il est indiqué pourquoi ça ne fonctionne pas. Parfois il faut chercher un peu sur google une traduction du message, mais ça ne doit pas être bien compliqué, une petite erreur dans la config ou un autre serveur qui fonctionne en même temps

    RépondreSupprimer
  3. Wé merci j'ai trouver, mais maintenant c'est mon inventaire qui n'est pas reçu par le serveur.

    RépondreSupprimer
  4. Bonjour,

    J'ai un message d'erreur comme sa sur le log d'apache peut-être la tu déjà vu et sur google aucune information :

    ocsinventory-server: Can't load SOAP::Transport::HTTP* - Web service will be unavailable

    RépondreSupprimer
  5. Hello,

    D'après le peu que j'ai lu sur google, il y'a une erreur au niveau de Perl (une ligne en erreur, ou une simple faute de frappe)

    Dur d'en dire plus à ce stade :/

    RépondreSupprimer
  6. Wé c'est comme chercher une aiguille dans une botte de foin :s

    Car j'ai trouver le SOAP.pm qui se trouve dans

    c:\wamp\bin\apache\apache2.2.11\ocsinventory\soap.pm

    Et c'est écrit en Perl (merci notepad++)

    Si cela se trouve il faut configurer quelque chose la dedans !!!

    RépondreSupprimer
  7. Les seuls fichiers que j'ai modifiés sont dans l'article, je ne me suis pas amusé à toucher d'autres choses...

    RépondreSupprimer
  8. Quand même désolé car tu ne dois pas être loin du but, ça doit être une erreur minime

    RépondreSupprimer
  9. Wé merci, j'ai réussi :D enfin presque !!! Mais je reçois mon inventaire, mais j'ai toujours mon erreur dans le log d'apache, mais pour le nomdupc.log plus de message d'erreur.

    Il faut aller dans le fichier ocsinvetory-server.conf et allé aux lignes 57 et 58

    à la base c'était comme ceci :

    PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1
    # PerlAddVar OCS_OPT_TRUSTED_IP 10.20.xxx.xxx

    j'ai inversé :

    # PerlAddVar OCS_OPT_TRUSTED_IP 127.0.0.1
    PerlAddVar OCS_OPT_TRUSTED_IP 10.20.180.124


    C'était tout bête.

    RépondreSupprimer
  10. Tant que l'inventaire est là, c'est l'essentiel ;)

    Et c'était en effet une erreur minime, qui fait la différence

    RépondreSupprimer
  11. Petit rectificatif pour l'installation de mod_perl (pour perl 5.10) la commande est :

    ppm install http://cpan.uwinnipeg.ca/PPMPackages/10xx/mod_perl.ppd

    et non pas PPMPackager

    RépondreSupprimer
  12. Je configure actuellement un serveur Apache2.0 sous windows avec mod_perl2.0.4 qui cré bien mod_perl.so dans les module d'apache mais quand je veut redémarrer apache IMPOSSIBLE

    RépondreSupprimer