Version 35 (modified by 4 years ago) ( diff ) | ,
---|
This will guide you through installing LibreNMS setup on Ubuntu 20.04 LTS server with NGINX running as the web server.
sudo su
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-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
Adding user into LibreNMS
useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
Change the directory to
cd /opt
Then run this script
git clone https://github.com/librenms/librenms.git
After that, Setting Permission for LibreNMS
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/
su - librenms
./scripts/composer_wrapper.php install --no-dev
exit
If this script fails, The workaround is to install the composer package manually.
In this link you can select your timezone https://php.net/manual/en/timezones.php (Asia/ Colombo)
Ensure date.timezone is set in php.ini to your preferred time zone. (you can use nano or vi to edit)
vi /etc/php/7.4/fpm/php.ini
vi /etc/php/7.4/cli/php.ini
set the time zone
timedatectl set-timezone Etc/UTC
(Asia/ Colombo)
;date.timezone = Asia/Colombo (remove ";" and add Asia/ Colombo)
Use vi or nano to edit
vi /etc/mysql/mariadb.conf.d/50-server.cnf
Add these within the [mysqld]
innodb_file_per_table=1
lower_case_table_names=0
after adding the above lines, save and exit. Then, enable and restart the DB
systemctl enable mariadb
systemctl restart mariadb
loggin to the db
mysql -u root
now you have to create a database for LibreNMS
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
Change [www] to [librenms]
[librenms]
Change user and group to "librenms":
user = librenms
group = librenms
Change listen to a unique name:
listen = /run/php-fpm-librenms.sock
vi /etc/nginx/conf.d/librenms.conf
edit server_name as required:
restart nginx and php
rm /etc/nginx/sites-enabled/default
systemctl restart nginx
systemctl restart php7.4-fpm
ln -s /opt/librenms/lnms /usr/bin/lnms
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
vi /etc/snmp/snmpd.conf
RANDOMSTRINGGOESHERE and set your own community string
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
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
LibreNMS keeps logs in /opt/librenms/logs. Over time these can become large and be rotated out. To rotate out the old logs you can use the provided logrotate config file:
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
chown librenms:librenms /opt/librenms/config.php
sudo su - librenms
./validate.php
Download all attachments as: .zip