Installation d’Icinga-Web

Suite à mon tuto sur l’installation d’Icinga, je vais vous expliquer aujourd’hui comment installer Icinga-web.

Les pré-requis

On commence par installer les dépendances :

apt-get install git-core autoconf 
apt-get install php5 php5-cli php5-mysql php5-xmlrpc php5-xsl php-pear php5-gd php5-ldap

Installation d’Icinga-Web

On télécharge l’archive d’Icinga-web qu’on extrait ensuite :

wget http://sourceforge.net/projects/icinga/files/icinga-web/0.9.1-beta/icinga-web-0.9.1-alpha.tar.gz/download
tar xvf ./icinga-web-0.9.1-alpha.tar.gz

Nous avons besoin de récupérer les API d’Icinga, c’est pour cela que nous avons installé GIT précédemment :

git clone git://git.icinga.org/icinga-api.git

Ensuite, on va dans le répertoire « Icinga-web » et on lance « autoconf » pour générer la configuration de base automatiquement.

cd ./icinga-web
autoconf

Après on passe au fameux couple configure/make. On fait passer en paramètres à « configure » le chemin des API d’Icinga, l’utilisateur web (Apache2) ainsi que l’utilisateur de la base de donnée d’Icinga :

sh configure --prefix=/usr/local/icinga-web --with-web-user=www-data --with-web-group=www-data --with-db-user=icinga --with-db-pass=icinga --with-icinga-api=/root/icinga-api/
make install
make testdeps # Cette commande permet de vérifier que toutes les dépendances soient installées.

Préparation de la base de donnée

On prépare le terrain pour la création de la base de donnée.

mysql -uroot -p

On crée notre base de donnée « icinga-web » et on donne des droits à l’utilisateur MySQL « icinga » sur cette base.

CREATE DATABASE icinga_web;
GRANT SELECT , INSERT , UPDATE , DELETE ON icinga_web.* TO 'icinga'@'localhost';

On quitte MySQL. Nous devons modifier dans le fichier « build.properties » l’utilisateur MySQL qui sera utilisé pour installer la structure de la base de donnée.

vi ./etc/build.properties
db.user=root
db.pass=password

Puis on lance la création de la structure via la commande suivante :

make db-initialize

On peut se connecter à MySQL pour vérifier que les tables aient bien été crées :

use icinga_web;
mysql> show tables;
+----------------------+
| Tables_in_icinga_web |
+----------------------+
| changelog            | 
| nsm_log              | 
| nsm_principal        | 
| nsm_principal_target | 
| nsm_role             | 
| nsm_session          | 
| nsm_target           | 
| nsm_target_value     | 
| nsm_user             | 
| nsm_user_preference  | 
| nsm_user_role        | 
+----------------------+
11 rows in set (0.00 sec)

Configuration d’Apache et de PHP

Nous passons maintenant à la configuration d’Apache et de PHP, nous commençons par rajouter le site « Icinga-web » dans Apache :

vi /etc/apache2/sites-available/default
# Lignes à rajouter dans le fichier default ou dans un nouveau site Apache
Alias /icinga-web /usr/local/icinga-web/pub #Chemin vers l'installation d'Icinga Web
	<directory /usr/local/icinga-web/pub>
		AllowOverride All #Paramètre permettant d'utiliser le .htaccess qui est à la racine du dossier pub
	</directory>

Nous devons désactiver les « magic_quotes_gpc » dans la configuration de PHP, nous éditons donc les 2 fichiers suivants :

vi /etc/php5/apache2/php.ini
vi /etc/php5/cli/php.ini

Dans ces fichiers, nous cherchons la ligne suivante « magic_quotes_gpc = On » et on remplace la valeur « On » par « Off ».

Il ne nous reste plus qu’à charger le module d’url_rewriting d’Apache et à redémarrer Apache.

a2enmod rewrite #charge le module d'url_rewriting
/etc/init.d/apache2 restart

Enfin, nous pouvons nous connecter à l’adresse suivante http://mon-serveur/icinga-web avec le compte « root » et comme mot de passe « password » et vous arriverez sur cet écran :

Icinga-web

