Гид по технологиям

Установка LibreNMS на Ubuntu 20.04

• 5 min read • Сеть • Обновлено 26 Nov 2025
Установка LibreNMS на Ubuntu 20.04
Установка LibreNMS на Ubuntu 20.04

Введение

Скриншот: логотип LibreNMS

LibreNMS — свободный и открытый инструмент мониторинга сети для Linux. Он автоматически обнаруживает устройства по протоколам SNMP, ARP, CDP, FDP, LLDP, OSPF и BGP и отображает данные через удобный веб‑интерфейс. Поддерживаются серверы и устройства: Linux, Windows, FreeBSD, Cisco, Juniper, Brocade и многие другие.

Важно: это руководство ориентировано на Ubuntu 20.04 и предполагает базовые навыки работы в командной строке и с системным администрированием.

Основные варианты запроса (SEO intent)

  • установить LibreNMS на Ubuntu 20.04
  • LibreNMS установка Ubuntu
  • настройка LibreNMS SNMP Nginx MariaDB
  • руководство по установке LibreNMS

Краткий план действий

  1. Обновить систему и установить зависимости
  2. Установить LEMP (Nginx, MariaDB, PHP)
  3. Настроить MariaDB и создать базу
  4. Установить LibreNMS, настроить SNMP и права
  5. Настроить Nginx и получить доступ к веб‑установке
  6. Завершить настройку через веб‑интерфейс и применить меры безопасности

Предварительные требования

  • Сервер с Ubuntu 20.04.
  • Доступ root или пользователь с sudo.

Подготовка системы

Сначала обновите списки пакетов:

apt-get update -y

Установите необходимые зависимости:

apt-get install rrdtool whois fping imagemagick graphviz mtr-tiny nmap python3-mysqldb snmp snmpd python3-pip python3-memcache mtr-tiny acl unzip git curl wget -y

После установки зависимостей приступайте к установке LEMP‑стека.

Установка LEMP (Nginx, MariaDB, PHP)

Установите Nginx, MariaDB и необходимые PHP‑модули:

apt-get install nginx mariadb-server php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-bcmath php-imap php-json php-xml php-snmp php-fpm php-zip -y

Настройте часовой пояс для PHP. Узнайте системный часовой пояс:

cat /etc/timezone

Откройте файлы php.ini для PHP‑FPM и CLI и установите date.timezone:

nano /etc/php/7.4/fpm/php.ini
nano /etc/php/7.4/cli/php.ini

Добавьте/измените строку:

date.timezone = Etc/UTC

Перезапустите PHP‑FPM:

systemctl restart php7.4-fpm

Настройка базы данных MariaDB

Войдите в консоль MariaDB:

mysql

Создайте базу данных и пользователя (замените пароль на надёжный):

MariaDB [(none)]> create database librenmsdb CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> grant all privileges on librenmsdb.* to librenms@localhost IDENTIFIED by "password";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Отредактируйте конфигурацию MariaDB:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Добавьте в секцию [mysqld]:

innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

Перезапустите MariaDB:

systemctl restart mariadb

Важно: пароль пользователя базы данных должен быть сложным и храниться в защищённом хранилище.

Установка и настройка LibreNMS

Создайте системного пользователя для LibreNMS и назначьте группы:

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

Скачайте LibreNMS в /opt:

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

Создайте лог‑файл:

touch /opt/librenms/logs/librenms.log

Скопируйте пример конфигурации snmpd и отредактируйте её:

cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
nano /etc/snmp/snmpd.conf

Найдите строку:

com2sec readonly  default RANDOMSTRINGGOESHERE

и замените на вашу community‑строку:

com2sec readonly  default mysnmpserverkey

Установите утилиту distro для выбора дистрибутива в агентах:

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

Перезапустите SNMP:

systemctl restart snmpd

Скопируйте cron и logrotate файлы LibreNMS:

cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Установите PHP‑зависимости через composer wrapper:

cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev

Установите владельца и права для каталогов:

chown -R www-data:librenms /opt/librenms
chmod -R 775 /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/

Примечание: если setfacl не доступен, установите пакет acl.

Настройка Nginx для LibreNMS

Создайте виртуальный хост:

nano /etc/nginx/conf.d/librenms.conf

Вставьте конфигурацию (замените server_name на ваш домен):

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 /api/v0 {
  try_files $uri $uri/ /api_v0.php?$query_string;
 }
 location ~ \.php {
  include fastcgi.conf;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
 }
 location ~ /\.ht {
  deny all;
 }
}

Проверьте синтаксис Nginx и перезапустите сервис:

nginx -t
systemctl restart nginx
systemctl status nginx

Доступ к веб‑интерфейсу и завершение установки

Откройте в браузере http://librenms.example.com. Вы увидите страницу предварительной проверки.

Проверка перед установкой

Перейдите в настройки базы данных и введите параметры, которые вы создали ранее:

Настройка базы данных

