Мониторинг. · 9 min read · Nov 03, 2025
Как установить инструмент мониторинга LibreNMS с Nginx на CentOS 7
LibreNMS — это инструмент мониторинга с открытым исходным кодом, основанный на PHP/MYSQL/SNMP. Это полнофункциональная система мониторинга сети, которая поддерживает широкий спектр сетевого оборудования и операционных систем, включая FreeBSD, Cisco, Linux, HP и другие.
В этом руководстве мы покажем вам, как установить и настроить LibreNMS, используя Nginx в качестве веб-сервера и MariaDB в качестве базы данных. Мы будем использовать сервер CentOS 7 в качестве нашего основного сервера.
Что мы будем делать
- Установить необходимые пакеты
- Установить веб-сервер Nginx
- Установить и настроить PHP-FPM
- Установить и настроить MariaDB
- Скачать и настроить LibreNMS
- Веб-установка LibreNMS
- Финальная конфигурация
Предварительные требования
- Сервер CentOS 7
- Привилегии root
Шаг 1 - Установить необходимые пакеты
Перед установкой LibreNMS на сервер необходимо установить некоторые пакеты, включая ImageMagick, rrdtool, SNMP, git и другие. Следующая команда должна сделать это:
yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping gitЕсли все прошло хорошо, переходите к следующему шагу.
Шаг 2 - Установить веб-сервер Nginx
На этом шаге мы установим epel-repository для установки веб-сервера nginx. Репозиторий EPEL (Extra Packages for Enterprise Linux) — это дополнительный репозиторий для ОС на базе rpm, включая CentOS 7.
Установите репозиторий EPEL с помощью команды yum ниже.
yum -y install epel-releaseТеперь установите nginx.
yum -y install nginxПосле установки nginx запустите службу и включите ее для автоматического запуска при загрузке с помощью следующих команд systemctl.
systemctl start nginx
systemctl enable nginxТаким образом, веб-сервер Nginx был установлен в системе из репозитория EPEL.

Шаг 3 - Установить и настроить PHP-FPM
Перед тем как продолжить, вот некоторая информация, которую стоит поделиться:
Мы будем использовать PHP-FPM версии 7 для установки LibreNMS. Все пакеты PHP 7 для CentOS 7 доступны в стороннем репозитории, и мы будем использовать версию PHP 7 из репозитория ‘webtatic’.
Итак, давайте начнем.
Добавьте репозиторий PHP 7 webtatic в систему с помощью следующей команды rpm.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmУстановите PHP 7 и все необходимые расширения из репозитория wetatic с помощью yum.
yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcryptТеперь обновите репозиторий PEAR и установите некоторые расширения PEAR (PHP Extension and Application Repository) с помощью команды pear.
pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2
Таким образом, вы можете установить все необходимые пакеты PHP.
Далее, настройте PHP-FPM для установки LibreNMS. Нам нужно определить часовой пояс по умолчанию в файле php.ini и убедиться, что часовой пояс совпадает с текущим часовым поясом, используемым системой. Вы можете проверить текущий часовой пояс, используемый вашей системой, с помощью следующей команды.
timedatectlСледующий скриншот показывает выполнение вышеуказанной команды:

