Pondok Jati II Blok AS-31 Kab. Sidoarjo
+628113219992
informasi@generalsolusindo.com

Cara Install LibreNMS di Ubuntu 20.04

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.

Cara Install LibreNMS di Ubuntu 20.04

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

Leave a Reply

Your email address will not be published. Required fields are marked *