Trouble getting started

Hi, I am new to this and I am having trouble getting nagios started.
I have it installed and it appears to be running (tells me the pid and such) but when I go to any one of the cgi’s on the web interface it says this:

Error: Could not open main config file '/etc/nagios/nagios.cfg' for reading!

Here are some things you should check in order to resolve this error:

  1. Make sure you’ve installed a main config file in its proper location. See the error message about for details on where the CGI is expecting to find the configuration file. A sample main configuration file (named nagios.cfg) can be found in the sample-config/ subdirectory of the Nagios source code distribution.
  2. Make sure the user your web server is running as has permission to read the main config file.

The file is there and I think the webserver has permission to read it(How can I verify this?) Can someone help start this

Ok, I am pretty sure it is an apache problem (possibly with selinu:evil:

Edit:
ok I cannot figure this out here is my cgi.cfg file:

################################################################# # # CGI.CFG - Sample CGI Configuration File for Nagios # # Last Modified: 10-08-2003 # #################################################################

MAIN CONFIGURATION FILE

This tells the CGIs where to find your main configuration file.

The CGIs will read the main and host config files for any other

data they might need.

main_config_file=/etc/nagios/nagios.cfg

PHYSICAL HTML PATH

This is the path where the HTML files for Nagios reside. This

value is used to locate the logo images needed by the statusmap

and statuswrl CGIs.

physical_html_path=/usr/share/nagios

URL HTML PATH

This is the path portion of the URL that corresponds to the

physical location of the Nagios HTML files (as defined above).

This value is used by the CGIs to locate the online documentation

and graphics. If you access the Nagios pages with an URL like

myhost.com/nagios, this value should be ‘/nagios’

(without the quotes).

url_html_path=/nagios

CONTEXT-SENSITIVE HELP

This option determines whether or not a context-sensitive

help icon will be displayed for most of the CGIs.

Values: 0 = disables context-sensitive help

1 = enables context-sensitive help

show_context_help=0

NAGIOS PROCESS CHECK COMMAND

This is the full path and filename of the program used to check

the status of the Nagios process. It is used only by the CGIs

and is completely optional. However, if you don’t use it, you’ll

see warning messages in the CGIs about the Nagios process

not running and you won’t be able to execute any commands from

the web interface. The program should follow the same rules

as plugins; the return codes are the same as for the plugins,

it should have timeout protection, it should output something

to STDIO, etc.

Note: The command line for the check_nagios plugin below may

have to be tweaked a bit, as different versions of the plugin

use different command line arguments/syntaxes.

#nagios_check_command=/usr/lib/nagios/plugins/check_nagios /var/log/nagios/status.log 5 ‘/usr/bin/nagios’

AUTHENTICATION USAGE

This option controls whether or not the CGIs will use any

authentication when displaying host and service information, as

well as committing commands to Nagios for processing.

Read the HTML documentation to learn how the authorization works!

NOTE: It is a really bad idea to disable authorization, unless

you plan on removing the command CGI (cmd.cgi)! Failure to do

so will leave you wide open to kiddies messing with Nagios and

possibly hitting you with a denial of service attack by filling up

your drive by continuously writing to your command file!

Setting this value to 0 will cause the CGIs to not use

authentication (bad idea), while any other value will make them

use the authentication functions (the default).

use_authentication=1

DEFAULT USER

Setting this variable will define a default user name that can

access pages without authentication. This allows people within a

secure domain (i.e., behind a firewall) to see the current status

without authenticating. You may want to use this to avoid basic

authentication if you are not using a sercure server since basic

authentication transmits passwords in the clear.

Important: Do not define a default username unless you are

running a secure web server and are sure that everyone who has

access to the CGIs has been authenticated in some manner! If you

define this variable, anyone who has not authenticated to the web

server will inherit all rights you assign to this user!

#default_user_name=guest

SYSTEM/PROCESS INFORMATION ACCESS

This option is a comma-delimited list of all usernames that

have access to viewing the Nagios process information as

provided by the Extended Information CGI (extinfo.cgi). By

default, no one has access to this unless you choose to

not use authorization. You may use an asterisk (*) to

authorize any user who has authenticated to the web server.

authorized_for_system_information=*

CONFIGURATION INFORMATION ACCESS

This option is a comma-delimited list of all usernames that

can view ALL configuration information (hosts, commands, etc).

By default, users can only view configuration information

for the hosts and services they are contacts for. You may use

an asterisk (*) to authorize any user who has authenticated

to the web server.

#authorized_for_configuration_information=nagiosadmin,jdoe

SYSTEM/PROCESS COMMAND ACCESS

This option is a comma-delimited list of all usernames that

can issue shutdown and restart commands to Nagios via the

command CGI (cmd.cgi). Users in this list can also change

the program mode to active or standby. By default, no one

has access to this unless you choose to not use authorization.

You may use an asterisk (*) to authorize any user who has

authenticated to the web server.

authorized_for_system_commands=*

GLOBAL HOST/SERVICE VIEW ACCESS

These two options are comma-delimited lists of all usernames that

can view information for all hosts and services that are being

monitored. By default, users can only view information

for hosts or services that they are contacts for (unless you

you choose to not use authorization). You may use an asterisk (*)

to authorize any user who has authenticated to the web server.

#authorized_for_all_services=nagiosadmin,guest
#authorized_for_all_hosts=*

GLOBAL HOST/SERVICE COMMAND ACCESS

These two options are comma-delimited lists of all usernames that

can issue host or service related commands via the command

CGI (cmd.cgi) for all hosts and services that are being monitored.

By default, users can only issue commands for hosts or services

that they are contacts for (unless you you choose to not use

authorization). You may use an asterisk (*) to authorize any

user who has authenticated to the web server.

#authorized_for_all_service_commands=nagiosadmin
#authorized_for_all_host_commands=nagiosadmin

STATUSMAP BACKGROUND IMAGE

This option allows you to specify an image to be used as a

background in the statusmap CGI. It is assumed that the image

resides in the HTML images path (i.e. /usr/local/nagios/share/images).

This path is automatically determined by appending “/images”

to the path specified by the ‘physical_html_path’ directive.

Note: The image file may be in GIF, PNG, JPEG, or GD2 format.

However, I recommend that you convert your image to GD2 format

(uncompressed), as this will cause less CPU load when the CGI

generates the image.

#statusmap_background_image=smbackground.gd2

DEFAULT STATUSMAP LAYOUT METHOD

This option allows you to specify the default layout method

the statusmap CGI should use for drawing hosts. If you do

not use this option, the default is to use user-defined

coordinates. Valid options are as follows:

0 = User-defined coordinates

1 = Depth layers

2 = Collapsed tree

3 = Balanced tree

4 = Circular

5 = Circular (Marked Up)

default_statusmap_layout=5

DEFAULT STATUSWRL LAYOUT METHOD

This option allows you to specify the default layout method

the statuswrl (VRML) CGI should use for drawing hosts. If you

do not use this option, the default is to use user-defined

coordinates. Valid options are as follows:

0 = User-defined coordinates

2 = Collapsed tree

3 = Balanced tree

4 = Circular

default_statuswrl_layout=4

STATUSWRL INCLUDE

This option allows you to include your own objects in the

generated VRML world. It is assumed that the file

resides in the HTML path (i.e. /usr/local/nagios/share).

#statuswrl_include=myworld.wrl

PING SYNTAX

This option determines what syntax should be used when

attempting to ping a host from the WAP interface (using

the statuswml CGI. You must include the full path to

the ping binary, along with all required options. The

$HOSTADDRESS$ macro is substituted with the address of

the host before the command is executed.

Please note that the syntax for the ping binary is

notorious for being different on virtually ever *NIX

OS and distribution, so you may have to tweak this to

work on your system.

ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$

REFRESH RATE

This option allows you to specify the refresh rate in seconds

of various CGIs (status, statusmap, extinfo, and outages).

refresh_rate=90

SOUND OPTIONS

These options allow you to specify an optional audio file

that should be played in your browser window when there are

problems on the network. The audio files are used only in

the status CGI. Only the sound for the most critical problem

will be played. Order of importance (higher to lower) is as

follows: unreachable hosts, down hosts, critical services,

warning services, and unknown services. If there are no

visible problems, the sound file optionally specified by

‘normal_sound’ variable will be played.

=<sound_file>

Note: All audio files must be placed in the /media subdirectory

under the HTML path (i.e. /usr/local/nagios/share/media/).

#host_unreachable_sound=hostdown.wav
#host_down_sound=hostdown.wav
#service_critical_sound=critical.wav
#service_warning_sound=warning.wav
#service_unknown_sound=warning.wav
#normal_sound=noproblem.wav

Edited Mon May 16 2005, 08:18AM ]

Solution(fedora core 3 with selinu:evil: for anyone else who has this problem:

[root@localhost /etc/nagios]$ls --lcontext nagios.cfg -rwxrwxrwx 1 user_u:object_r:user_home_t bill bill 30610 May 16 08:47 nagios.cfg [root@localhost /etc/nagios]$chown root:root nagios.cfg [root@localhost /etc/nagios]$chcon -R system_u:object_r:etc_t nagios.cfg [root@localhost /etc/nagios]$ls --lcontext nagios.cfg -rwxrwxrwx 1 system_u:object_r:etc_t root root 30610 May 16 08:47 nagios.cfg