Итак, мы используем часовой пояс ‘Europe/Paris‘.
Теперь отредактируйте файл ‘/etc/php.ini’ с помощью vim.
vim /etc/php.iniЗатем раскомментируйте строку ‘date.timezone’ и задайте значение с часовым поясом сервера ‘Europe/Paris’.
data.timezone = Europe/ParisАналогично, раскомментируйте строку cgi и измените значение на ‘0‘.
cgi.fix_pathinfo=0Вот и все. Теперь сохраните изменения и выйдите из редактора.
Далее, нам нужно определить, как PHP-FPM работает в системе. В нашем случае PHP-FPM будет работать под файлом ‘sock’ вместо порта сервера.
Отредактируйте файл ‘www.conf’ с помощью vim, чтобы настроить PHP-FPM.
vim /etc/php-fpm.d/www.confИзмените строку порта ‘listen’ на файл sock следующим образом.
listen = /var/run/php-fpm/php7.0-fpm.sockРаскомментируйте строку ‘listen’ для владельца, группы и разрешения файла sock, как показано в конфигурации ниже.
listen.owner = nginx
listen.group = nginx
listen.mode = 0660Вот и все. Теперь сохраните изменения и выйдите из редактора.
Таким образом, конфигурация PHP-FPM завершена. Запустите службу и включите ее для автоматического запуска при загрузке с помощью следующих команд.
systemctl start php-fpm
systemctl enable php-fpmТеперь PHP-FPM работает под файлом sock. Вы можете проверить это с помощью команды netstat.
netstat -pl | grep phpУбедитесь, что у вас есть результат файла ‘/var/run/php-fpm/php7.0-fpm.sock’.
Шаг 4 - Установить и настроить MariaDB
LibreNMS использует базу данных MySQL для хранения всех данных. Для этого руководства мы будем использовать версию базы данных MariaDB. Она доступна в репозитории, и нам нужно установить и добавить некоторые конфигурации для установки LibreNMS, включая добавление базы данных и пользователя для LibreNMS.
Установите MariaDB с помощью команды yum ниже.
yum -y install mariadb mariadb-serverЗапустите службу MariaDB и включите ее для автоматического запуска при загрузке.
systemctl start mariadb
systemctl enable mariadb
Теперь настройте пароль root для MariaDB с помощью команды ‘mysql_secure_installation’ ниже.
mysql_secure_installationВас спросят о новом пароле root для базы данных MariaDB, а также о некоторых других вопросах.
Введите ‘Y’ и нажмите Enter для подтверждения.
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] YИтак, MariaDB была установлена. Теперь нам нужно создать новую базу данных и нового пользователя для LibreNMS. Войдите в командную строку mysql с помощью клиента mysql и с вашим новым паролем.
mysql -u root -pСоздайте новую базу данных с именем ‘librenms‘, нового пользователя ‘librenms‘ с паролем ‘hakase-labs123‘.
Создайте все это с помощью следующих запросов MySQL.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;Новый пользователь и база данных для установки LibreNMS были созданы.

Теперь вам нужно отредактировать файл my.cnf, чтобы добавить новую конфигурацию mysql. Отредактируйте файл ‘/etc/my.cnf’ с помощью vim.
vim /etc/my.cnfВставьте следующую дополнительную конфигурацию в раздел ‘[mysqld]‘.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0Сохраните и выйдите из vim, а затем перезапустите сервер mariadb.
systemctl restart mariadb
Шаг 5 - Скачать и настроить LibreNMS
На этом шаге мы настроим систему для установки LibreNMS.
- Добавить пользователя и скачать исходный код LibreNMS
Создайте нового системного пользователя с именем ‘librenms’, затем определите домашний каталог для пользователя в каталоге ‘/opt/librenms’, и, наконец, добавьте пользователя ‘librenms’ в группу ‘nginx’.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginxПерейдите в каталог ‘/opt/‘ и скачайте исходный код LibreNMS с помощью команды git clone ниже.
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
Создайте новый каталог для логов и файлов rrd LibreNMS.
mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/Теперь измените владельца всех файлов и каталогов в каталоге ‘/opt/librenms’ на пользователя и группу ‘librenms’.
chown -R librenms:librenms /opt/librenms/
- Настроить виртуальный хост LibreNMS
LibreNMS — это веб-приложение, и мы используем веб-сервер Nginx для его размещения.
Создайте новый файл виртуального хоста ‘librenms.conf’ в каталоге конфигурации nginx ‘conf.d’.
vim /etc/nginx/conf.d/librenms.confВставьте конфигурацию ниже.
server {
# Добавьте свое собственное доменное имя
listen 80;
server_name librenms.irsyadf.me;
# Корневая директория LibreNMS
root /opt/librenms/html;
index index.php;
# Логи LibreNMS
access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;
# Включение сжатия Gzip на Nginx
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;
}
# PHP-FPM обрабатывает все запросы .php
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}Вот и все. Теперь сохраните и выйдите из Vim.
Проверьте конфигурацию nginx и убедитесь, что нет ошибок. Затем перезапустите веб-сервер.
ginx -t
systemctl restart nginx- Конфигурация Firewalld
Убедитесь, что пакеты firewalld установлены на вашей системе. Если нет, вы можете установить firewalld с помощью следующей команды yum.
yum -y install firewalldЗапустите firewalld и включите его для автоматического запуска при загрузке с помощью следующих команд systemctl.
systemctl start firewalld
systemctl enable firewalld
Откройте новый HTTP, HTTPS и SNMP порт 161/udp с помощью команды firewall-cmd, как показано ниже.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp --permanentПримените конфигурацию, перезагрузив firewalld, и проверьте все службы.
firewall-cmd --reload
firewall-cmd --list-allУбедитесь, что службы HTTP и HTTPS находятся в списке.
Шаг 6 - Веб-установка LibreNMS
Откройте веб-браузер и введите URL LibreNMS в адресной строке.
http://librenms.hakase-labs.me/
Вы будете перенаправлены на страницу установки ‘install.php’.
- Проверьте поддержку модулей PHP
Убедитесь, что все необходимые модули и расширения php установлены в системе.

