LirbeNMS如何安装

发布时间:2021-11-30 09:21:21 作者:小新
来源:亿速云 阅读:468
# LibreNMS如何安装:从零开始的完整指南

LibreNMS是一款功能强大的开源网络监控系统,基于PHP和MySQL构建,支持自动发现网络设备并监控其性能指标。本文将详细介绍如何在不同操作系统上安装LibreNMS,包括系统要求、依赖安装、配置以及常见问题解决。

## 目录
1. [系统要求](#系统要求)
2. [安装前准备](#安装前准备)
3. [在Linux上安装LibreNMS](#在linux上安装librenms)
   - [Ubuntu/Debian](#ubuntudebian)
   - [CentOS/RHEL](#centosrhel)
4. [配置Web服务器](#配置web服务器)
   - [Apache配置](#apache配置)
   - [Nginx配置](#nginx配置)
5. [初始化LibreNMS](#初始化librenms)
6. [配置定时任务](#配置定时任务)
7. [防火墙设置](#防火墙设置)
8. [常见问题解决](#常见问题解决)
9. [后续配置建议](#后续配置建议)

## 系统要求

在开始安装前,请确保您的系统满足以下最低要求:

- **操作系统**:Linux(推荐Ubuntu/Debian或CentOS/RHEL)
- **内存**:至少2GB RAM(生产环境建议4GB以上)
- **存储空间**:10GB以上可用空间
- **PHP**:7.3或更高版本(推荐7.4)
- **数据库**:MySQL 5.7+/MariaDB 10.3+
- **Web服务器**:Apache或Nginx
- **其他依赖**:snmp、fping、composer等

## 安装前准备

1. **更新系统**:
   ```bash
   # Ubuntu/Debian
   sudo apt update && sudo apt upgrade -y
   
   # CentOS/RHEL
   sudo yum update -y
  1. 创建专用用户(推荐):
    
    sudo useradd -m -s /bin/bash librenms
    sudo usermod -aG librenms www-data  # 将web服务器用户加入librenms组
    

在Linux上安装LibreNMS

Ubuntu/Debian

  1. 安装必要依赖

    sudo apt install -y acl curl composer fping git graphviz imagemagick mariadb-client \
    mariadb-server mtr-tiny nmap php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-json \
    php7.4-mbstring php7.4-mysql php7.4-snmp php7.4-xml php7.4-zip rrdtool snmp snmpd \
    whois python3-pymysql python3-dotenv python3-redis python3-setuptools
    
  2. 下载LibreNMS

    sudo su - librenms
    git clone https://github.com/librenms/librenms.git
    exit
    
  3. 设置权限

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

CentOS/RHEL

  1. 启用EPEL仓库

    sudo yum install -y epel-release
    
  2. 安装依赖

    sudo yum install -y composer cronie fping git ImageMagick mariadb mariadb-server mtr \
    net-snmp net-snmp-utils nmap php-cli php-common php-curl php-fpm php-gd php-json \
    php-mbstring php-mysqlnd php-process php-snmp php-xml php-zip python3 python3-PyMySQL \
    rrdtool
    
  3. 下载LibreNMS(同Ubuntu步骤)

配置Web服务器

Apache配置

  1. 创建虚拟主机文件
    
    sudo nano /etc/apache2/sites-available/librenms.conf
    

添加以下内容(根据路径调整):

   <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>
  1. 启用配置
    
    sudo a2ensite librenms
    sudo a2enmod rewrite
    sudo systemctl restart apache2
    

Nginx配置

  1. 创建配置文件
    
    sudo nano /etc/nginx/conf.d/librenms.conf
    

示例配置:

   server {
     listen      80;
     server_name librenms.example.com;
     root        /opt/librenms/html;
     index       index.php;
     
     location / {
       try_files $uri $uri/ /index.php?$query_string;
     }
     
     location ~ [^/]\.php(/|$) {
       fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
       include fastcgi.conf;
     }
   }
  1. 重启Nginx
    
    sudo systemctl restart nginx
    

初始化LibreNMS

  1. 数据库配置

    sudo mysql -u root -p
    
    CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'librenms'@'localhost' IDENTIFIED BY '强密码';
    GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
    FLUSH PRIVILEGES;
    exit
    
  2. 配置.env文件

    cd /opt/librenms
    cp .env.example .env
    nano .env
    

    修改关键参数:

    DB_HOST=localhost
    DB_DATABASE=librenms
    DB_USERNAME=librenms
    DB_PASSWORD=您的密码
    
  3. 运行安装脚本

    sudo ./scripts/composer_wrapper.php install --no-dev
    sudo ./validate.php
    
  4. 完成安装: 访问 http://your-server-ip/install.php 完成网页安装向导

配置定时任务

  1. 设置cron任务

    sudo crontab -u librenms -e
    

    添加以下内容:

    */5 * * * * /opt/librenms/poller.php -h all > /dev/null 2>&1
    
  2. 配置系统服务

    sudo cp /opt/librenms/dist/librenms.service /etc/systemd/system/
    sudo systemctl enable --now librenms
    

防火墙设置

允许必要端口:

# UFW (Ubuntu)
sudo ufw allow 80/tcp
sudo ufw allow 161/udp  # SNMP

# Firewalld (CentOS)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-port=161/udp
sudo firewall-cmd --reload

常见问题解决

  1. PHP扩展缺失

    sudo apt install php7.4-snmp php7.4-curl  # 根据报错安装缺失扩展
    
  2. 权限问题

    sudo chown -R librenms:librenms /opt/librenms
    sudo setfacl -R -m g::rwx /opt/librenms/rrd
    
  3. 数据库连接失败

    • 检查.env文件中的数据库凭据
    • 确认MySQL服务运行且允许连接
  4. 发现功能不工作

    • 确保snmpd服务运行
    • 检查设备SNMP配置

后续配置建议

  1. 配置自动发现

    • 在Web界面设置自动发现范围
    • 配置发现规则
  2. 设置警报

    • 配置邮件/SMS通知
    • 定义警报规则
  3. 启用API

    php artisan key:generate
    
  4. 备份策略

    • 定期备份数据库和RRD文件
    • 考虑设置自动备份脚本

通过以上步骤,您应该已经成功安装并运行了LibreNMS。如需更高级的配置,请参考官方文档或社区论坛。LibreNMS的强大功能将随着您的使用逐渐展现,帮助您有效监控和管理网络设备。 “`

注:实际字数约2800字,您可以通过以下方式扩展: 1. 增加各步骤的详细原理说明 2. 添加更多屏幕截图示例 3. 补充不同发行版的差异处理 4. 加入性能优化建议 5. 扩展故障排除部分

推荐阅读:
  1. PHPstudy 安装redis扩展 以及安装redis
  2. Hbase安装-单机安装

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:怎么在tinycolinux上编译seafile

下一篇:C/C++ Qt TreeWidget单层树形组件怎么应用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》