Setting up Nagios Web Interface with Lighty¶
Nagios is a system and network monitoring application. It watches hosts and services that you specify, alerting you when things go bad and when they get better. Nagios has a web interface that allows you to check and modify configuration via the web. There's a documentation that explains how to set up Nagios with Apache. http://nagios.sourceforge.net/docs/2_0/installweb.html
This assumes that Nagios is installed in /usr/local/nagios.
Edit lighttpd.conf and unhash "mod_alias", "mod_auth", "mod_authn_file", "mod_setenv" and "mod_cgi" in the server.modules section.
Then add the following:
alias.url = ( "/nagios/cgi-bin" => "/usr/local/nagios/sbin", "/nagios" => "/usr/local/nagios/share" )
Nagios comes with CGI scripts that are compiled binaries. We need to make sure that Lighty doesn't try to run them thru Perl.
$HTTP["url"] =~ "^/nagios/cgi-bin" { cgi.assign = ( "" => "" ) }
In order to see and modify the configuration you need to set up CGI authentication. The general steps to enable CGI authentication would be creating your /etc/nagios/passwd file and adding the following lines to your lighttpd.conf:
$HTTP["url"] =~ "nagios" { auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/etc/nagios/passwd" auth.require = ( "" => ( "method" => "basic", "realm" => "nagios", "require" => "user=nagiosadmin" ) ) setenv.add-environment = ( "REMOTE_USER" => "user" ) }
CGI programs for Nagios require a REMOTE_USER environmental variable which is provided by Apache, with here we are emulating it with mod_setenv. More information about CGI authentication may be found here: http://nagios.sourceforge.net/docs/2_0/configcgi.html
Once you restart lighttpd, you should be able to access Nagios interface at http://your_host/nagios
Updated by gstrauss almost 8 years ago · 13 revisions