Cara Install LibreNMS di Ubuntu 20.04
LibreNMS adalah sistem pemantauan jaringan berbasis PHP/MySQL/SNMP yang mencangkup dukungan di berbagai hardware jaringan dan sistem operasi termasuk Cisco, Linux, Juniper dan sebagainya. LibreNMS berbasis komunitas dari versi terakhir Observium yang berlisensi GPL. Cara Install LibreNMS di Ubuntu 20.04 dengan NGINX ini memiliki kesulitan yang sedang.
Persiapan
Anda harus memiliki pengetahuan lebih lanjut untuk mengetahui cara kerja dalam instalasi ini. Minimal harus mengetahui tentang server, linux, networking serta logika untuk konfigurasi.
Sediakan server linux lokal maupun menyewa VPS, di sini akan menggunakan Nginx sebagai web servernya. Koneksikan perintah ke server dan ikuti intruksi dibawah ini:
NOTE: Intruksi di bawah ini menggunakan pengguna root. Jika Anda tidak menggunakan, maka tambahkan sudo sebagai gantinya. Minimum spesifikasi PHP yang di dukung adalah 7.3, di sini kita menggunakan php7.4.
Install LibreNMS di Ubuntu
# apt install software-properties-common
# add-apt-repository universe
# apt update
# apt install acl curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-gmp php7.4-json php7.4-mbstring php7.4-mysql php7.4-snmp php7.4-xml php7.4-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip
Add librenms user
# useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
Download LibreNMS
# cd /opt
# git clone https://github.com/librenms/librenms.git
Set permissions
# 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/
Install PHP dependencies
# su - librenms
# ./scripts/composer_wrapper.php install --no-dev
# exit
Terkadang ketika penggunaan proxy untuk meningkatkan akses internet, script diatas gagal. Untuk dapat digunakan pasang package composer sercara manual. Untuk semua instalasi:
# wget https://getcomposer.org/composer-stable.phar
# mv composer-stable.phar /usr/bin/composer
# chmod +x /usr/bin/composer
Atur zona waktu
Lihat https://php.net/manual/en/timezones.php untuk melihat daftar timezone yang tersedia.
# vi /etc/php/7.4/fpm/php.ini
# vi /etc/php/7.4/cli/php.ini
Ingatlah untuk mengubah zona waktu seperti ini.
# timedatectl set-timezone Asia/Jakarta
Konfigurasi MariaDB
# vi /etc/mysql/mariadb.conf.d/50-server.cnf
Pada bagian [mysqld] tambahkan:
innodb_file_per_table=1
lower_case_table_names=0
Lalu restart mariadb
# systemctl enable mariadb
# systemctl restart mariadb
Login ke mariadb mysql -u root
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
exit
Konfigurasi PHP-FPM
# cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf
# vi /etc/php/7.4/fpm/pool.d/librenms.conf
Ganti [www]
ke [librenms]
Ganti user dan group ke librenms
user = librenms
group = librenms
Ubah listen dengan nama yang unik:
listen = /run/php-fpm-librenms.sock
Jika tidak ada web application pada server ini, Anda dapat menghapus www.conf untuk menambahkan beberapa resources. Tuning pada pengaturan performa di librenms.conf.
Konfigurasi Web Server
# vi /etc/nginx/conf.d/librenms.conf
Tambahkan pada konfigurasi, sesuaikan server_name
:
server {
listen 80;
server_name librenms.example.com;
root /opt/librenms/html;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ [^/].php(/|$) {
fastcgi_pass unix:/run/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+.php)(/.+)$;
include fastcgi.conf;
}
location ~ /.(?!well-known).* {
deny all;
}
}
# rm /etc/nginx/sites-enabled/default
# systemctl restart nginx
# systemctl restart php7.4-fpm
Hidupkan perintah lnms
Fitur ini memberi Anda kesempatan untuk menggunakan dalam penyelesaian perintah lnms seperti melakukan pada perintah normal pada linux.
# ln -s /opt/librenms/lnms /usr/bin/lnms
# cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
Konfigurasi snmpd
# cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
# vi /etc/snmp/snmpd.conf
Ubah teks RANDOMSTRINGGOESHERE
dan ubah pada komunitas milik Anda.
# 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
Cron Job
# cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Salin konfigurasi logrotate
# cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Web Installer
Sekarang ikuti intruksi pada layar dan akses http://librenms.example.com/install atau situs Anda. Web installer menanyakan pada Anda untuk membuat berkas config.php pada lokasi librenms secara manual. Salin konten pada layar ke berkas yang telah di buat. Jangan lupa untuk mengganti permissions pada berkas dengan perintah :
# chown librenms:librenms /opt/librenms/config.php
Terakhir
Disini anda sudah dapat menggunakan librenms sebagai monitoring dengan login pada http://librenms.example.com/ atau link yang sudah Anda atur.
Kami sebagai penyedia jasa dapat membantu Anda untuk memasang server serta monitoring. Untuk menjaga trafik, sistem, dan keamanan agar tetap aman tanpa perlu repot memanajemen pada sistem. Anda dapat menghubungi kami pada halaman kontak atau dapat melalui tombol di bawah ini.
Share postingan ini ke teman – teman kamu agar mereka tahu apa yang kamu tahu