Затем нажмите ‘Next Stage’, чтобы продолжить.
- Конфигурация базы данных
Введите данные базы данных ниже:
- Пользователь БД: ‘librenms‘
- Имя БД: ‘librenms‘
- Пароль БД: ‘hakase-labs123‘

И нажмите ‘Next Stage’, чтобы продолжить.
- Импорт базы данных MySQL
Не закрывайте страницу установки, так как она будет отображать импорт базы данных. Убедитесь, что нет ошибок.

Когда процесс завершится, нажмите ‘Goto Add User’, чтобы добавить нового администратора.
- Добавить администратора
Введите имя вашего администратора, электронную почту и пароль.

Нажмите ‘Add User’, чтобы продолжить установку.
- Сгенерировать файл конфигурации

Нажмите кнопку ‘Generate Config’, и вы увидите страницу, похожую на следующую.

Скопируйте php-код, который там есть в окне, и создайте новый файл ‘config.php’ в каталоге ‘/opt/librenms/‘.
cd /opt/librenms/
vim config.phpВставьте в новый файл код, который вы только что скопировали, затем сохраните и выйдите из редактора. Теперь измените права доступа к файлу config.php на пользователя и группу ‘librenms’.
chown librenms:librenms config.php
Вернитесь в браузер и нажмите кнопку ‘Finish Install’, которая находится внизу страницы. Вы увидите приветственное сообщение, похожее на следующее.

На этом этапе мы завершили веб-установку. Вернитесь в терминал/консоль и добавьте больше конфигураций.
Шаг 7 - Финальная конфигурация
На этом шаге мы добавим некоторые конфигурации для нашей установки LibreNMS.
- Определить команду fping
Определите команду ‘fping’, отредактировав файл конфигурации LibreNMS. Перейдите в каталог ‘/opt/librenms/‘ и отредактируйте файл config.php с помощью редактора vim.
cd /opt/librenms/
vim config.phpДобавьте следующую строку в конец файла.
$config['fping'] = "/usr/sbin/fping";Сохраните и выйдите из редактора.
- Конфигурация SNMP
Создайте резервную копию файла snmp.conf по умолчанию в каталоге ‘/etc/snmp/‘ и скопируйте новый из каталога librenms.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.confОтредактируйте новую конфигурацию.
vim /etc/snmp/snmpd.confИзмените текст ‘RANDOMSTRINGGOESHERE’ на ваше собственное имя сообщества, как показано ниже.
com2sec readonly default hakaselabsВот и все. Сохраните и выйдите из Vim.

Далее, скачайте скрипт librenms-agent для определения операционной системы, которую вы добавили. Если вы добавите ОС Linux, скрипт также определит конкретное дистрибутив Linux.
Скачайте скрипт с помощью curl и сделайте его исполняемым.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distroТеперь перезапустите службу SNMP с помощью следующей команды systemctl.
systemctl restart snmpd- Настройка Logrotate для LibreNMS
LibreNMS предоставляет конфигурацию для настройки logrotate, и она находится в каталоге ‘/opt/librenms/misc’.
Скопируйте образец конфигурации в каталог ‘/etc/logrotate.d’.
cp misc/librenms.logrotate /etc/logrotate.d/librenms- Конфигурация cronjob LibreNMS
Перейдите в каталог ‘opt/librenms’ и скопируйте скрипт crontab ‘librenms.nonroot.cron’ в каталог ‘cron.d’.
cd /opt/librenms/
cp librenms.nonroot.cron /etc/cron.d/librenmsПодождите несколько минут, пока скрипт автоматически выполнится.
- Проверка конфигурации LibreNMS
Чтобы проверить установку, используйте скрипт validate.php. Перейдите в каталог ‘/opt/librenms/‘ и выполните скрипт.
cd /opt/librenms/
./validate.phpПредполагая, что вы не столкнулись с ошибками, вы должны увидеть вывод, похожий на следующий:

Таким образом, это завершает установку LibreNMS с веб-сервером Nginx на CentOS 7.
Ссылки
Get new posts in your inbox
No spam. Unsubscribe anytime.