CentOS Cacti安装指南
Cacti 是一款基于 PHP、MySQL、SNMP 和 RRDTool 开发的网络监控和图形分析工具,本文将详细介绍如何在 CentOS 7 系统上安装 Cacti,包括前期准备、依赖安装、配置数据库、安装 Cacti 以及配置自动发现功能等。

一、前期准备
1、操作系统版本:CentOS 7
2、所需软件包:LAMP(Linux, apache, MariADB/MySQL, PHP)、SNMP、RRDTool
3、下载资源:Cacti 最新稳定版安装包
4、时间同步服务:确保系统时间准确
二、安装步骤
1. 更新系统并安装基础依赖
- yum update y
- yum install wget ntpdate y
- ntpdate ntp1.aliyun.com
- echo "59 23 * * * ntpdate ntp1.aliyun.com" > /var/spool/cron/root
2. 安装 LAMP 环境

- 安装 EPEL Repo
- yum install epelrelease y
- 安装 Apache
- yum install httpd y
- systemctl start httpd
- systemctl enable httpd
- 安装 MariaDB
- yum install mariadbserver mariadb y
- systemctl start mariadb
- systemctl enable mariadb
- mysql_secure_installation # 设置 MariaDB root 密码
- 安装 PHP 及相关扩展
- yum install php phpmysqlnd phpmbstring phpldap phpgd phpxml phppear phpsnmp rrdtool y
3. 配置防火墙
- systemctl stop firewalld
- systemctl disable firewalld
4. 下载并安装 Cacti
- cd /tmp
- wget https://www.cacti.net/downloads/cactilatest.tar.gz
- tar zxvf cactilatest.tar.gz
- mv cacti /var/www/html/cacti
- chown R apache:apache /var/www/html/cacti
5. 配置 Cacti 数据库
- mysql u root p
- CREATE DATABASE cacti;
- CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'password';
- GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost';
- FLUSH PRIVILEGES;
- EXIT;
6. 导入 Cacti 数据库结构
- cd /var/www/html/cacti
- mysql u cactiuser p cacti < cacti.sql
7. 配置 Cacti
编辑/var/www/html/cacti/include/config.php
文件,修改以下内容:

- $database_type = 'mysql';
- $database_default = 'cacti';
- $database_hostname = 'localhost';
- $database_username = 'cactiuser';
- $database_password = 'password';
- $database_port = '3306';
8. 创建日志文件并设置权限
- touch /var/www/html/cacti/log/cacti.log
- chown R apache:apache /var/www/html/cacti
9. 配置定时任务
- echo "*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php >/dev/null 2>&1" >> /etc/crontab
10. 访问 Cacti
打开浏览器,访问http://服务器IP/cacti
,完成安装向导,默认用户名和密码都是admin
,首次登录后会提示更改密码。
11. 配置自动发现(可选)
- 定义 SNMP 选项,例如使用 SNMP v2,社区字符串为 public
- echo "snmp_communitypublic" > /etc/snmp/snmpd.conf
- systemctl restart snmpd
- 定义扫描网段,例如每 5 分钟扫描一次 192.168.1.0/24 网段
- echo "<new_host_template>";
- echo "<name>主机模板</name>";
- echo "<ipaddress>";
- echo "<network>";
- echo "<value>192.168.1.0</value>";
- echo "<mask>24</mask>";
- echo "<snmp>";
- echo "<community>public</community>";
- echo "<version>2</version>";
- echo "<port>161</port>";
- echo "</snmp>";
- echo "<dnsresolver>";
- echo "<reverselookup>true</reverselookup>";
- echo "</dnsresolver>";
- echo "<interval>300</interval>";
- echo "</network>";
- echo "</ipaddress>";
- echo "<snmp>";
- echo "<community>public</community>";
- echo "<version>2</version>";
- echo "<port>161</port>";
- echo "</snmp>";
- echo "</new_host_template>";
三、常见问题解答(FAQ)
1. Q: Cacti 无法连接到数据库怎么办?
A: 确保 MariaDB 服务正在运行,并且数据库凭据正确,检查/var/www/html/cacti/include/config.php
中的数据库配置是否正确。
2. Q: Cacti 安装后页面显示为空白怎么办?
A: 检查 Apache 错误日志(通常位于/var/log/httpd/error_log
),查找任何错误信息,确保所有必要的 PHP 扩展都已安装,并且没有语法错误。
3. Q: 如何更改 Cacti 的默认管理员密码?
A: 首次登录 Cacti 后,系统会提示更改默认密码,按照提示操作即可完成密码修改,如果错过此步骤,可以在管理界面中手动更改密码。
通过以上步骤,您可以在 CentOS 7 系统上成功安装并配置 Cacti,用于监控网络设备和服务器的性能指标,Cacti 提供了丰富的功能和插件支持,可以满足大多数企业级监控需求,希望这篇指南对您有所帮助,如有更多问题,请参考 Cacti 官方文档或相关技术社区。