How To Install Nagios 4.4.3 on Ubuntu 18.04 & Ubuntu 16.04

Nagios is one of the most widely used open source monitoring tool for monitoring the services and application that run’s on Windows and Linux. It also has the capability to monitor routers and other network devices.

With the help of Nagios, you can monitor basic services and attributes. We can access the Nagios using web interface coming with the bundle, but the configurations need to be done on the file level.

Services List

Nagios can monitor your “private” services and attributes of Linux/UNIX servers, such as:


  • CPU load
  • Memory usage
  • Disk usage
  • Logged in users
  • Running processes
  • etc.

Private Services

  • HTTP
  • FTP
  • SSH
  • SMTP
  • etc


Let’s switch to the root user.

sudo su -

Before compiling the Nagios from the source, you would need to install dependent packages for Nagios. Update the repository cache and install the dependencies for Nagios.

apt-get update 
apt-get install build-essential apache2 php openssl perl make php-gd libgd-dev libapache2-mod-php libperl-dev libssl-dev daemon wget apache2-utils unzip

Create nagios user and nagcmd group (allowing the external commands to be executed through the web interface), add the nagios and apache user to the part of the nagcmd group.

useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd www-data

Install Nagios Core

You can use below commands to download Nagios core (v4.4.3). Else, you can visit the official website to download the latest version of Nagios core.

cd /tmp 
tar -zxvf /tmp/nagios-4.4.3.tar.gz
cd /tmp/nagios-4.4.3/

Perform the below steps to compile the Nagios from the source code.

./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/
make all
make install
make install-init
make install-config
make install-commandmode

Configure Nagios

The installer has now placed configuration files in the /usr/local/nagios/etc directory. These default configuration files should work fine for now to start Nagios.  All you need to make just one change before you proceed.

Edit the /usr/local/nagios/etc/objects/contacts.cfg file and change the email address associated with the nagiosadmin contact definition to the address you’d like to use for receiving alerts.

vi /usr/local/nagios/etc/objects/contacts.cfg

Change the email address field to receive the notification.

define contact{
        contact_name                    nagiosadmin             ; Short name of user
        use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
        alias                           Nagios Admin            ; Full name of user

        email                       ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******


Install Nagios Web Interface

Execute the below command in the terminal to install Nagios web interface.

make install-webconf

Create a user account (nagiosadmin) for logging into the Nagios web interface. Remember the password you assign to this account – you’ll need it later.

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

Run the following command.

a2enmod cgi

Restart Apache to make the new settings take effect.

systemctl restart apache2

Install Nagios Plugins

Now, it’s time to download Nagios plugins for monitoring the services. Place it into /tmp directory.

cd /tmp
tar -zxvf /tmp/nagios-plugins-2.2.1.tar.gz
cd /tmp/nagios-plugins-2.2.1/

Compile and install the plugins.

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

Start Nagios

Verify the sample Nagios configuration files.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


Nagios Core 4.4.3
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2019-01-15
License: GPL

Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
        Checked 8 services.
        Checked 1 hosts.
        Checked 1 host groups.
        Checked 0 service groups.
        Checked 1 contacts.
        Checked 1 contact groups.
        Checked 24 commands.
        Checked 5 time periods.
        Checked 0 host escalations.
        Checked 0 service escalations.
Checking for circular paths...
        Checked 1 hosts
        Checked 0 service dependencies
        Checked 0 host dependencies
        Checked 5 timeperiods
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

Enable Nagios to start automatically at system startup.

systemctl enable nagios

Now, start the Nagios service.

systemctl start nagios

Access Nagios Web Interface

Now access the Nagios web interface using the following URL.


You’ll be prompted for the username (nagiosadmin) and password you specified earlier.

Install Nagios 4.4.3 on Ubuntu 18.04 – Nagios Login

Upon successful login, you would get the Nagios’s home page.

Install Nagios 4.4.3 on Ubuntu 18.04 – Nagios Monitoring Home Page

You can monitor the services by clicking on Services in the left pane.

Install Nagios 4.4.3 on Ubuntu 18.04 – Nagios Services Monitoring

By default, Nagios can monitor only the localhost, i.e., Nagios server. If you want to monitor remote machines, then you need to install and configure NRPE plugin.

READ: How To Add Linux Host To Nagios Monitoring Using NRPE Plugin

That’s All.

monitoring-toolsnagiosubuntu 16.04ubuntu 18.04
Comments (6)
Add Comment
  • Fabio Hack Moretto

    Great guide! Thanks a lot!

  • Rabin Basnet

    You’re awesome. Thank you very much.

  • Iwano Suarez

    Excelent job my friend, work for me on virtual box 5.1.22 runing ubuntu 17.04.
    Tks alot..

  • Isuru Malinda

    Thank you very much

  • Yuri Weinstein

    I am getting
    “The following packages have unmet dependencies:
    libgd2-xpm-dev : Depends: libgd-dev but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.”
    trying to run: apt-get install build-essential apache2 php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev daemon wget apache2-utils unzip

    how to fix it?

    • Raj

      Hello you can use libgd-dev package.