On Debian 13:
sudo apt update
sudo apt install -y netxms-server netxms-ui netxmsd postgresql postgresql-contrib apache2 libapache2-mod-php php-gd php-mysql php-pgsql
On RHEL 10:
sudo dnf install -y epel-release
sudo dnf install -y netxms-server netxms-ui postgresql-server postgresql-contrib httpd php php-gd php-mysqlnd php-pgsql
On Debian 13:
sudo systemctl enable --now postgresql
On RHEL 10:
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
Create database and user:
sudo -u postgres psql -c "CREATE DATABASE netxms;"
sudo -u postgres psql -c "CREATE USER netxms WITH PASSWORD 'StrongPassword123!';"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE netxms TO netxms;"
sudo -u postgres psql -c "ALTER USER netxms CREATEDB;"
sudo -u postgres nxdbmgr init netxms netxms StrongPassword123!
Edit server configuration:
sudo nano /etc/netxms/server.conf
Key settings:
DBDriver=postgresql
DBName=netxms
DBLogin=netxms
DBPassword=StrongPassword123!
DBServer=localhost
ServerAddress=0.0.0.0
ListenPort=4701
JavaUIListenPort=4702
WebConsolePort=8080
On Debian 13:
sudo systemctl enable --now netxmsd
sudo systemctl enable --now netxms-ui
On RHEL 10:
sudo systemctl enable --now netxmsd
sudo systemctl enable --now netxms-ui
Create Apache configuration:
sudo tee /etc/apache2/conf-available/netxms.conf >/dev/null <<'EOF'
Alias /netxms /usr/share/netxms/www
<Directory /usr/share/netxms/www>
Options -Indexes
AllowOverride All
Require all granted
</Directory>
EOF
On Debian 13:
sudo a2enconf netxms
sudo systemctl restart apache2
On RHEL 10:
sudo ln -s /etc/apache2/conf-available/netxms.conf /etc/httpd/conf.d/netxms.conf
sudo systemctl restart httpd
On UFW:
sudo ufw allow 80/tcp
sudo ufw allow 4701/tcp
sudo ufw allow 4702/tcp
sudo ufw allow 8080/tcp
On firewalld:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-port=4701/tcp
sudo firewall-cmd --permanent --add-port=4702/tcp
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
Open http://SERVER_IP/netxms to access the web console.
Default credentials:
adminnetxmsChange the default password immediately!
sudo apt install -y netxms-agent
sudo nano /etc/netxms/agent.conf
Configure agent:
MasterAddress=NETXMS_SERVER_IP
ControlPort=4701
sudo systemctl enable --now netxms-agent
sudo dnf install -y netxms-agent
sudo nano /etc/netxms/agent.conf
sudo systemctl enable --now netxms-agent
Download the installer from the NetXMS website and run:
msiexec /i netxms-agent.msi /quiet MASTER=NETXMS_SERVER_IP
On monitored devices, ensure SNMP is enabled:
sudo apt install -y snmpd snmp
sudo nano /etc/snmp/snmpd.conf
rocommunity public default
sysLocation Server Room
sysContact admin@example.com
sudo systemctl restart snmpd
See NetXMS Hardening.
Setting up monitoring systems can be complex. We offer consulting services for:
Contact us at office@linux-server-admin.com or visit our contact page.
Prefer automation? See NetXMS Ansible Setup for an example playbook.
Prefer containers? See NetXMS Docker Setup.
See NetXMS Configuration for configuration guidance.
See NetXMS Security for hardening guidance.