pnp4nagios – Installation Internal Server Error

pnp4nagios“ ist ein Tool zur Visualisierung der Nagios-Ergebnisse.

Die Installation des Programms ist eigentlich sehr leicht durchzuführen. Ich habe es aus den Quellen selber kompiliert. Die Schritt für Schritt Anleitung auf der Seite des Herstellers kann getrost gefolgt werden. (Anleitung für Version 0.6 http://docs.pnp4nagios.org/de/pnp-0.6/install)
Sollten Abhängigkeiten noch offen sein, dann wird das währen des compilierens angezeigt und kann sicherlich leicht nachgebessert werden.

Ist die Installation erfolgreich abgeschlossen, dann kann man pnp4nagios über http://localhost/pnp4nagios aufgerufen werden.

Bei meiner Installation wurde beim ersten Aufruf der Benutzername und das Passwort von Nagios abgefragt, doch dann kam die Meldung vom Apache „Internal Server Error„.

Ein Blick in die Log-File (/var/log/apache/error.log) half aber bei der Lösung.

Problembeschreibung

In der Log-Datei wurde bei jedem Aufruf der Seite http://localhost/pnp4nagios die Fehlermeldung

[Wed Sep 45 18:35:28 2050] [error] [client 192.168.x.x] (2)No such file or directory: Could not open password file: /usr/local/nagios/etc/htpasswd.users

Die Zeile besagt, der Webserver Apache2 sucht in der Datei /usr/local/nagios/etc/htpasswd.users nach den Zugangsdaten, die ich eingegeben habe.

Problemlösung

Der erste Blick sollte als erstes in die Datei /usr/local/nagios/etc/htpasswd.users geworfen werden. Hat man, wie ich, pnp4nagios unter Ubuntu installiert, dann existiert die Datei in diesem Verzeichnis nicht.

Unter Ubuntu ist die Datei im Verzeichnis /etc/nagios3/htpasswd.users zu finden.

Es muss dem Apache2 also mitgeteilt werden, wo er sich die Authentifizierungsinformationen abholen soll. Das geht ganz einfach. Wechselt in das Verzeichnis /etc/apache2/conf.d und öffnet dort die Datei pnp4nagios.conf. In der Datei den Eintrag ändern und die Datei speichern.

   	
        #AuthUserFile /usr/local/nagios/etc/htpasswd.users
	AuthUserFile /etc/nagios3/htpasswd.users

Nun ist noch ein Neustart des Apache durchzuführen und die Seite sollte erreichbar sein.

sudo /etc/init.d/apache2 restart