在CentOS 8和Apache上安装LibreNMS

准备Linux服务器

您应该已经安装了运行支持的操作系统之一的Linux服务器。确保在下面的选项卡选项中选择服务器的操作系统。选择Web服务器是您的首选,建议使用NGINX。

连接到服务器命令行,然后按照以下说明进行操作。

注意:这些说明假定您是root用户。如果你不是,前置sudo的shell命令(即不在的那些mysql>提示)或暂时成为root权限与用户sudo -ssudo -i

请注意,支持的最低PHP版本是7.2.5

安装必需的软件包

Ubuntu 20.04CentOS的8
NGINX阿帕奇
dnf -y install epel-release
dnf install bash-completion cronie fping git httpd ImageMagick mariadb-server mtr net-snmp net-snmp-utils nmap php-fpm php-cli php-common php-curl php-gd php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip rrdtool unzip
Debian 10

添加librenms用户

useradd librenms -d /opt/librenms -M -r -s /usr/bin/bash

下载LibreNMS

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

设定权限

chown -R librenms:librenms /opt/librenms
chmod 771 /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依赖项

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

设定时区

有关受支持的时区的列表,请参见http://php.net/manual/en/timezones.php。有效的示例是:“美国/纽约”,“澳大利亚/布里斯班”,“ Etc / UTC”。确保在php.ini中将date.timezone设置为您首选的时区。

vi /etc/php.ini
date.timezone = Asia/Shangha

记住还要设置系统时区。

timedatectl set-timezone Asia/Shanghai配置MariaDB
Ubuntu 20.04CentOS的8
vi /etc/my.cnf.d/mariadb-server.cnf
Debian 10

在该[mysqld]部分中添加:

innodb_file_per_table=1
lower_case_table_names=0
systemctl enable mariadb
systemctl restart mariadb
mysql -u root

注意:将下面的“密码”更改为安全的密码。

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

配置PHP-FPM

Ubuntu 20.04CentOS的8
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf
vi /etc/php-fpm.d/librenms.conf
Debian 10
# Change "www" to "librenms"
[librenms]

# Change user and group to "librenms"
user = librenms
group = librenms

# Change listen to a unique name
listen = /run/php-fpm-librenms.sock

如果此服务器上没有其他PHP Web应用程序,则可以删除www.conf以节省一些资源。随时调整librenms.conf中的性能设置以满足您的需求。

配置Web服务器

Ubuntu 20.04CentOS的8
NGINX阿帕奇

创建librenms.conf:

vi /etc/httpd/conf.d/librenms.conf

添加以下配置,ServerName根据需要进行编辑:

<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>

注意:如果这是您在此服务器上托管的唯一站点(应该为:)),则需要禁用默认站点。 rm -f /etc/httpd/conf.d/welcome.conf

systemctl enable --now httpd
systemctl enable --now php-fpm
Debian 10

SELinux

Ubuntu 20.04CentOS的8

安装SELinux的策略工具:

dnf install policycoreutils-python-utils

配置LibreNMS所需的上下文:

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(logs|rrd|storage)(/.*)?'
restorecon -RFvv /opt/librenms
setsebool -P httpd_can_sendmail=1
setsebool -P httpd_execmem 1
chcon -t httpd_sys_rw_content_t /opt/librenms/.env

允许fping

使用以下内容创建文件http_fping.tt。您可以在任何地方创建此文件,因为它是一次性文件。此安装过程的最后一步将在正确的位置安装模块。

module http_fping 1.0;

require {
type httpd_t;
class capability net_raw;
class rawip_socket { getopt create setopt write read };
}

#============= httpd_t ==============
allow httpd_t self:capability net_raw;
allow httpd_t self:rawip_socket { getopt create setopt write read };

然后运行这些命令

checkmodule -M -m -o http_fping.mod http_fping.tt
semodule_package -o http_fping.pp -m http_fping.mod
semodule -i http_fping.pp

通过执行以下命令,可能会发现其他SELinux问题。

audit2why < /var/log/audit/audit.log
Debian 10

允许通过防火墙访问

Ubuntu 20.04CentOS的8
firewall-cmd --zone public --add-service http --add-service https
firewall-cmd --permanent --zone public --add-service http --add-service https
Debian 10

启用lnms命令完成

该功能使您有机会像使用普通linux命令一样,使用tab来完成lnms命令。

ln -s /opt/librenms/lnms /usr/local/bin/lnms
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

配置snmpd

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

编辑显示的文字RANDOMSTRINGGOESHERE并设置您自己的社区字符串。

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

Cron工作

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

注意:请记住,默认情况下,cron仅使用一组非常有限的环境变量。您可能需要为cron调用配置代理变量。另外,也可以在config.php中添加代理设置。config.php文件将在接下来的步骤中创建。完成librenms安装步骤后,请查看以下URL:https ://docs.librenms.org/Support/Configuration/#proxy-support

复制logrotate配置

LibreNMS保留日志/opt/librenms/logs。随着时间的流逝,它们可能会变大并向外旋转。要轮换出旧日志,可以使用提供的logrotate配置文件:

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

Web安装程序

现在转到Web安装程序,并按照屏幕上的说明进行操作。

http://librenms.example.com/install

Web安装程序可能会提示您config.php在librenms安装位置手动创建文件,将屏幕上显示的内容复制到该文件。如果必须这样做,请记住在将屏幕内容复制到文件后在config.php上设置权限。跑:

chown librenms:librenms /opt/librenms/config.php

最后步骤

而已!您现在应该可以登录 http://librenms.example.com/。请注意,此示例中未涵盖HTTPS设置,因此默认情况下,您的LibreNMS安装不安全。除非您已配置HTTPS并采取了适当的Web服务器强化步骤,否则请不要将其暴露于公共Internet。

添加第一个设备

现在,我们建议您从WebUI中将localhost添加为第一个设备。

故障排除

如果您在安装过程中遇到问题,请运行validate.php:

sudo su - librenms
./validate.php

LibreNMS网站上列出了各种获得帮助的选项:https ://www.librenms.org/#support

接下来是什么?

现在,您已经安装了LibreNMS,我们建议您阅读其他一些文档以助您顺利进行:

闭幕

我们希望您喜欢使用LibreNMS。如果您这样做,那么如果您考虑加入我们拥有的统计信息系统,那就太好了,请参阅此页面,了解它是什么以及如何启用它。

如果您想帮助提高LibreNMS的质量,有很多方法可以帮助您。您还可以在Open Collective上支持LibreNMS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值