Nagios Core Installation - jacob-dinapoli/tech-journal GitHub Wiki

Disable SELinux

Security-Enhanced Linux is a Linux kernel security module that provides a mechanism for supporting access control security policies, including mandatory access controls. We need to disable this so that Nagios can work fully.

setenforce 0 then modify /etc/selinux/config and change enforcing to disabled

Installing Prerequisites

There are some basic programs that Nagios will need to use.

yum install httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl-devel wget unzip -y

You will also need a user/group for Nagios to use.

useradd nagios
useradd nagcmd
usermod -aG nagcmd nagios
usermod -Ag nagcmd apache

Downloading and Installing Nagios

Run these commands to download and extract the files needed.

cd /tmp
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
tar zxf nagios-4.1.1.tar.gz
tar zxf nagios-plugins-2.1.1.tar.gz

Now navigate to nagios-4.1.1 from temp and compile the files with these commands. Each command may take some time.

./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf

Create Password

In order to use the Nagios Core web GUI we need to create a password for the "nagiosadmin" account we created earlier. Store this password somewhere and do not forget it. The command below will prompt you for a password.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Install Plugins

We downloaded the plugins earlier, but now they need to be install and compiled. Navigate to /tmp/nagios-plugins-2.1.1.

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make all
make install

Firewall Configuration

Nagios' web page will be hidden behind a firewall, you have to run these commands so that you can access the GUI.

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

Starting HTTPD Service

systemctl enable httpd
systemctl start httpd

Starting Nagios Service

Now that everything is configured properly we can start the service and access the page.

Try systemctl enable nagios and systemctl start nagios.

If neither of those work, then follow these next steps to create your own service for Nagios.

sudo vi /etc/systemd/system/nagios.service
Add the following from this page.
sudo systemctl enable /etc/systemd/system/nagios.service
sudo systemctl start nagios
sudo systemctl restart nagios
sudo systemctl enable nagios

Accessing Nagios Web GUI

As long as you followed everything in this guide, you should be able to go to http://nagios-ip/nagios/ and see your dashboard.