Как установить LibreNMS на Ubuntu 20.04 LTS

Как установить LibreNMS на Ubuntu 20.04 LTS

 

В этом руководстве мы покажем вам, как установить LibreNMS на Ubuntu 20.04 LTS. Для тех из вас, кто не знал, LibreNMS — это инструмент с открытым исходным кодом для автоматического обнаружения сети для серверов и сетевого оборудования. Он поддерживает широкий спектр сетевого оборудования, такого как Cisco, Juniper, Brocade, Foundry, HP, а также операционные системы, включая Linux и Windows. LibraNMS — это основанный на сообществе форк инструмента мониторинга сети Observium , выпущенный под GPLv3.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку LibreNMS на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, такого как Linux Mint.

Установите LibreNMS на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие aptкоманды в терминале.

sudo apt update
sudo apt upgrade

Шаг 2. Установите стек LEMP.

Требуется сервер Ubuntu 20.04 LEMP. Если у вас не установлен LEMP, вы можете следовать нашему руководству здесь .

Шаг 3. Установка LibreNMS на Ubuntu 20.04.

Установим пакеты, необходимые для LibreNMS:

sudo install apt install curl composer fping git graphviz imagemagick rrdtool snmp snmpd whois unzip python python3-pip

Теперь возьмем исходный код LibreNMS из репозитория GitHub:

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

Затем создайте пользователя, который будет управлять LibreNMS, и добавьте Nginx в группу LibreNMS:

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

Нам нужно будет изменить права доступа к некоторым папкам:

chown -R librenms:librenms /opt/librenms 
chmod 770 /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/

После этого нам предоставляется скрипт PHP, который установит зависимости композитора. Чтобы выполнить это, мы будем использовать следующую команду. Для выполнения этого скрипта нам нужно переключиться на пользователя LibreNMS:

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

Шаг 4. Настройка MariaDB для LibreNMS.

По умолчанию MariaDB не усилен. Вы можете защитить MariaDB с помощью mysql_secure_installationскрипта. вы должны внимательно прочитать и под каждым шагом, который установит пароль root, удалит анонимных пользователей, запретит удаленный вход root и удалит тестовую базу данных и доступ к безопасности MariaDB:

mysql_secure_installation

Настройте это так:

- 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 -u root -p

Вам будет предложено ввести пароль, поэтому введите пароль root для MariaDB и нажмите Enter. После входа на сервер базы данных вам необходимо создать базу данных для установки LibreNMS:

MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'YOUR-PASSWD';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

После этого откройте файл конфигурации MariaDB и добавьте следующие строки в раздел:[mysqld]

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

В разделе [mysqld] добавьте:

innodb_file_per_table=1 
lower_case_table_names=0

Затем перезапустите MariaDB, чтобы изменения вступили в силу:

sudo systemctl restart mariadb

Шаг 5. Настройка Nginx для LibreNMS.

Давайте создадим определение VirtualHost для Nginx, которое будет использоваться LibreNMS:

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

Добавьте в файл конфигурации следующее:

server { 
  listen      80; 
  server_name librenms.infoit.com.ua; 
  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, чтобы изменения вступили в силу:

sudo systemctl restart nginx

Шаг 6. Настройте брандмауэр.

Разрешите Nginx через брандмауэр, чтобы пользователь мог получить доступ к порталу LibreNMS с внешнего компьютера:

ufw allow 80/tcp
ufw allow 443/tcp
ufw reload

Шаг 7. Доступ к веб-интерфейсу LibreNMS,

LibreNMS по умолчанию будет доступен через HTTP-порт 80. Откройте свой любимый браузер, перейдите к или и выполните необходимые действия, чтобы завершить установку.http://your-domain.com/http://server-ip-address/

Поздравляю! Вы успешно установили LibreNMS . Благодарим за использование этого руководства по установке LibreNMS в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт LibreNMS .