Saturday, July 23, 2016

Installing Nagios Core without "root" permission

Complete guide to install Nagios in Linux without "root" permission

1) Installing HTTPD

# All the installation will be done under /home/maximus/tools

wget http://www-eu.apache.org/dist//httpd/httpd-2.4.23.tar.gz
wget http://www-eu.apache.org/dist//apr/apr-util-1.5.4.tar.gz
wget http://www-eu.apache.org/dist//apr/apr-1.5.2.tar.gz

tar -xzvf httpd-2.4.23.tar.gz
tar -xzvf apr-1.5.2.tar.gz
tar -xzvf apr-util-1.5.4.tar.gz

cp -r apr-1.5.2 httpd-2.4.23/srclib/apr
cp -r apr-util-1.5.4 httpd-2.4.23/srclib/apr-util
cd httpd-2.4.23
./configure --prefix=/home/maximus/tools -with-included-apr
make
make install

2) Install PHP

wget http://php.net/get/php-7.0.9.tar.gz
tar -xzvf php-7.0.9.tar.gz
cd php-7.0.9
./configure --prefix=/home/maximus/tools --with-apxs2=/home/maximus/tools/bin/apxs --with-config-file-path=/home/maximus/tools/conf/
make
make install
cp php.ini-development /home/maximus/tools/conf/php.ini

# Add the following lines in /home/maximus/tools/conf/httpd.conf to enable PHP and CGI, 
# and to change the default HTTP port no

Listen 5555
LoadModule cgid_module modules/mod_cgid.so
LoadModule php7_module        modules/libphp7.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

3) Install GD

wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
tar -xzvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --prefix=/home/maximus/tools/
make
make install


4) Install Nagios

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
tar -xzvf nagios-4.1.1.tar.gz
cd nagios-4.1.1

# maximus is a non-previliged user. eng is the group which maximus belongs to. 
# Feel free to change it as per your needs
./configure --prefix=/home/maximus/tools/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=maximus --with-nagios-group=eng --with-command-group=eng --with-gd-lib=/home/maximus/tools/lib --with-gd-inc=/home/maximus/tools/include --with-httpd-conf=/home/maximus/tools/conf
make all
make install

# In the Makefile (in current directory) add the entry DESTDIR=/home/maximus/tools/ 
# and the execute the next command
make install-init
# Now remove the entry which we just added
make install-commandmode
make install-config
make install-webconf
cp -R contrib/eventhandlers/ /home/maximus/tools/nagios/libexec/

# Provide a password for the user nagiosadmin (you can chose your own username). 
# You will be using this login to the Nagios Core Web 
cd /home/maximus/tools/nagios/etc/
htpasswd -c htpasswd.users nagiosadmin

# Add the following line to /home/maximus/tools/conf/httpd.conf

Include conf/nagios.conf

5) Install the Nagios Core Plugins

wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
tar -xzvf nagios-plugins-2.1.1.tar.gz
cd nagios-plugins-2.1.1
./configure --with-nagios-user=maximus --with-nagios-group=eng --prefix=/home/maximus/tools/nagios/
make
make install

To start the all the services
/home/maximus/tools/bin/apachectl start
/home/maximus/tools/etc/rc.d/init.d/nagios start

To stop the all the services
/home/maximus/tools/bin/apachectl stop
/home/maximus/tools/etc/rc.d/init.d/nagios stop

Web Address
http://localhost:5555/nagios/index.php

Hope this helps!!

4 comments:

  1. HI,

    While installing PHP i am getting below error.

    checking whether to enable LIBXML support... yes
    checking libxml2 install dir... /app/libxml2-2.7.2/bin
    checking for xml2-config path...
    configure: error: xml2-config not found. Please check your libxml2 installation.

    ANy help here is highly appreciated.

    I used below command to configure..

    ./configure --prefix=/app/Nagios/tools/ --with-apxs2=/app/Nagios/tools/bin/apxs --with-config-file-path=/app/Nagios/tools/conf/ --with-libxml-dir=/app/libxml2-2.7.2/bin


    ReplyDelete
    Replies
    1. You will need to install libxml as well. Sorry for the late reply.

      Delete
    2. Thanks Ahamed for reply...

      But do we need to install libxml with root user..?

      Delete
    3. Sorry for the late response (I somehow dont get email notifications when someone comments. I need to check). Anyways, no you need not install libxml with root permission.

      Delete