Wednesday, August 12, 2009

FreeBSD Nagios Setup

Required Packages: Apache, PHP5, GCC and GD development libs

1-Add user and group
pw groupadd nagios
Username: nagios
Full name:
Uid (Leave empty for default):
Login group [nagios]:
Login group is nagios. Invite jru into other groups? []:
Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: zsh
Home directory [/home/nagios]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
OK? (yes/no): yes
adduser: INFO: Successfully added (nagios) to the user database.
Add another user? (yes/no): no
---Creating group for web interface
pw groupadd nagcmd
pw groupmod nagcmd -M nagios
pw groupmod nagcmd -m www
pw groupadd root

2-Configure and install
cd /usr/ports/net-mgmt/nagios
make config
make install
make install-init
make install-config
make install-commandmod

3-Customaize Configuration
cd /usr/local/etc/nagios
cp cgi.cfg-sample cgi.cfg
cp nagios.cfg-sample nagios.cfg
cp resource.cfg-sample resource.cfg
cd objects
cp commands.cfg-sample commands.cfg
cp printer.cfg-sample printer.cfg
cp localhost.cfg-sample localhost.cfg
cp switch.cfg-sample switch.cfg
cp tempelates.cfg-sample tempelates.cfg
cp timeperiods.cfg-sample timeperiods.cfg
cp contacts.cfg-sample contacts.cfg
vim contacts.cfg –-**change the email address of nagiosadmin

4-Configuring web interface
cd /usr/ports/net-mgmt/nagios
make install-webconf
htpasswd -c /usr/local/etc/nagios/htpasswd.users nagiosadmin
**enter the password and remmember**
apachectl restart

5-Install nagios plugins
cd /usr/ports/net-mgmt/nagios-plugins
make config
make install

6-Configuring of apache httpd.conf
cd /usr/local/etc/apache/
vim httpd.conf

6-a-Add ScriptAlias and Alias
ScriptAlias /nagios/cgi-bin/ /usr/local/www/data/nagios/cgi-bin/
<Directory "/usr/local/www/data/nagios/cgi-bin/">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user

Alias /nagios /usr/local/www/data/nagios/

<Directory "/usr/local/www/data/nagios/">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user

6-b-uncomment out
AddHandler cgi-script .cgi

7-Restart the Apache
apachectl restart

8-Check configuration and start nagios
cd /usr/local/etc/rc.d
--for checing the configuration use
nagios -v /usr/local/etc/nagios/nagios.cfg
./nagios checkconfig
--starting nagios
./nagios start

9-Open the browser and go to http://localhost( ip or domain)/nagios
user/password will show up. Enter the nagiosadmin as user and password you have selected befor.woooo!!


  1. make install-webconf
    gives me an error: make: don't know how to make install-webconf. Stop

    Do you have updated instructions?

  2. Thanks for sharing.
    Nếu cần gửi hàng đi đà nẵng thì a/c liên hệ bên mình nhé.
    Hotline: 0903751981