How to Install OpenNMS on CentOS 7

Updated on November 30, 2017
How to Install OpenNMS on CentOS 7 header image

OpenNMS is an enterprise-grade open source network management platform that can be used to monitor and manage numerous devices from a single instance. With all kinds of metrics collected by OpenNMS, system administrators can easily discover service outages and latency and then make informed decisions accordingly.


Step 1 (optional): Setup a swap file on the system

If you are using a low-end machine with lesser memory, you need to setup a swap file before you can properly run OpenNMS on it.

Log in as root, and execute the following.

dd if=/dev/zero of=/swapfile count=2048 bs=1M
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' >> /etc/fstab

Step 2: Install OpenNMS

Traditionally, installing OpenNMS is a relatively complicated job because it involves multiple technologies, including Oracle Java 8 JDK, PostgreSQL, OpenNMS, systemd, etc. Thankfully, OpenNMS provides an official quickstart install script for CentOS 7, which can greatly simplify the procedures.

Warning: This script is for a fresh installation of OpenNMS only. If you have installed an earlier version of OpenNMS on the system, running this script might cause unintended consequences.

curl -L | tar xz
cd opennms-install-1.1

The script will automatically install all required components for running OpenNMS. During the process, you only need to confirm the installation and provide database credentials as follows.

  • If you want to proceed, type YES: YES
  • Enter database username: opennmsuser
  • Enter database password: yourpassword

Remember to replace the username and password above with your own.

If all went well, you will see the congratulations message.


OpenNMS is up and running. You can access the web application with



Before you can access OpenNMS using a web browser, you need to modify firewall rules to allow inbound traffic on port 8980.

firewall-cmd --zone=public --add-port=8980/tcp --permanent
systemctl reload firewalld.service

Finally, point your favorite web browser to, and log in with the default username admin and the default password admin.

For security purposes, you should change the password immediately. Hover over the main navigation Admin and then click the Change Password link.