Если проверка пройдена, нажмите «Build Database», затем создайте административного пользователя через форму:

Создание базы данных

Создание администратора

После успешной установки завершите и проверьте доступ на страницу входа:

Установка завершена

Проверка завершения

Вход LibreNMS

После входа вы попадёте в дашборд LibreNMS:

Окно конфигурации LibreNMS

Проверочный список после установки

  • Убедиться, что веб‑интерфейс доступен и можно войти под администратором
  • Проверить, что cron‑задачи LibreNMS работают (отправка событий, опрос устройств)
  • Убедиться, что SNMPd отвечает и устройства добавляются в автодискавери
  • Проверить права на каталоги rrd, logs, storage
  • Сделать резервную копию конфигурации и базы данных

Важно: обязательно измените пароли по умолчанию и закройте доступ к административным страницам извне, если это необходимо.

Рекомендации по безопасности

  • Настройте HTTPS (Let’s Encrypt) и перенаправление 80 → 443.
  • Ограничьте доступ к веб‑админке по IP (если применимо).
  • Соблюдайте принцип наименьших привилегий для учетных записей базы данных.
  • Регулярно обновляйте LibreNMS и пакеты ОС.
  • Настройте мониторинг логов и оповещения об аномалиях.

Пример настройки автоматического получения сертификатов (Certbot):

apt-get install certbot python3-certbot-nginx -y
certbot --nginx -d librenms.example.com

План обновления и отката (мини‑SOP)

  1. Перед обновлением: сделать резервную копию /opt/librenms, конфигурации Nginx и дамп базы данных.
  2. Перевести систему в режим обслуживания (уведомить пользователей).
  3. Выполнить git pull в /opt/librenms и ./scripts/composer_wrapper.php install –no-dev.
  4. Запустить проверку ./validate.php (если доступен) и выполнить миграции базы данных.
  5. Если что‑то пошло не так: восстановить файлы и импортировать дамп базы.

Ключевые команды для резервного копирования:

mkdir -p /root/backup/librenms
tar czf /root/backup/librenms/librenms-$(date +%F).tar.gz /opt/librenms
mysqldump -u librenms -p librenmsdb > /root/backup/librenms/librenmsdb-$(date +%F).sql

Типичные ошибки и способы их устранения

  • Ошибка 502 Bad Gateway после установки PHP‑FPM: проверьте путь к сокету в конфигурации Nginx (/var/run/php/php7.4-fpm.sock) и статус php7.4-fpm.
  • Ошибки прав доступа к rrd/logs: проверьте владельца www‑data:librenms и ACL.
  • Проблемы с подключением к MariaDB: убедитесь, что база создана, пользователь имеет права и MariaDB слушает локальные соединения.
  • SNMP не отвечает: проверьте /etc/snmp/snmpd.conf и что сервис snmpd запущен.

Контроль приёмки

Критерии приёмки:

  • Веб‑интерфейс доступен по HTTPS (если настроено).
  • Пользователь‑администратор создан и может войти.
  • LibreNMS успешно подключается к базе данных и прошёл предварительную проверку.
  • Cron‑задания запускаются без ошибок в логах.

Роли и обязанности (кто что делает)

  • Системный администратор: установка ОС, настройка сети, бэкапы, безопасность сервера.
  • DBA/DevOps: настройка MariaDB, бэкап/восстановление, оптимизация инстанса базы.
  • Сетевой инженер: настройка SNMP на устройствах, добавление устройств в LibreNMS.
  • Оператор/поддержка: мониторинг оповещений, регулярная проверка доступности и работоспособности.

Мини‑шпаргалка команд (Cheat sheet)

  • Перезапуск служб:
systemctl restart nginx
systemctl restart php7.4-fpm
systemctl restart mariadb
systemctl restart snmpd
  • Проверка логов:
journalctl -u nginx -e
tail -f /opt/librenms/logs/librenms.log

Короткий список улучшений и альтернатив

  • Если вы используете Ubuntu 22.04 или более новые версии PHP, адаптируйте пути к php.ini и сокет php‑fpm.
  • Для небольших сетей подходит LibreNMS; для крупной среды можно рассмотреть платные коммерческие наборы с поддержкой SLA.

1‑строчный глоссарий

  • SNMP — протокол для сбора сетевого мониторинга.
  • LEMP — Linux, Nginx (Engine‑X), MySQL/MariaDB, PHP.
  • RRD — формат хранения временных рядов (Round Robin Database).

Заключение

Поздравляем — вы установили и настроили LibreNMS на Ubuntu 20.04. Добавьте устройства, настройте оповещения и регулярно обновляйте систему. Если возникнут вопросы, опишите проблему, какие шаги вы уже выполняли и какие логи показывают ошибки.

Сводка:

  • Установка включает подготовку ОС, зависимостей, базу данных, права, SNMP и Nginx.
  • Обязательно настроить HTTPS и регулярные бэкапы.
  • Используйте контрольный список и план отката перед обновлениями.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро