如何在CentOS 7上安装Mailtrain新闻通讯应用程序
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
LibreNMS是功能齐全的开源网络监视系统。它用于SNMP从不同的设备获取数据。LibreNMS支持多种设备,例如Cisco,Linux,FreeBSD,Juniper,Brocade,Foundry,HP等。它支持多种身份验证机制,并支持两因素身份验证。它具有可自定义的警报系统,可以通过电子邮件,IRC或闲暇来警告网络管理员。
在本教程中,我们将使用nms.example.com指向Vultr实例的域名作为域名。请确保将所有示例域名都替换为实际的示例域名。
使用指南如何更新CentOS 7更新基本系统。系统更新后,继续安装依赖项。
LibreNMS的前端基本上是用PHP编写的,因此我们将需要安装Web服务器和PHP。在本教程中,我们将安装Nginx和PHP 7.2,以获得最大的安全性和性能。
安装Nginx。
sudo yum -y install nginx
启动Nginx并使它能够在启动时自动启动。
sudo systemctl start nginx
sudo systemctl enable nginx
添加并启用Remi存储库,因为默认的YUM存储库包含旧版本的PHP。
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72
安装PHP版本7.2以及LibreNMS所需的模块。
sudo yum -y install php php-cli php-common php-curl php-fpm php-gd php-mcrypt php-mysql php-process php-snmp php-xml php-zip
通过PHP在编辑器中打开加载的配置文件。
sudo nano /etc/php.ini
找到以下几行,取消注释并更改其值,如图所示。
;cgi.fix_pathinfo=1
memory_limit = 128M
;date.timezone =
请改用这些值,Asia/Kolkata并用您当地的时区代替。
cgi.fix_pathinfo=0
memory_limit = -1
date.timezone = Asia/Kolkata
您还需要通过运行以下命令来更改系统时区。
sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
现在打开PHP-FPM配置文件。
sudo nano /etc/php-fpm.d/www.conf
查找以下行。
listen = 127.0.0.1:9000
将其替换为以下行。
listen = /var/run/php-fpm/php-fpm.sock
默认情况下,为Apache Web服务器用户配置PHP-FPM。将用户更改为nginx。
user = nginx
group = nginx
此外,取消注释以下几行。
listen.owner = nobody
listen.group = nobody
保存文件并退出编辑器。重新启动PHP-FPM并使其在启动时启动。
sudo systemctl restart php-fpm
sudo systemctl enable php-fpm
为套接字文件设置适当的所有权。
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
MariaDB是MySQL的分支。将MariaDB存储库添加到您的系统中。默认yum存储库包含旧版本的MariaDB。
echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo
安装MariaDB。
sudo yum -y install mariadb mariadb-server
现在,打开MySQL配置文件。
sudo nano /etc/my.cnf
在代码块的末尾添加以下几行。
[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
重新启动MariaDB,并使它能够在引导时自动启动。
sudo systemctl restart mariadb
sudo systemctl enable mariadb
在配置数据库之前,您需要首先保护MariaDB的安全。
sudo mysql_secure_installation
系统将要求您输入当前的MariaDB根密码。默认情况下,全新的MariaDB安装中没有root密码。按“ Enter”键继续。root为您的MariaDB服务器的用户设置一个强密码,并回答Y所有其他问题。提出的问题是不言自明的。
以root用户身份登录MySQL Shell。
mysql -u root -p
提供MariaDB root用户登录的密码。
运行以下查询为LibreNMS安装创建数据库和数据库用户。
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;
您可以根据自己的选择替换数据库名称librenms和用户名librenms。请确保更改StrongPassword为非常安全的密码。
除了上述依赖性之外,LibreNMS还需要更多的依赖性。通过运行安装它们。
sudo yum -y install cronie fping git ImageMagick jwhois mtr MySQL-python net-snmp net-snmp-utils nmap python-memcached rrdtool
为LibreNMS应用程序添加新的非特权用户。
sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -a -G librenms nginx
可以通过克隆其Github存储库直接安装LibreNMS。
cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms
修复所有权。
sudo chown librenms:librenms -R /opt/librenms
LibreNMS依靠SNMP来完成许多任务。由于我们已经安装了SNMP,因此将示例配置文件复制到其位置。
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
在编辑器中打开配置文件。
sudo nano /etc/snmp/snmpd.conf
找到这条线。
com2sec readonly default RANDOMSTRINGGOESHERE
编辑文本RANDOMSTRINGGOESHERE并将社区字符串替换为您选择的任何字符串。例如。
com2sec readonly default my-org
请记住该字符串,因为稍后添加第一个SNMP设备时将需要该字符串。
SNMP还需要有关发行版的信息。下载并安装脚本以查找发行版本。
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
启动SNMP守护程序服务,并使它在引导时自动启动。
sudo systemctl enable snmpd
sudo systemctl restart snmpd
现在,您将需要添加一些crontab条目以运行计划的任务。创建一个新的cron作业文件。
sudo nano /etc/cron.d/librenms
用以下文本填充文件。
33 */6 * * * librenms /opt/librenms/cronic /opt/librenms/discovery-wrapper.py 1
*/5 * * * * librenms /opt/librenms/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16
15 0 * * * librenms /opt/librenms/daily.sh >> /dev/null 2>&1
* * * * * librenms /opt/librenms/alerts.php >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/poll-billing.php >> /dev/null 2>&1
01 * * * * librenms /opt/librenms/billing-calculate.php >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/check-services.php >> /dev/null 2>&1
重新启动cron守护程序服务。
sudo systemctl restart crond
进行设置,logrotate以便随着时间的推移自动刷新日志文件。
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
最后,设置适当的所有权和权限。
sudo chown -R librenms:nginx /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs
如果未使用SSL加密连接,则通过LibreNMS的Web界面发送的登录名和其他信息将不安全。我们将Nginx配置为使用“让我们加密免费SSL”生成的SSL。
安装Certbot,这是Let's Encrypt CA的客户端应用程序。
sudo yum -y install certbot
在可以请求证书之前,您将需要允许端口80和443或标准HTTP和HTTPS服务通过防火墙。
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
注意:要从Let's Encrypt CA获取证书,必须为其生成证书的域指向服务器。如果不是,请对域的DNS记录进行必要的更改,并在再次发出证书请求之前,等待DNS传播。Certbot在提供证书之前会检查域权限。
生成SSL证书:
sudo certbot certonly --webroot -w /usr/share/nginx/html -d nms.example.com
生成的证书很可能存储在/etc/letsencrypt/live/nms.example.com/目录中。SSL证书将存储为fullchain.pem,私钥将存储为privkey.pem。
让我们加密证书的有效期限为90天,因此建议您使用cron作业为证书设置自动续订。
打开cron作业文件。
sudo crontab -e
在文件末尾添加以下行。
30 5 * * 1 /usr/bin/certbot renew --quiet
上面的cron作业将在当地时间每周一的5:30 AM运行。如果证书到期,它将自动更新。
创建一个新的虚拟主机。
sudo nano /etc/nginx/conf.d/nms.example.com.conf
填充文件。
server {
listen 80;
server_name nms.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name nms.example.com;
ssl_certificate /etc/letsencrypt/live/nms.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nms.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /opt/librenms/logs/librenms.nginx.access.log;
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-fpm/php-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
nms.example.com在上述配置中替换为您的实际域。
重新启动Nginx。
sudo chown nginx:nginx /var/lib/php/session
sudo systemctl restart nginx
要完成安装,请https://nms.example.com在您喜欢的浏览器上打开。您将看到满足要求。提供您的数据库详细信息并创建一个新的管理帐户。安装完成后,您将收到一条消息以验证安装。单击链接,然后使用管理员帐户登录。您会看到除“ Poller” 之外的所有其他Ok状态均为“ ”。

现在,单击链接以添加设备。在“ Add Device”界面上,提供主机名作为localhost并保留所有内容。在社区字段中提供您的社区字符串。它必须snmpd.conf与配置SNMP时提供的字符串完全相同。

添加设备后,您可以转到“ Devices”标签查看详细信息。

同样,您可以将更多设备添加到LibreNMS应用程序中以进行“全天候”监视。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
在本教程中,我们将介绍在CentOS 6x x64上安装和使用nethogs的过程。nethogs是一种网络监视工具,它允许Networ
使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比
欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件
简介/ etc /目录在Linux系统运行中起着至关重要的作用。其原因是因为几乎每个系统配置
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供
使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用
MoinMoin是一个使用Python编写的基于文件系统的开源Wiki引擎。如今,MoinMoin已广泛用于开源社区。许多供应商
H2O是新一代HTTP服务器,它对所有当前使用的Web服务器都具有出色的,功能齐全的HTTP / 2实现。使用H2O作为您的Web服务器
在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫
使用其他系统?Countly是一个开源Web /移动分析和营销平台。它具有许多用于从Web收集数据的功能
MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:
使用其他系统?Lychee 3.1相册是一种简单,灵活,免费和开源的照片管理工具,可在VPS服务器上运行。安装
使用其他系统?ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是免费的
使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是
使用其他系统?Seafile(社区版本)是一个免费和开源的文件同步和共享解决方案,类似于ownCloud。机智
使用其他系统?Kolab Groupware是一个免费的基于Web的开源组件软件。它的功能包括电子邮件通信,事件
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息