Voraussetzungen
Die Pakete mysql und php5 sind installiert (mit PEAR und CLI), Icinga läuft, die IDOUtils ebenfalls, dann ab zu 2., ansonsten bitte:
Ubuntu / Debian
# apt-get install php5-cli php-pear php5-xmlrpc php5-xsl
Fedora / RHEL / CentOS
# yum install php-cli php-pear php-xmlrpc php-xsl
OpenSuSE
Benutzer Sie yast, um die Pakete "php5-pear", "php5-xmlrpc" und "php5-xsl" zu installieren. Die CLI ist im php5-Paket enthalten.
![]() |
Anmerkung |
---|---|
Zumindest bei SLES10 SP2 fehlt die Funktion hash_hmac. |
Clonen Sie von icinga-web.git, um mit der aktuellsten Version zu arbeiten:
# git clone git://git.icinga.org/icinga-web.git
Die Installation
# tar xzvf icinga-web-0.9.1-beta.tar.gz # cd icinga-web
Nun können Sie schon den Installer bemühen, mit:
# ./configure --help
sehen Sie alle Konfigurationsmöglichkeiten.
Ohne weitere Optionen wird das Icinga Webinterface unter /usr/local/icinga-web installiert:
# ./configure # make install
PHP- Abhängigkeiten
Bitte prüfen Sie die PHP-Abhängigkeiten mit :
# make testdeps
Alle "require"-Test sollten erfolgreich sein. Eventuell müssen Sie die php.ini anpassen:
Die "magic_quote_gpc" in der Apache- und der CLI-php.ini auf "Off" setzen!
# vi /etc/php5/apache/php.ini magic_quotes_gpc = off # vi /etc/php5/cli/php.ini magic_quotes_gpc = off
![]() |
Anmerkung |
---|---|
Beide Dateien müssen vorhanden sein, denn sonst erhalten Sie eine Agavi-Meldung, weil der Default von magic_quotes_gpc "ON" ist. |
Datenbank-Installation
Manuelles Anlegen der Datenbank:
Legen Sie eine Datenbank und einen Benutzer Ihrer Wahl an. Der Benutzer benötigt mindestens folgende Berechtigungen auf die Datenbank: SELECT, UPDATE, INSERT, DELETE, CREATE, DROP, ALTER, INDEX. Importieren SIe die Schema etc/database/deploy/init.sql und etc/database/deploy/db-deploy.sql in die Datenbank. Das war es auch schon.
Automatische Installation:
Angelegt wird eine Datenbank und ein User mit den entsprechenden Privilegien (CREATE, DROP, ALTER, INDEX). Gehen Sie nach etc und kopieren Sie die build.properties an einen sicheren Ort (z.B. nach /tmp). Ändern Sie die Datenbank-Einstellungen innerhalb der Properties-Datei. Sie können auch den Root-Benutzer der Datenbank verwenden, um das Schema anzulegen. Wechseln Sie in das etc-Verzeichnis vin icinga-web und rufen Sie phing auf mit:
# cd /usr/local/icinga-web/etc # /usr/local/icinga-web/bin/phing -Dproperties=/usr/local/icinga-web/etc/build.properties db-initialize
Jetzt müssen Sie noch einen DB-User anlegen (mit den Rechten SELECT, UPDATE, INSERT, DELETE).
Icinga-Web Konfiguration
Anpassen der Konfiguration: Editieren /usr/local/icinga-web/app/config/databases.xml und ändern Sie die Datenbank-Einstellungen (ab Zeile 7, im Beispiel DB-User: icinga_user, PW: password):
<database name="appkit_default" class="AgaviDoctrineDatabase"> <ae:parameter name="dsn">mysql://icinga_user:password@127.0.0.1:3306/icinga_web</ae:parameter> <ae:parameter name="username">icinga_user</ae:parameter> <ae:parameter name="password">password</ae:parameter> <ae:parameter name="charset">utf8</ae:parameter> <ae:parameter name="manager_attributes"> <ae:parameter name="MODEL_LOADING">CONSERVATIVE</ae:parameter> </ae:parameter> <ae:parameter name="load_models">%de.icinga.appkit.doctrine_model_path%</ae:parameter> </database>
Ändern Sie die Werte für Ihre Datenbank-Verbindung.
![]() |
Anmerkung |
---|---|
Denken Sie daran, vorher die IDOUtils installiert zu haben (wie hier beschrieben: „Icinga-Schnellstart mit IDOUtils“ ) |
Gehen Sie zum appkit.factories - Bereich und ändern Sie den Pfad und die Konfiguration für die icinga-api.
<!-- icinga-api data interface --> <parameter name="IcingaData"> <parameter name="class">IcingaData</parameter> <parameter name="file">%core.module_dir%/Web/lib/icinga/factory/IcingaData.class.php </parameter> <parameter name="requiredClasses"> <!-- NONE --> </parameter> <parameter name="api_file">%core.root_dir%/icinga-api/IcingaApi.php/<parameter> <parameter name="api_type">IcingaApi::CONNECTION_IDO</parameter> <parameter name="config_type">mysql</parameter> <parameter name="config_host">127.0.0.1</parameter> <parameter name="config_port">3306</parameter> <parameter name="config_database">icinga</parameter> <parameter name="config_user">your-ido-user</parameter> <parameter name="config_password">your-ido-pw</parameter> <parameter name="config_table_prefix">icinga_</parameter> </parameter>
Apache-Konfiguration
Voraussetzungen:
mod_rewrite, vielleicht müssen Sie einen Verweis erstellen:
# ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
Bei OpenSuSE gibt es in der Datei /etc/sysconfig/apache2 die Zeile "APACHE_MODULES=...", der das Modul "rewrite" hinzugefügt werden muss.
Editieren Sie die .htaccess unter /usr/local/icinga-web/pub und ändern Sie die RewriteBase (ab Zeile 14) :
DirectoryIndex index.php Options -MultiViews -Indexes +FollowSymLinks Order allow,deny Allow from all <IfModule mod_rewrite.c> RewriteEngine On # This depends on your path # on independent hosts the base is '/' RewriteBase /icinga-web/ # If the requested URL does not exist (it's likely an agavi route), # pass it as path info to index.php, the Agavi dispatch script. RewriteRule ^$ index.php?/ [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php?/$1 [QSA,L] </IfModule> <IfModule mod_deflate.c> SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html Header append Vary User-Agent env=!dont-vary </IfModule> <IfDefine APACHE2> AcceptPathInf On </IfDefine> #<IfModule mod_auth_basic.c> # AuthType Basic # AuthName "My http basic auth realm" # AuthUserFile /path/to/my/htusers # require valid-user #</IfModule>
Bitte erstellen Sie noch einen neuen Alias im Konfigurationsverzeichnis des Webservers (hier in der icinga.conf):
# vi /etc/apache2/conf.d/icinga.conf Alias /icinga-web /usr/local/icinga-web/pub <directory /usr/local/icinga-web/pub> AllowOverride All </directory>
Leeren Sie den Cache:
# rm /usr/local/icinga-web/app/cache/config/*.php
und starten Sie den Webserver neu:
# service apache2 restart
bzw.
# /etc/init.d/apache2 restart
Testen
Bitte achten Sie darauf, dass MySQL, Apache, IDOUtils und Icinga gestartet sind!
Öffnen Sie im Webbrowser http://localhost/icinga-web und loggen Sie sich mit dem User 'root' und dem Passwort 'password' ein. Bei Fehlern schauen Sie bitte in die Apache-Log-Dateien.
Viel Spaß beim Entdecken....wir freuen uns auf Ihr Feedback.
© 2009-2010 Icinga Development Team, http://www.icinga.org