I- Install Apache, PHP and some needed libraries
First we will install apache , php and needed librairies
Install some necessary compilers using the command : sudo apt-get install build-essential Install GD Libraries using the command : sudo apt-get install libgd2-xpm-dev Install Apache2 sudo apt-get install apache2 Install PHP for apache 2 : sudo apt-get install php5-common php5 libapache2-mod-php5Now configure Apache to use PHP:
Open apache2.conf file
sudo vi /etc/apache2/apache2.confand add this line
DirectoryIndex index.html index.php index.cgiNow restart your apache
sudo /etc/init.d/apache2 restartNow lets install and configure Nagios
First download the latest core nagios from nagios website and before installing create a user to run the service and a group to run external commands:
* sudo useradd -m nagios * sudo passwd nagios * sudo groupadd nagcmd * sudo usermod -a -G nagcmd nagios * sudo usermod -a -G nagcmd www-dataNow install the Nagios tarballs that were downloaded previously:
tar -zxvf nagios-3.2.1.tar.gzThen cd the the extracted folder and install
cd nagios-3.2.1 sudo ./configure --with-command-group=nagcmd sudo make all sudo make install sudo make install-init sudo make install-config sudo make install-commandmode sudo make install-webconfAdd a user for the Nagios interface:
sudo mkdir /usr/local/nagios/etcCreate a new password
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminOutput
New password:Re-type new password:pirat9@pirat9-desktop:~/Downloads/nagios-3.2.1$
Now add Nagios directory to apache, first open apache.conf :
sudo vi /etc/apache2/apache.confand add these lines :
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
Alias /nagios /usr/local/nagios/share
<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
save and exit then restart apache2
sudo /etc/init.d/apache2 restartOutput
total 20
-rw-r–r– 1 root root 447 2009-09-07 20:58 README
lrwxrwxrwx 1 root root 20 2010-04-04 22:10 S70x11-common -> ../init.d/x11-common
lrwxrwxrwx 1 root root 24 2010-04-04 22:10 S70screen-cleanup -> ../init.d/screen-cleanup
lrwxrwxrwx 1 root root 17 2010-04-04 22:10 S55urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root 23 2010-04-04 22:10 S49console-setup -> ../init.d/console-setup
lrwxrwxrwx 1 root root 18 2010-04-04 22:10 S37apparmor -> ../init.d/apparmor
lrwxrwxrwx 1 root root 16 2010-04-04 22:10 S25brltty -> ../init.d/brltty
lrwxrwxrwx 1 root root 21 2010-04-04 22:10 S13pcmciautils -> ../init.d/pcmciautils
lrwxrwxrwx 1 root root 24 2010-04-04 22:10 S06keyboard-setup -> ../init.d/keyboard-setup
drwxr-xr-x 132 root root 12288 2010-04-15 01:45 ..
lrwxrwxrwx 1 root root 18 2010-04-15 02:09 S99nagios -> /etc/init.d/nagios
drwxr-xr-x 2 root root 4096 2010-04-15 02:09 .
Please before running the configuration check and copy all config files from your nagios directory to /usr/local/nagios/etc/objects/ and /usr/local/nagios/etc/
like
config file ‘/usr/local/nagios/etc/objects/commands.cfg’…
object config file ‘/usr/local/nagios/etc/objects/contacts.cfg’…
object config file ‘/usr/local/nagios/etc/objects/timeperiods.cfg’…
object config file ‘/usr/local/nagios/etc/objects/templates.cfg’…
object config file ‘/usr/local/nagios/etc/objects/localhost.cfg’…
Verify the config: sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfgOutput :
Nagios Core 3.2.1
Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 03-09-2010
License: GPL
Website: http://www.nagios.org
Reading configuration data…
Read main config file okay…
Processing object config file ‘/usr/local/nagios/etc/objects/commands.cfg’…
Processing object config file ‘/usr/local/nagios/etc/objects/contacts.cfg’…
Processing object config file ‘/usr/local/nagios/etc/objects/timeperiods.cfg’…
Processing object config file ‘/usr/local/nagios/etc/objects/templates.cfg’…
Processing object config file ‘/usr/local/nagios/etc/objects/localhost.cfg’…
Read object config files okay…
Running pre-flight check on configuration data…
Checking services…
Checked 8 services.
Checking hosts…
Checked 1 hosts.
Checking host groups…
Checked 1 host groups.
Checking service groups…
Checked 0 service groups.
Checking contacts…
Checked 1 contacts.
Checking contact groups…
Checked 1 contact groups.
Checking service escalations…
Checked 0 service escalations.
Checking service dependencies…
Checked 0 service dependencies.
Checking host escalations…
Checked 0 host escalations.
Checking host dependencies…
Checked 0 host dependencies.
Checking commands…
Checked 24 commands.
Checking time periods…
Checked 5 time periods.
Checking for circular paths between hosts…
Checking for circular host and service dependencies…
Checking global event handlers…
Checking obsessive compulsive processor commands…
Checking misc settings…
Total Warnings: 0
Total Errors: 0
Things look okay – No serious problems were detected during the pre-flight check
pirat9@pirat9-desktop:~/Downloads/nagios-3.2.1$
Now start Nagios: sudo /etc/init.d/nagios start Now you are ready to use Nagios, open your browser and type : http://hostname/nagios or http://ip/nagios