日期:2014-05-16  浏览次数:20716 次

Linux上简单配置安装cacti(五)cacti试安装
Linux上简单配置安装cacti(五)cacti试安装

4.3cacti安装
我下载的文件是cacti-0.8.7e.tar.gz,上传上服务器,解开压缩
tar zxvf cacti-0.8.7e.tar.gz
拷贝到工作目录
mv cacti-0.8.7e /usr/local/apache2/htdocs/cacti
cd /usr/local/apache2/htdocs/cacti
新增mysql用户,参考以前的BLOG:
http://hi.baidu.com/luohuazju/blog/item/c6705efc1eedbc87b801a032.html

登陆mysql环境
mysql -u root -p
使用mysql库
use mysql;
查看原有用户
select Host, User, Password from user;
新建库cacti
create database cacti;
新建用户cacti,并将库cacti的所有权限都给他
grant all privileges on cacti.* to cacti@"%" identified by 'cacti';
刷新权限
flush privileges;
退出mysql环境
exit

导入数据
mysql -u root -pkaishi cacti <cacti.sql

修改cacti的配置:
vi include/config.php
修改如下段落:
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
改为:
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";

修改snmp的配置文件:
vi /etc/snmp/snmpd.conf

修改下面几部分内容:
1 com2sec notConfigUser default public
改为:com2sec notConfigUser localhost public

2 access notConfigGroup "" any noauth exact systemview none none
改为:access notConfigGroup "" any noauth exact all none none

3 #view all included .1 80
去掉注释

保存退出

启动snmp
/etc/init.d/snmpd start

新建系统用户
adduser cacti
设置系统密码
passwd cacti
赋予权限
chown -R cacti rra/ log/

修改计划任务,使CACTI每5分钟获得一次数据:
crontab -e -u cacti
添加如下内容:
*/5 * * * * /usr/local/bin/php /usr/local/apache2/htdocs/cacti/poller.php > /dev/null 2>&1
保存退出


访问http://ip/cacti 报错如下:
FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'
解决办法:
查看日志
/usr/local/apache2/htdocs/cacti/log/cacti.log,没有日志信息
本机访问远端的mysql,是可以访问的。
但是本机访问mysql
mysql -u cacti -pcacti 确发现无法访问,返回信息如下:
ERROR 1045 (28000): Access denied for user 'cacti'@'localhost' (using password: YES)
NND,看来这个mysql的控制越来越严格了,重新设置一遍localhost的访问看
mysql -u root -p
use mysql;
grant all privileges on cacti.* to cacti@"localhost" identified by 'cacti';
flush privileges;
可以使用mysql -u cacti -pcacti登陆了。
将config.php的hostname改为 127.0.0.1,重试,数据库连接上了,报错如下:
The following PHP extensions are missing:
sockets
Please install those PHP extensions and retry
解决办法,编译安装php的时候,没有加上参数,需要重新再做一次。。。。。
In the ./configure step building PHP, append --enable-sockets

步骤按照前面php安装哪里,只是在./configure的时候加上上面所说的参数:
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-oci8=share,instantclient,/opt/oracle/instantclient --enable-sockets

重新安装好php,重启apache2后,终于打开了安装界面
http://10.206.19.59/cacti/install/

下一步,下一步,出了很多bin里面的文件没有找到的错误[ERROR: FILE NOT FOUND]
错误:/usr/local/bin/rrdtool
错误:/usr/local/bin/snmpwalk
错误:/usr/local/bin/snmpget
错误:/usr/local/bin/snmpbulkwalk
错误:/usr/local/bin/snmpgetnext

解决:cp /usr/local/rrdtool/bin/rrdtool /usr/local/bin/rrdtool
其他的命令都没有找到对应的文件,可能是安装snmp的问题,这部分要重新安装。