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 :
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
@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?
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 ».
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
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?
Oui tout est good de ce coté là
@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?
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/ ?
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
@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
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.
@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.
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 »
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.
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?
@vicoco
Dans la partie Log d’Icinga-Web, as tu bien le message « idomod: Succesfully connected to data sink… » qui apparaît?
Ubuntu 9.10
Oui tout est OK pour le testdeps.
@Renaud
On dirait que tu n’as pas le bon makefile.
Essayes juste de taper make.
Voilà ce que j’obtiens :
Quand je fais « make », il ne me demande aucun argument et lance une compilation(je crois), plein de ligne défilent