Cacti是一个免费的开源网络绘图解决方案。 它使用RRDTool进行数据采集和绘图。 它提供了许多功能,如远程和本地数据收集器,网络发现, 设备管理自动化,图形模板等。
在本教程中,我们将在CentOS 7服务器上安装Cacti。
条件
- 最小CentOS 7服务器
- 根权限
第1步 - 安装Apache
建议在安装任何软件包之前更新服务器,以便更新现有软件包和存储库。
yum -y update
一旦您的系统更新,您可以继续安装Apache Web服务器。
yum -y install httpd
现在启动Apache Web服务器,并使用以下命令启动它在启动时启动。
systemctl start httpd
systemctl enable httpd
第2步 - 安装PHP
Cacti支持所有版本的PHP大于5.3。 但在本教程中,我们将安装PHP 7.1,因为PHP v5.3已经到了终点。 安装最新版本的PHP将确保应用程序的最大安全性和性能。
CentOS的默认YUM存储库没有包含PHP 7.1,因此您将需要在系统中添加Webtatic存储库。 Webtatic存储库要求EPEL仓库工作。 运行以下命令安装EPEL仓库。
yum -y install epel-release
yum -y update
键入安装Webtatic存储库的命令。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
键入以下命令来安装PHP 7.1以及所有必需的依赖项。
yum -y install php71w php71w-snmp php71w-mysqli php71w-cli php71w-ldap php71w-xml php71w-session php71w-sockets php71w-pcre php71w-gd php71w-dom php71w-posix php71w-mbstring
要检查PHP是否安装成功,可以运行:
php -v
你应该得到类似的输出。
[root@liptan-pc ~]# php -v PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
现在您将需要在PHP中配置几个配置。 使用您最喜欢的文本编辑器打开PHP配置文件php.ini
。 在本教程中,我们将使用nano
编辑器。 如果没有安装nano
,可以运行yum -y install nano
。
nano /etc/php.ini
找到以下行并取消注释行,并根据您的区域设置时区。 例如:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
第3步 - 安装MariaDB
MariaDB是MySQL数据库的一个分支。 要在服务器上安装MariaDB,请运行:
yum -y install mariadb mariadb-server
运行以下命令启动MariaDB并使其在引导时启动。
systemctl start mariadb
systemctl enable mariadb
现在运行以下命令来保护您的MariaDB安装。
mysql_secure_installation
上述命令将运行一个脚本来保护新鲜的MariaDB安装。 该脚本将要求现有的root用户密码,我们刚刚安装了MariaDB,root密码未设置,只需按Enter键继续进行。
脚本会询问您是否要为MariaDB安装设置root密码,然后选择y
并为安装设置一个强密码。 大多数问题是不言而喻的,你应该回答所有问题的答案。 输出如下图所示。
要创建数据库,我们首先需要登录到MySQL命令行。 运行以下命令相同。
mysql -u root -p
上述命令将登录到root用户的MySQL shell,它将提示输入root用户的密码。 提供登录密码。 现在运行以下查询为您的Cacti安装创建一个新的数据库。
CREATE DATABASE cacti_data;
上述查询将创建一个名为cacti_data
的新数据库。 如果需要,您可以为数据库使用任何其他名称。 请确保在每个查询结尾使用分号,因为查询始终以分号结尾。
创建数据库后,您可以创建一个新用户,并为数据库的用户授予所有权限。 要创建新的数据库用户,请运行以下查询。
CREATE USER 'cacti_user'@'localhost' IDENTIFIED BY 'StrongPassword';
上述查询将创建一个用户名为cacti_user
的用户。 您可以使用任何您喜欢的用户名而不是cacti_user
。 用强大的密码替换StrongPassword
。 现在通过您创建的数据库为数据库用户提供所有权限。 运行以下命令。
GRANT ALL PRIVILEGES ON cacti_data.* TO 'cacti_user'@'localhost';
现在运行以下命令立即对数据库权限应用更改。
FLUSH PRIVILEGES;
使用以下命令退出MySQL提示符。
EXIT;
您还需要填充时区表。 运行以下命令来填充时区表。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
提供MySQL根密码以继续。 填写表格后,您将需要提供对表格中Cacti用户帐户的选择权限。 再次登录到MySQL提示符:
mysql -u root -p
现在运行以下查询。
GRANT SELECT ON mysql.time_zone_name TO 'cacti_user'@'localhost';
FLUSH PRIVILEGES;
上述查询将SELECT命令
访问cacti_user
第4步 - 安装和配置仙人掌
Cacti需要更少的依赖关系,运行以下命令来安装它们。
yum -y install net-snmp rrdtool net-snmp-utils
由于我们已经准备好所有的依赖项,我们现在可以从Cacti网站下载安装包。
cd /var/www/html
wget http://www.cacti.net/downloads/cacti-1.1.10.tar.gz
您可以随时在Cacti下载页面找到链接到最新版本的应用程序。 使用以下命令提取存档。
tar xzvf cacti*.tar.gz
使用以下命令重命名您的Cacti文件夹:
mv cacti-1*/ cacti/
现在通过运行以下命令导入Cacti数据库。
cd /var/www/html/cacti
mysql cacti_data < cacti.sql -u root -p
上述命令将使用用户root将cacti.sql
数据库导入cacti_data
。 在导入数据库之前,还会询问root用户的密码。
现在通过运行以下命令编辑Cacti配置。
nano /var/www/html/cacti/include/config.php
现在找到以下行,并根据您的MySQL数据库凭据进行编辑。
/* make sure these values reflect your actual database/host/user/password */ $database_type = 'mysql'; $database_default = 'cacti_data'; $database_hostname = 'localhost'; $database_username = 'cacti_user'; $database_password = 'StrongPassword'; $database_port = '3306'; $database_ssl = false;
第5步 - 配置权限和防火墙
现在,您将需要使用以下命令将应用程序的所有权提供给Web服务器用户。
chown -R apache:apache /var/www/html/cacti
如果您正在运行,您可能还需要通过防火墙允许端口80
上的HTTP流量。 运行以下命令相同。
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
现在,您需要禁用SELinux,因为Proxy配置不适用于SELinux策略。 要临时禁用SELinux而不重新启动服务器,请运行以下命令。
setenforce 0
要完全禁用SELinux,您需要编辑/ etc / selinux / config
文件。
nano /etc/selinux/config
找到以下行:
SELINUX=enforcing
将其更改为:
SELINUX=disabled
现在使用网络浏览器完成安装,请使用您喜欢的网络浏览器转到以下链接。
http://Your_Server_IP/cacti
您将看到以下页面。
接受许可协议继续进行。
在下一个界面中,您将看到预安装,满足所有必需的依赖关系。
继续下一个界面。
在安装类型中,选择新建主服务器,然后继续。
在下一个界面中,您需要提供二进制文件的位置。 RRDTool和PHP二进制文件的路径是正确的。 对于所有其他二进制文件,提供路径/ usr / bin / binary_name。 例如,对于插件二进制,路径是/ usr / bin / snmpwalk。
在下一个界面中,您将看到服务器具有对所有必需文件夹的写入权限。
在模板设置中,选择本地Linux机器,然后单击完成。
您将被带到登录页面。 使用用户名admin和密码admin登录,您将被带到仪表板。
Cacti的安装现已完成,您可以使用应用程序使用交互式图表来监控您的服务器。