LIBRENMS: Instalación Ubuntu 18.04

LibreNMS es un monitoreo de red basado en PHP / MySQL / SNMP de detección automática para múltiples equipos incluyendo CISCO.

NOTA: Estas instrucciones asumen que se esta en el usuario root de la máquina

Instalar paquetes requeridos

apt install software-properties-common
add-apt-repository universe
apt update
apt install curl apache2 composer fping git graphviz imagemagick libapache2-mod-php7.2 mariadb-client mariadb-server mtr-tiny nmap php7.2-cli php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-snmp php7.2-xml php7.2-zip python-memcache python-mysqldb rrdtool snmp snmpd whois

Añadir usuario de librenms

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data

Descargar LibreNMS

cd /opt
git clone https://github.com/librenms/librenms.git

cp -r /opt/librenms /var/www/html/
cd /var/www/html

Dar permisos

chown -R librenms:librenms /var/www/html/librenms
chmod 770 /var/www/html/
setfacl -d -m g::rwx /var/www/html/librenms/rrd /var/www/html/librenms/logs /var/www/html/librenms/bootstrap/cache/ /var/www/html/librenms/storage/
setfacl -R -m g::rwx /var/www/html/librenms/rrd /var/www/html/librenms/logs /var/www/html/librenms/bootstrap/cache/ /var/www/html/librenms/storage/

Instalar dependencias de PHP

su - librenms
./scripts/composer_wrapper.php install --no-dev
exit

Configurar Base de Datos

systemctl restart mysql
mysql -uroot -p

NOTA: Cambie los datos que vienen por defecto

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
exit;
nano /etc/mysql/mariadb.conf.d/50-server.cnf

En la sección [mysqld] agregue:

innodb_file_per_table=1
lower_case_table_names=0

systemctl restart mysql

Configuración de PHP

Asegurarse de establecer el timezone en el archivo php.ini

nano /etc/php/7.2/apache2/php.ini
nano /etc/php/7.2/cli/php.ini

a2enmod php7.2
a2dismod mpm_event
a2enmod mpm_prefork

Configurar Apache

nano /etc/apache2/sites-available/librenms.conf

Añadir lo siguiente en el archivo

<VirtualHost *:80>
  DocumentRoot /var/www/html/librenms/html
  ServerName  librenms.example.com

  AllowEncodedSlashes NoDecode
  <Directory "/var/www/html/librenms/html/">
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
  </Directory>
</VirtualHost>

Si este es el único sitio que el servidor esta hosteando, entonces se puede deshabilitar el sitio por defecto a2dissite 000-default

a2ensite librenms.conf
a2enmod rewrite
systemctl restart apache2

Configurar snmpd

Editar el texto que dice RANDOMSTRINGGOESHERE y establezca el nombre de su comunidad

cp /var/www/html/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
nano /etc/snmp/snmpd.conf

Descargue el agente de snmp y reinicie el servicio

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd

Copiar los siguientes archivos necesarios

cp /var/www/html/librenms/librenms.nonroot.cron /etc/cron.d/librenms

cp /var/www/html/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Antes de acceder al medio de instalación web se debe dar los permisos a la carpeta de /logs

cd /librenms
chmod 777 /logs

Acceder a la configuración Web

Entrar al navegador y colocar la dirección http://librenms.example.com/install.php