How to Install Nagios Core in Rocky LInux and AlmaLinux

Nagios is a free and open-source tool for monitoring systems, networks, and infrastructure. Nagios provides a web interface for viewing current network status, log files, notifications, and much more.

[ You might also like: 22 Linux Networking Commands for Sysadmin ]

It can monitor a host’s resources and services and send SMS and email alerts if something goes wrong. Additionally, Nagios offers remote monitoring using Nagios Remote plugins or through SSL encrypted tunnels or SSH.

In this article, we will go through the installation of Nagios on the Rocky Linux and AlmaLinux distribution.

Step 1: Install Dependencies for Nagios

It is always important to ensure your system packages are updated before installing additional packages.

$ sudo dnf update

Some additional dependencies are required for the installation of Nagios to proceed without a hitch. These include the Apache HTTP web server, compiler tools such gcc, SNMP packages and php modules to mention a few.

$ sudo dnf install -y php perl @httpd wget unzip glibc automake glibc-common gettext autoconf php php-cli gcc gd gd-devel net-snmp openssl-devel unzip net-snmp postfix net-snmp-utils

Thereafter, proceed and install the development tools:

$ sudo dnf -y groupinstall "Development Tools"

Once the installation is complete, start and enable httpd and php-fpm services to start on boot time.

$ sudo systemctl enable --now httpd php-fpm

Then start the Apache webserver and php-fpm services.

$ sudo systemctl start httpd
$ sudo systemctl start php-fpm

It would also be a great idea to confirm that both services are running:

$ sudo systemctl status httpd
$ sudo systemctl status php-fpm

Perfect! We have installed all the requisite packages needed for Nagios. Now let’s get along with downloading Nagios.

Step 2: Download Nagios Core Source Code

We are ready to proceed with the download of Nagios. We will download the Nagios Core archive from the official site. By the time of writing this guide, the latest version of Nagios is 4.4.6.

Use the wget command to download the archive file.

$ wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz

Once the download is complete, execute the following command to extract the Nagios source code.

$ tar -xzf nagios-4.4.6.tar.gz

Next, navigate into the Nagios source code folder.

$ cd nagios-*/

Next, install all the necessary dependencies and build tools for Nagios by running the following configuration script:

$ sudo ./configure

The following summary will be displayed if the configuration is successful:

Build Nagios in Linux
Build Nagios in Linux

Next, compile the Nagios main program as shown:

$ sudo make all
Compile Nagios in Linux
Compile Nagios in Linux

After successful compilation, you should get the output shown below provided with the next steps to execute:

Nagios Compilation Summary
Nagios Compilation Summary

Now, let’s create a Nagios system and user.

$ sudo make install-groups-users

Afterward, execute the following command to add an apache user to the Nagios group.

$ sudo usermod -aG nagios apache

Step 3: Install Nagios Core on Linux

Now, let’s install Nagios Core along with CGIs and HTML files.

$ sudo make install
Install Nagios in Linux
Install Nagios in Linux

Then install the init script in the /lib/systemd/system path.

$ sudo make install-init

Next, install Nagios initialization scripts.

$ sudo make install-daemoninit

Then, install and configure permissions on the folder for holding the external command line:

$ sudo make install-commandmode

Next, install the Nagios sample configuration files.

$ sudo make install-config
Install Nagios Configuration Files
Install Nagios Configuration Files

After running this command, the files are installed in /usr/local/nagios/etc.

Then, install Apache configuration files required for Nagios.

$ sudo make install-webconf

Step 4: Create Nagios Web User

To access the Nagios web dashboard, you must first create an apache user account.

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

By default, the user is nagiosadmin.

In case you wish to use a different user, replace all instances of Nagiosadmin in the /usr/local/nagios/etc/cgi.cfg file with the new user name.

Next, ensure you set the ownership of the Nagios Apache authentication configuration file to the webserver user.

$ sudo chown apache:apache /usr/local/nagios/etc/htpasswd.users

Then, set file permissions appropriately such that apache has read-write access.

$ sudo chmod 640 /usr/local/nagios/etc/htpasswd.users

After the above steps, restart the apache service to apply the changes.

$ sudo systemctl restart httpd

Now configure the firewall to allow inbound HTTP traffic.

$ firewall-cmd --add-port=80/tcp --permanent
$ firewall-cmd --reload

Now, start and enable the Nagios service to run automatically upon system boot.

$ sudo systemctl enable nagios --now

To check the status of Nagios run:

$ sudo systemctl status nagios
Check Nagios Status
Check Nagios Status

From the output above, the Nagios Service is now operating successfully on our system.

Step 5: Accessing Nagios Web Interface

Finally, let’s access the Nagios dashboard. Open your preferred web browser and access Nagios with the following address:

$ http://your-server-ip/nagios/

You will be prompted to log in. Use the credentials we assigned to the Nagiosadmin user.

Nagios Login
Nagios Login

After successfully logging in, you will be directed to the Nagios dashboard.

Nagios Dashboard
Nagios Dashboard

We have now successfully installed the Nagios monitoring tool on our Rocky Linux and AlmaLinux system.

If you liked this article, then do subscribe to email alerts for Linux tutorials. If you have any questions or doubts? do ask for help in the comments section.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.