32 réflexions au sujet de “Installation d’Icinga-Web”

  1. J’ai un soucis au moment de taper cette commande:
    /usr/src/icinga-web# make db-initialize
    make: *** No rule to make target `db-initialize’. Stop.

    Une solution?
    Merci

    Répondre
  2. @Renaud

    Je me souviens pas avoir rencontré ce problème.

    Est ce que ton install d’Icinga avec les idoutils fonctionne?

    As-tu bien modifié le fichier build.properties pour exécuter les requêtes pour l’installation en root?

    Répondre
  3. J’ai du faire une fausse manip, j’ai tout réinstaller et ce problème n’apparait plus, j’en ai maintenant un autre lol

    Au moment de me connecter à l’interface, j’ai un soucis avec « IcingaData.class.php ».

    Répondre
  4. Warning: require_once(/usr/local/icinga-web/lib/icinga-api/IcingaApi.php) [function.require-once]: failed to open stream: Permission denied in /usr/local/icinga-web/app/lib/icinga/factory/IcingaData.class.php on line 52

    Fatal error: require_once() [function.require]: Failed opening required ‘/usr/local/icinga-web/lib/icinga-api/IcingaApi.php’ (include_path=’.:/usr/share/php:/usr/share/pear’) in /usr/local/icinga-web/app/lib/icinga/factory/IcingaData.class.php on line 52

    et sinon, oui pour tes 2 questions

    Répondre
  5. C’est un vrai parcours du combattant l’installation d’Icinga-web.

    Est-ce que tu peux copier le message d’erreur ici?

    As tu bien désactiver les magic_quotes et activer le module d’url_rewriting d’Apache?

    Répondre
  6. Alexis :
    Bon mon install d’Icinga est HS… Je remets tout en place dans l’après-midi et je te tiens au courant.
    Tu as bien installé les API d’Icinga-web?
    Est ce que tu as bien le fichier .htacces dans le répertoire /usr/local/icinga-web/pub/ ?

    Oui tout est good de ce coté là

    Répondre
  7. @Renaud

    Je viens de finir mon installation d’Icinga et Icinga-web. J’ai eu aucun problème.

    Le fichier /usr/local/icinga-web/lib/icinga-api/IcingaApi.php est bien présent sur ton serveur?

    Répondre
  8. Bon mon install d’Icinga est HS… Je remets tout en place dans l’après-midi et je te tiens au courant.

    Tu as bien installé les API d’Icinga-web?

    Est ce que tu as bien le fichier .htacces dans le répertoire /usr/local/icinga-web/pub/ ?

    Répondre
  9. le dossier /usr/local/icinga-web/lib/icinga-api existe mais je ne peux pas l’ouvrir:

    root@renaud-desktop:/usr/local/icinga-web/lib# ls -la
    total 32
    drwxrwxrwx 8 root bin 4096 2010-04-28 12:05 .
    drwxrwxrwx 9 root root 4096 2010-04-28 12:03 ..
    drwxrwxrwx 9 root bin 4096 2010-04-28 12:04 agavi
    drwxrwxrwx 20 root bin 4096 2010-04-28 12:04 appkit
    drwxrwxrwx 3 root bin 4096 2010-04-28 12:04 doctrine
    drwxrwxrwx 7 root bin 4096 2010-04-28 12:04 ext3
    lrwxrwxrwx 1 root root 17 2010-04-28 12:05 icinga-api -> /root/icinga-api/
    drwxrwxrwx 4 root bin 4096 2010-04-28 12:04 jit
    drwxrwxrwx 8 root bin 4096 2010-04-28 12:04 phing

    Répondre
  10. @Renaud

    Quand tu as récupéré les API d’Icinga, tu les as stockés dans quel répertoire? Et est ce que tu as conservé ce répertoire?

    Je pense que pour résoudre ton problème, il faut que tu te mettes dans le répertoire /root/ et que tu lances la commande :

    git clone git://git.icinga.org/icinga-api.git

    Répondre
  11. Problème résolu, par défaut un lien symbolique de /root/icinga-api est situé dans /usr/local/icinga-web/lib/icinga-api

    mais seul le super utilisateur a accès au répertoire visé par ce lien, j’ai donc placer icinga-api directement dans le bon répertoire et supprimé le lien qui foire.

    Merci pour ton aide en tout cas.

    Répondre
  12. @Renaud

    J’y pensais justement à ce lien, voir mon message juste au-dessus du tiens.

    J’avais jamais fait attention que c’était un lien symbolique, c’est un peu foireux comme truc.

    En tout cas, c’est cool que ça marche.

    Répondre
  13. Je viens de tenter de refaire une install sur une machine différente, il y a de nouveau un soucis avec le « make db-initialize »

    Répondre
  14. Merci pour ce todo, ca m’a bien servi , meme si je trouve pas trop de metre les préquis sur la version de PHP qui doit etre au moins la 5.2, mais c’est un detail.

    Merci Alexis.

    Par contre mon icinga-web fonctionne tres bien , mais il est vide 😉 contrairement à mon interface classique qui elle a ses hosts ;-(
    J’ai bien configurer mon ido2db pourtout pour joindre ma base mysql.

    merci.

    Répondre
  15. C’est étrange comme problème. Tu utilises quoi comme distribution?

    Au niveau de « make testdeps » tout est ok, à part les magic_quotes?

    As tu réessayé de télécharger l’archive?

    Répondre
  16. Alexis :
    C’est étrange comme problème. Tu utilises quoi comme distribution?
    Au niveau de « make testdeps » tout est ok, à part les magic_quotes?
    As tu réessayé de télécharger l’archive?

    Ubuntu 9.10
    Oui tout est OK pour le testdeps.

    Répondre
  17. @Renaud

    On dirait que tu n’as pas le bon makefile.

    Essayes juste de taper make.

    Voilà ce que j’obtiens :

    Please supply a command line argument (i.e. 'make install').
     
    Generic targets: install, clean
     
    Other usefull targets:
    ttestdeps - test the php dependencies
    tcreate-tarball - creates a tarball for packaging
    tdevclean - to a sourcecode ready for ci or packaging
     
    Experimental targets:
    tmake db-initialize			- create the db
    tmake db-deinitialize		- reverse the path (removes all data and drop the relations)
    tmake db-upgrade			- tries to upgrade from a available db revision
    tmake db-drop				- create the entire db
    tmake db-purge-userprefs	- purge existing user preferences
    Répondre
  18. Quand je fais « make », il ne me demande aucun argument et lance une compilation(je crois), plein de ligne défilent

    Répondre

Répondre à sofiane Annuler la réponse

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.