NGINX
apt install acl curl fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysql php-snmp php-xml php-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip
Tambahkan user librenms
. (direkomendasikan pindah dulu ke shell bash)
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 dependensi PHP. (gunakan shell bash, jika ditanya password tekan enter saja)
su - librenms
./scripts/composer_wrapper.php install --no-dev
exit
Saat ini kita sedang berada di user librenms, ketik exit untuk keluar kembali menjadi user root.
Set timezone FPM.
nano /etc/php/8.1/fpm/php.ini
Ubah baris ;date.timezone =
menjadi:
date.timezone = Asia/Jakarta
Set timezone CLI.
nano /etc/php/8.1/cli/php.ini
Ubah baris ;date.timezone =
menjadi:
date.timezone = Asia/Jakarta
*Catatan: pastikan menghapus komentar atau tanda ;
Sete timezone system.
timedatectl set-timezone Asia/Jakarta
Konfigurasi MariaDB
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Pada bagian[mysqld]
tambahkan:
innodb_file_per_table=1
lower_case_table_names=0
Sehingga menjadi seperti berikut:
Restart service MariaDB.
systemctl enable mariadb
systemctl restart mariadb
Jalankan secure instlasai mariadb, caranya bisa dilihat Disini
Buat database untuk librenms, login kedalam mysql.
mysql -u root -p
Buat database.
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Buat user.
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
Berikan izin.
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
exit;
Konfigurasi PHP-FPM.
Salin konfigurasi.
cp /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/librenms.conf
Edit.
nano /etc/php/8.1/fpm/pool.d/librenms.conf
Ubah [www]
menjadi [librenms]
:
[librenms]
Sehingga menjadi seperti ini.
Ubah user
and group
menjadi “librenms”:
Dari
user = www-data
group = www-data
Menjadi
user = librenms
group = librenms
Sehingga menjadi seperti ini:
Ubah parameter listen.
Dari
listen = /run/php/php8.1-fpm.sock
Menjadi
listen = /run/php-fpm-librenms.sock
SAVE.
Konfigurasi Web Server.
Buat VirtualBlock
nano /etc/nginx/conf.d/librenms.conf
Isikan seperti berikut:
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;
}
}
Hapus konfigurasi default NGINX (optional) atau disable juga bisa.
rm /etc/nginx/sites-enabled/default
Restart NGINX.
systemctl restart nginx
Restart PHP.
systemctl restart php8.1-fpm
Enable lnms command completion
ln -s /opt/librenms/lnms /usr/bin/lnms
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
Konfigurasi SNMPD
Salin file konfigurasi.
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Edit.
nano /etc/snmp/snmpd.conf
Sesuaikan comunity dengan community yang digunakan.
Belum dipelajari yang penting jalan dulu. wkwk
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
Buat cronjob.
Salin dari template yang sudha ada.
cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms
Aktifkan scheduler.
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
Copy logrotate config
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Jalankan Web installer
Buka halaman http://librenms.example.com/install (Sesuaikan dengan VirtualBlock yang kamu buat)
Pastikan semuanya sudah OK.
Di konfigurasi database, sesuaikan dengan database yang telah kita buat di mysql tadi.
Pastikan sudah oke dan klik Build Database
.
Pastikan hasilnya sudah oke semua.
Di menu ini buat akun/user admin
Hasil setelah membuat user/akun.
Selanjutnya konfigurasi tambahan mengenai update channel dan tema.
Direkomendasikan update channel menggunakan monthly agar update dilakukan secara 1 bulan sekali.
Setelah klik Finish Install.
Setelah instalasi selesai akan diarahkan ke halaman login, masuk dengan akun/user yang telah kita buat tadi.
Setelah instalasi selesai ubah permissions.
chown librenms:librenms /opt/librenms/config.php
Troubleshoot
Mengubah base URL
lnms config:set base_url http://librenms.kingpolah.net:8098/
Sumber/referensi:
https://docs.librenms.org/Installation/Docker/