Installing and configuring is fairly easy task, if you carefully follow our guide below.
1. Update the system
Login to your server via SSH as user root
ssh root@IP_Address
and update all installed packages
apt-get update && apt-get upgrade
2. Install Apache web server
Run the following command to install Apache web server on your Ubuntu 16.04 VPS
apt-get -y install apache2
Once the web server is installed, start it and enable it to start on boot
systemctl start apache2 systemctl enable apache2
Create Apache virtual host with the following content
nano /etc/apache2/sites-available/librenms.conf <VirtualHost *:80> DocumentRoot /opt/librenms/html/ ServerName yourdomain.com AllowEncodedSlashes NoDecode <Directory "/opt/librenms/html/"> Require all granted AllowOverride All Options FollowSymLinks MultiViews </Directory> </VirtualHost>
enable the virtual host and restart Apache for the changes to take effect
a2ensite librenms.conf a2enmod rewrite systemctl restart apache2
3. Install and configure MariaDB server
Install MariaDB server, start it and enable it to start automatically at system boot
apt-get install -y mariadb-client mariadb-server systemctl start mysql systemctl enable mysql
Next, run the mysql_secure_installation
post installation script to secure the MariaDB server and set root password.
Now, login to the MariaDB server as user root and create a new user and database for the LibreNMS installation
MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci; MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'PASSWORD'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit
Don’t forget to replace ‘PASSWORD’ with an actual strong password.
Open the MariaDB configuration file and add the following lines under [mysqld]
section
nano /etc/mysql/mariadb.conf.d/50-server.cnf innodb_file_per_table=1 sql-mode="" lower_case_table_names=0
Restart MariaDB for the changes to take effect.
systemctl restart mysql
4. Install PHP 7
LibreNMS is a PHP based application, so we have to install PHP too. Run the following command to install PHP 7 and some additional PHP modules required by LibreNMS
apt-get install php7.0-cli php7.0-curl php7.0-gd php7.0-json php7.0-mcrypt php7.0-mysql php7.0-snmp php7.0-xml php7.0-zip libapache2-mod-php7.0
5. Install additional required packages
Install the following packages required by LibreNMS
apt-get install composer fping git graphviz imagemagick mtr-tiny nmap python-memcache python-mysqldb rrdtool snmp snmpd whois
6. Install and configure LibreNMS
Create a system user under which LibreNMS will run, and set the its home directory to /opt/librenms
useradd librenms -d /opt/librenms -M -r usermod -a -G librenms www-data
Clone the LibreNMS source code through Git.
cd /opt/ git clone https://github.com/librenms/librenms.git librenms
set the correct permission to the librenms directory
chown -R librenms:librenms /opt/librenms
To configure snmpd, copy the example configuration file
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Open the snmpd.conf file, edit the RANDOMSTRINGGOESHERE line and set your own community string.
Next, download the snmpd distro detection script
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
make it executable and restart the service
chmod +x /usr/bin/distro systemctl restart snmpd
Now, copy the cron script provided by LibreNMS to the ‘/ect/cron.d’ directory.
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Copy the logrotate script too, in order to rotate the old logs
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
7. Finalize the installation
Finally, go to http://yourdomain.com/install.php and follow the on-screen instructions to complete the LibreNMS installation.