如何安装和设置 librenms Ubuntu 22.04 |20.04

步骤 1。先决条件 – 设置服务器环境

在执行 LibreNMS 安装之前,您需要一个使用 Ubuntu Linux 运行且具有 sudo 权限和 Internet 连接的系统。除此之外,我们需要的其余东西是LAMP服务器,我们在本教程中学习如何设置。

好吧,在继续之前,请运行系统更新和升级命令:

sudo apt update && sudo apt upgrade

第2步。在 Ubuntu 上安装 Apache 或 Nginx 22.04

用于安装 LibreNMS 的两个流行的 Web 服务器是 Apache 和 Nginx,您可以根据需要选择其中任何一个。但是,在这里我们将对两者都执行本教程,但您根据自己的喜好选择仅安装其中之一。

注意:仅安装一个 Web 服务器 Apache 或 Nginx:

对于 Nginx:

sudo apt install nginx
sudo systemctl enable --now nginx

对于 Apache:

sudo apt install apache2
sudo systemctl enable --now apache2

第 3 步。安装 PHP、MariaDB 和依赖项

在这里,我们将安装 PHP、MariaDB 和其他必需的软件包,以便在 Ubuntu 22.04 或 20.04 上轻松设置 LibreNMS。要安装所有这些,我们可以使用给定的命令:

sudo apt install acl curl nano composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysqli php-snmp php-xml php-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip

第 4 步。配置 MariaDB for LibreNMS

在创建数据库之前,我们先配置 MariaDB for LibreNMS,因此请编辑数据库服务器的配置文件。

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

在 [mysqld] 下添加以下行:

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

按 Ctrl + O,键入 Enter,然后使用 Ctrl + X 退出,保存文件。

Set-Mariadb-for-librenms-ubuntu-22.04-or-20.04

重新启动数据库服务:

sudo systemctl restart mariadb

并启用相同的功能:

sudo systemctl enable mariadb

保护您的 MariaDB:

sudo mysql_secure_installation

按照引导式向导,为数据库 root 用户创建密码并删除演示数据库,禁止远程登录和匿名用户。

第 5 步。创建 LibreNMS 数据库

现在,让我们创建一个专用数据库来存储 LibreNMS 生成的数据。

sudo mysql

使用给定的命令创建数据库。

这里我们使用数据库和用户名-,使用任何你想使用的东西。另外,不要忘记用您要设置的内容替换。librenmspassword

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
exit;

设置 PHP 的时区:

sudo sed -i "s,;date.timezone =,date.timezone = \"Asia/Kolkata\",g" /etc/php/*/cli/php.ini
sudo sed -i "s,;date.timezone =,date.timezone = \"Asia/Kolkata\",g" /etc/php/*/fpm/php.ini

注意:根据您所在的国家/地区更改亚洲/加尔各答。如果您不知道您所在时区的PHP值,请参阅官方页面

此外,请相应地更改系统时区:

sudo timedatectl set-timezone Asia/Kolkata
sudo dpkg-reconfigure -f noninteractive tzdata
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p
sudo systemctl restart nginx mariadb

第 6 步。下载 LibreNMS 上 Ubuntu 22.04/20.04

使用 Ubuntu 的存储库无法下载 LibreNMS 文件,因此让我们直接从其 GitHub 存储库使用 Git 克隆它。

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

第 7 步。添加 LibreNMS 用户

让我们创建一个只能访问 Librenms 文件的专用用户

sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)" 

设置下载文件的权限:

sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

步骤 8:在 Ubuntu 上安装 LibreNMS 22.04 |20.04

切换到 LibreNMS 创建的用户,然后安装此网络监控平台所需的 PHP 依赖项。

sudo -u librenms bash
cd
./scripts/composer_wrapper.php install --no-dev
exit

第 9 步。为 LibreNMS 安装配置 PHP-FPM

通过复制现有配置文件为 LibreNMS 创建 PHP FPM 配置文件:

