因为需要cacti的图形化界面,于是安装了一遍,没想到折腾了快一个星期,现在贴出主要过程和遇到的主要问题。

 
    跟大部分安装文档类似,我就写个大概,我也不能比其他人写的更好了,就不转载了,有兴趣的自己搜一下。     安装apache,mysql,和php,尤其注意php的包要装全。php-snmp php-pdo,php-mysql,php-ldap,php-common,php-json,php-xml,php-gd,尤其注意版本要和php主版本一致。我就吃亏了。    
 
创建用户cacti     
 
安装cacti  #tar zxvf cacti-0.8.8.tar.gz  
 
#mv cacti-0.8.8/* /usr/local/apache2/htdocs/  
 
#chown -R cacti /usr/local/apache2/htdocs/rra
#chown -R cacti /usr/local/apache2/htdocs
#chgrp -R cacti /usr/local/apache2/htdocs/   
 
导入数据库 # mysql -u root -p
  Enter password: 
mysql> create database cacti;
 
mysql> grant all on cacti.* to  root@localhost ;
 
mysql> grant all on cacti.* to  root@127.0.0.1;    
 
mysql> grant all on cacti.* to  cacti@localhost identified by 'cacti';  
 
mysql>Grant all on cacti.* to cacti@127.0.0.1 identified by'cacti';
 
mysql> flush privileges;  
 
mysql>exit;
 
cd /usr/local/apache2/htdocs/cacti
 
#mysql -u root -p cacti < cacti.sql
 
password:
 
配置config.php ,路径/usr/local/apache2/htdocs/cacti/include
 
 $database_type = "mysql";
  $database_default = "cacti";
  $database_hostname ="127.0.0.1";
  $database_username = "cacti";
  $database_password =  "cacti";
 
  $url_path = "/cacti/";
 
赋予权限给rra/ log/
 
chown -R cacti rra/ log/
 
添加日程
 
# su – cacti
 
# crontab –e
 
*/5 * * * * /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
 
 
这时候http://serverip/cacti 应该可以访问了。
 
遇到的主要问题,
 
1.显示无法连接mysql
 
解决方法编辑配置文件config.php
 
$database_hostname="localhost" 改为$database_hostname='127.0.0.1'
 
应该是没有解析出来。
 
2.显示php扩展缺失 。The following PHP extensions are missing:
 
* sockets
 
解决方法重新编译php 使用--enable-sockets 选项
 
解决了第二个问题,出现了第三个更棘手的问题
 
3.访问http://ip/cacti显示空白页面,也没有错误提示。
 
出现这个问题我查了很多的文档,检查了无数个地方,有些帖子说要安装php的依赖包,我尝试了,但都不管用。我是从rpm下载的站点分别下的,当时发现有的是5.3.3_2.8的有的是5.3.3_1.3的,是不能混着安装的,也是装不上的,这给我一个思路,是不是我的php跟其他依赖包不兼容?检查一下发现我的是5.4.13的,但是装的都是for 5.3.3的。卸载了之后,(需要先卸载其他的包,然后卸载主程序)重新安装5.3.15的php主程序后,发现空白页面的问题没有了,出现了第四个问题。
 
4.打开cacti主页,立即跳转到http://ip/cactiinstall 显示页面无法找到。
 
从其他网站上没发现同样的问题,只有类似的,检查了很多次配置文件,也没有发现异常。仔细看了配置文件config.php,发现$url_path='/cacti', 在配置文档里,是$url_path='/cacti/',就差一个/, 结果大不同!
 
希望能被后来的人所借鉴,少走弯路。