Страницы

23 апреля 2019 г.

LibreNMS. Установка LibreNMS (Ubuntu 18.04 + Apache)

Установить Ubuntu Server 18.04.

Настроить статический IP-адрес.
Изменить конфигурационный файл:
sudo nano /etc/netplan/02-networkd.yaml
Имя файла 02-networkd.yaml может быть другим.
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: no
addresses: 10.1.1.10/24
gateway4: 10.1.1.1
nameservers:
addresses: 10.1.1.1, 8.8.8.8
Название сетевого интерфейса enp3s0 может быть другим, например eth0.

Установить рекомендуемые пакеты
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

Внимание! Минимальная поддерживаемая версия PHP 7.1.3

Создать пользователя librenms и добавить в группу www-data
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data

Установить LibreNMS
cd /opt
composer create-project --no-dev --keep-vcs librenms/librenms librenms dev-master

Настроить MySQL
systemctl restart mysql
mysql -uroot -p

Изменить 'password' на надежный пароль
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

Открыть файл 50-server.cnf
nano /etc/mysql/mariadb.conf.d/50-server.cnf

В разделе [mysqld] добавить:
innodb_file_per_table=1
lower_case_table_names=0

Перезапустить mysql
systemctl restart mysql

НастроитьWeb сервер
Убедиться что date.timezone в php.ini соответствует нужной временной зоне. 
Например, "Asia/Yekaterinburg".
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

Настройка Apache
nano /etc/apache2/sites-available/librenms.conf

Добавить в конфиг нужное имя сервера, например librenms.example.com:
<VirtualHost *:80>
  DocumentRoot /opt/librenms/html/
  ServerName  librenms.example.com

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

Если это единственный сайт на сервере, необходимо отключить страницу по умолчанию:
a2dissite 000-default

a2ensite librenms.conf
a2enmod rewrite
systemctl restart apache2

Настройка snmpd
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
vi /etc/snmp/snmpd.conf

Изменить в файле строку RANDOMSTRINGGOESHERE на свое название сообщества для snmp

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

Настройка Cron
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

Внимание! Желательно скопировать конфигурацию logrotate. 
LibreNMS ведет логи в /opt/librenms/logs. Со временем они могут стать большими. Чтобы свернуть старые журналы, можно использовать предоставленный файл конфигурации logrotate:
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Установить разрешения
chown -R librenms:librenms /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/

Web установщик
Перейти к веб-установщику и следовать инструкциям на экране.
http://librenms.example.com/install.php

В завершении настройки веб-установщик предложит создать config.php файл в месте установки librenms вручную, скопировав содержимое, отображаемое на экране, в файл. После этого установить разрешения для config.php.
chown librenms:librenms /opt/librenms/config.php

Теперь можно войти на http://librenms.example.com/

Внимание! В этом примере не рассмотрена настройка HTTPS, поэтому установка LibreNMS по умолчанию не является безопасной. Не стоит открывать LibreNMS общедоступному Интернету, если не настроен HTTPS.

Добавить первое устройство
Рекомендуется добавить localhost (127.0.0.1) в качестве первого устройства из WebUI.

Комментариев нет:

Отправить комментарий