How to Install OpenNMS on CentOS 7
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.
- A newly deployed Vultr CentOS 7 x64 server instance with at least 2GB of memory. Say its IP address is
- Ability to log in as root.
- The server instance has been updated to the latest stable status using the EPEL YUM repo.
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
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 https://github.com/opennms-forge/opennms-install/archive/1.1.tar.gz | tar xz
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:
- Enter database username:
- Enter database password:
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
http://203.0.113.1:8980, and log in with the default username
admin and the default password
For security purposes, you should change the password immediately. Hover over the main navigation
Admin and then click the
Change Password link.