cd /etc/php/*/fpm/pool.d/
sudo cp www.conf librenms.conf

现在,编辑复制的文件

sudo nano librenms.conf

替换为[www][librenms]

用户和组从 data-www 更改为librenms

user = librenms
group = librenms

向下滚动并更新侦听 libreNMS 套接字。

listen = /run/php-fpm-librenms.sock

保存文件 – Ctrl + O,按 Enter 并退出 – Ctrl + X

chnage-PHP-FPM-libreNMS-for-Ubuntu-22.04

返回到您的根目录。

cd

步骤 10:为 LibreNMS 配置 SNMPd

如果您不想启用SNMP支持,那么您可以暂时跳过此步骤…

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

将 RANDOMSTRINGGOESHERE 更改为要使用的任何 SNMP 社区字符串,然后保存文件。

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

第 11 步。创建 Cron 作业

如果未设置 Cron 作业,则在验证时将看到以下两个错误:

FAIL:Python 包装器 cron 条目不存在,FAIL:未检测到活动轮询方法

因此,请按照给定的命令进行操作

sudo cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms

编辑 cron 作业文件以自定义要执行的时间和任务。您可以使用 Nano 或 vi 等文本编辑器:

sudo nano /etc/cron.d/librenms

根据需要修改文件,以定义您希望 LibreNMS 以特定时间间隔运行的任务。例如,下面是一个每五分钟运行一次 LibreNMS 轮询的 cron 作业示例:

在文件末尾添加以下行:

*/5  *    * * *   librenms /opt/librenms/poller.php -h all >> /dev/null 2>&1

注意:上述条目每 5 分钟运行一次 poller.php 脚本,轮询所有设备,并将输出重定向到 /dev/null 以丢弃它。

保存文件并使用 Ctrl+O 退出文本编辑器,然后按 Enter 键。

重新启动 cron 服务以应用更改:

sudo systemctl restart cron

启用调度程序

sudo cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
sudo systemctl enable librenms-scheduler.timer
sudo systemctl start librenms-scheduler.timer

复制 Logrotate 配置

要确保 LibreNMS 日志不会变得太大,请启用日志轮换:

sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

还需要做其他一些事情:

创建全局 lnms 快捷方式:

sudo ln -s /opt/librenms/lnms /usr/local/bin/lnms

为 lnms 命令启用 Bash 完成:

sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

第 12 步。创建虚拟主机配置

如果您在一开始就安装了 Apache Web 服务器,那么请使用它,否则请转到 Nginx 主机配置文件:

注意:根据您安装的 Web 服务器配置,仅使用一个 Web 服务器配置:

对于 Nginx Web 服务器用户(仅限)

如果您使用的是 Nginx,请使用给定的命令创建网站配置文件:

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

添加以下行:

注意:替换 – librenms.example.com;替换为您要使用的域名:

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 ~ [^/]\.php(/|$) {
  fastcgi_pass unix:/run/php-fpm-librenms.sock;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  include fastcgi.conf;
 }
 location ~ /\.(?!well-known).* {
  deny all;
 }
}

按 Ctrl+X,键入 Y,然后按 Enter 键保存文件。

删除 Nginx 默认测试页面并重启 Web 服务器

rm /etc/nginx/sites-enabled/default
systemctl restart nginx
systemctl restart php8.1-fpm

对于 Apache Web 服务器用户(仅限):

要访问 LibreNMS Web 界面,我们需要告诉我们的 Apache 服务器它的文件位于何处。为此,我们创建一个虚拟主机配置文件:

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

添加以下行:

注意:将服务器名称替换为您的 IP 地址完全限定域名,例如 librenms.your-domain.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>

  # Enable http authorization headers
  <IfModule setenvif_module>
    SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
  </IfModule>

  <FilesMatch ".+\.php$">
    SetHandler "proxy:unix:/run/php-fpm-librenms.sock|fcgi://localhost"
  </FilesMatch>
</VirtualHost>

按 Ctrl + O,按 Enter 键,然后按 Ctrl+X 退出保存文件。

禁用默认站点并启用新创建的站点

sudo a2dissite 000-default
sudo a2enmod proxy_fcgi setenvif rewrite
sudo a2ensite librenms.conf

重新启动服务:

sudo systemctl restart apache2
sudo systemctl restart php*-fpm

第 13 步。访问 LibreNMS Web 界面

LibreNMS 配置完成后,进入您的系统浏览器,将其指向您使用的服务器 IP 地址或域名。

例如,http://server-ip-address 或 http://your-domain.com

首先,安装设置将检查软件所需的依赖项。

Pre-install-Checks-for-LibreNMS-1024x722-1

提供您在本文的步骤 5 中创建的 MariaDB 数据库的详细信息。

Configure-Database-1024x722-1

连接到数据库后,单击“建立数据库”按钮。

Build-Database-1024x610-1

创建一个 Admin 用户以登录 LibreNMS 后端。

Create-an-Admin-user
Finish-the-installaltion-1024x715-1

LibreNMS 将进行验证,并让您知道您的安装是否存在一些改进或警告。

Validating-the-erros-1024x478-1

最后,您将拥有 LibreNMS 仪表板来开始监控您的网络和设备。

LibreNMS-installation-is-completed-on-Ubuntu-22.04-1024x528-1

从其官方文档中进一步了解如何添加设备和处理 LibreNMS。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun288639.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2024年3月13日 下午6:49
下一篇 2024年3月13日

相关推荐