Panduan Langkah-demi-Langkah

Instalasi
LibreNMS

Network Monitoring System berbasis open-source. Panduan ini mencakup instalasi lengkap di Debian menggunakan Nginx + MariaDB + PHP-FPM.

Langkah Pelaksanaan

1

Persiapan Sistem

Update sistem dan install dependensi yang dibutuhkan LibreNMS.

ℹ️Pastikan versi PHP yang diinstall sesuai dengan yang tersedia di repo Debian kamu. Cek dengan: php -v
Perintah Terminal
apt update && apt upgrade -y
apt install -y acl curl fping git graphviz imagemagick mariadb-client \
  mariadb-server mtr-tiny apache2 libapache2-mod-fcgid nmap php8.2-cli \
  php8.2-curl php8.2-fpm php8.2-gd php8.2-gmp php8.2-mbstring \
  php8.2-mysql php8.2-snmp php8.2-xml php8.2-zip rrdtool snmp snmpd \
  whois unzip python3-dotenv python3-pymysql python3-redis \
  python3-setuptools python3-systemd python3-pip lnav
2

Buat User LibreNMS

Buat user sistem khusus untuk menjalankan LibreNMS.

Perintah Terminal
useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
3

Download LibreNMS

Clone repositori LibreNMS dari GitHub ke direktori /opt/librenms.

Perintah Terminal
cd /opt
git clone https://github.com/librenms/librenms.git
4

Set Permission

Atur kepemilikan dan permission folder LibreNMS.

Perintah Terminal
chown -R librenms:librenms /opt/librenms
chmod 771 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs \
  /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs \
  /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
5

Install Dependensi PHP (Composer)

Install library PHP yang dibutuhkan menggunakan Composer.

⚠️Proses ini membutuhkan koneksi internet dan bisa memakan waktu beberapa menit.
Perintah Terminal
cd /opt/librenms
sudo -u librenms ./scripts/composer_wrapper.php install --no-dev
6

Set Timezone

Samakan timezone PHP dengan timezone sistem.

Perintah Terminal
timedatectl set-timezone Asia/Jakarta
Edit php.ini (CLI)
nano /etc/php/8.2/cli/php.ini
# Cari dan ubah baris:
# date.timezone = Asia/Jakarta
Edit php.ini (FPM)
nano /etc/php/8.2/fpm/php.ini
# Cari dan ubah baris:
# date.timezone = Asia/Jakarta
7

Konfigurasi MariaDB

Tambahkan konfigurasi yang dibutuhkan, lalu buat database dan user khusus untuk LibreNMS.

⚠️Ganti 'passwordkamu' dengan password yang kuat. Catat baik-baik karena akan dipakai saat web installer. Pastikan kolom plugin menampilkan mysql_native_password, bukan unix_socket.
Edit /etc/mysql/mariadb.conf.d/50-server.cnf
# Tambahkan di bawah [mysqld]:
innodb_file_per_table=1
lower_case_table_names=0
Enable & Restart MariaDB
systemctl enable mariadb
systemctl restart mariadb
Masuk ke MariaDB
sudo mysql
Buat Database & User (di dalam MariaDB)
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'passwordkamu';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
Keluar dari MariaDB
EXIT;
8

Konfigurasi PHP-FPM

Buat pool PHP-FPM khusus untuk LibreNMS agar berjalan sebagai user librenms.

Buat file /etc/php/8.2/fpm/pool.d/librenms.conf
[librenms]
user = librenms
group = librenms
listen = /run/php-fpm-librenms.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
Restart PHP-FPM
systemctl restart php8.2-fpm
9

Konfigurasi Apache

Aktifkan modul yang dibutuhkan dan buat VirtualHost untuk LibreNMS.

ℹ️Ganti 'librenms.local' dengan IP atau domain server kamu. Port bisa diganti sesuai kebutuhan, misal *:1945.
Aktifkan modul Apache
a2enmod rewrite proxy_fcgi setenvif
a2enconf php8.2-fpm
Buat file /etc/apache2/sites-available/librenms.conf
<VirtualHost *:80>
  ServerName librenms.local
  DocumentRoot /opt/librenms/html/
  AllowEncodedSlashes NoDecode

  <FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php-fpm-librenms.sock|fcgi://localhost"
  </FilesMatch>

  <Directory "/opt/librenms/html/">
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
  </Directory>
</VirtualHost>
Aktifkan site & restart Apache
a2ensite librenms
a2dissite 000-default
systemctl restart apache2
systemctl restart php8.2-fpm
10

Konfigurasi SNMP

Setup SNMP daemon untuk monitoring perangkat lokal.

Salin konfigurasi SNMP
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
nano /etc/snmp/snmpd.conf
# Ganti baris: rocommunity public default
# Menjadi   : rocommunity public localhost
Download & aktifkan extend script
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl enable snmpd
systemctl restart snmpd
11

Setup Cron & Log Rotation

Aktifkan cron job untuk polling data dan log rotation.

Perintah Terminal
cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
12

Setup Scheduler (Laravel)

Aktifkan Laravel scheduler sebagai systemd service.

Perintah Terminal
cp /opt/librenms/dist/librenms-scheduler.service \
   /opt/librenms/dist/librenms-scheduler.timer \
   /etc/systemd/system/

systemctl enable librenms-scheduler.timer
systemctl start librenms-scheduler.timer
13

Web Installer

Selesaikan instalasi melalui browser.

✅Ikuti langkah di web installer: isi kredensial database (host: localhost, user: librenms, password: yang dibuat di langkah 7), lalu Build Database, buat admin user, dan selesai.
Akses di browser
http://<IP-SERVER>/install
# atau jika pakai domain:
http://librenms.local/install
14

Selesai & Login

Setelah web installer selesai, LibreNMS sudah siap digunakan. Login dengan akun admin yang dibuat tadi.

✅Validasi sistem dilakukan otomatis oleh web installer. Jika ada warning setelah login, buka menu Validate (di halaman Overview > Validate) untuk melihat dan memperbaiki masalah yang ditemukan.
Akses LibreNMS di browser
http://<IP-SERVER>/
# atau jika pakai domain:
http://librenms.local/