Project

General

Profile

Actions

NagiosRecipe » History » Revision 7

« Previous | Revision 7/13 (diff) | Next »
OneBadBoy, 2007-10-22 12:05
Added CGI authentication steps


= 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. Ensure that you have cgi module enabled in server.modules

Add the following to /etc/lighttpd/lighttpd.conf: {{{
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/cgi-bin" {
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/nagios/passwd"
auth.require = ( "" => (
"method" => "basic",
"realm" => "nagios",
"require" => "user=nagiosadmin"
)
)
}

$HTTP["url"] =~ "^/nagios" {
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/nagios/passwd"
auth.require = ( "" => (
"method" => "basic",
"realm" => "nagios",
"require" => "user=nagiosadmin"
)
)
}
}}}

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 OneBadBoy over 16 years ago · 7 revisions