Cacti的安装(for CentOS 5.2)

系统环境:CentOS 5.2 (Linux)最小化安装+ Development Tools (可以使用yum -y groupinstall Development\ Tools来安装)。

#Cacti Readme 中描述所需要的软件包
PHP 4.3.6+
MySQL 4.1.x or 5.x
RRDTool 1.0.49+ or 1.2.x
NET-SNMP 5.1.2+

#更详细的依赖关系
* httpd
* php
* php-mysql
* php-snmp
* mysql
* mysql-server
* net-snmp

1. Disable SELinux 关闭SELinux
vi /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled
设置完需要重新启动

之所以要关闭SELinux是因为国内对SELinux的应用还不普及,假如了解SELinux的使用,那么可以不关闭。正确设置相应的权限即可。

2. 下载 Cacti http://www.cacti.net
wget http://www.cacti.net/downloads/cacti-0.8.7b.tar.gz

3. 安装所需的包

yum -y install httpd
yum -y install php
yum -y install php-mysql
yum -y install php-snmp
yum -y install mysql-server
yum -y install perl
yum -y install net-snmp-utils

有可能需要安装(没有安装Development Tools的情况下):

yum -y install libpng
yum -y install freetype
yum -y install libart_lgpl 

4. 将httpd和mysqld设置成自动启动

chkconfig httpd on
chkconfig mysqld on
5. 下载 rrdtool http://oss.oetiker.ch/rrdtool/download.var
wget http://dag.wieers.com/rpm/packages/rrdtool/perl-rrdtool-1.2.23-1.el5.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/rrdtool/rrdtool-1.2.23-1.el5.rf.i386.rpm
6. 安装 rrdtool
rpm -ivh perl-rrdtool-1.2.23-1.el5.rf.i386.rpm rrdtool-1.2.23-1.el5.rf.i386.rpm

7. 修改mysqld配置,将默认字符集设置成utf-8,这样可以方便cacti中显示中文菜单
vi /etc/my.cnf
[mysqld]
collation-server = utf8_general_ci
default-collation = utf8_general_ci
character-set-server = utf8
default-character-set = utf8
[mysql]
default-character-set = utf8

8. 建立cacti所需数据库,并设置相关权限,下面其实建了两个用户,适应不同mysql环境。
mysqladmin create cacti
mysql cacti < cacti.sql ( cacti.sql cacti目录下)
mysql> create user cacti@’localhost’;
mysql> create user cacti@’127.0.0.1′;
mysql> grant all privileges on cacti.* to cacti@’localhost’;
mysql> grant all privileges on cacti.* to cacti@’127.0.01′;
mysql> set password for cacti@’localhost’= password(‘cactipasswd’);
mysql> set password for cacti@’127.0.0.1′ = password(‘cactipasswd’);

9. 修改cacti配置文件
vi include/config.php ( cacti目录下)
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cacti”;
$database_password = “cacitpasswd”;
$database_port = “3306″;

10. 为cacti配置apache访问
vi /etc/httpd/conf.d/cacti.conf
Alias /cacti /srv/_webapp/cacti

<Directory /srv/_webapp/cacti>

Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

</Directory>

11. 设置cacti数据保存目标权限
chown -R apache rra log ( cacti目录下)

12.设置cacti采集
vi /etc/cron.d/cacti
*/5 * * * * apache /usr/bin/php -q /srv/_webapp/cacti/poller.php > /srv/_webapp/cacti/log/poller.log 2>&1

13. 未提到过的配置文件,均使用系统默认。

On this day..

Tags: , ,

8 comments

  1. thanX alot! this is very helpful!

  2. [root@DNS1 ~]# rpm -ivh perl-rrdtool-1.2.23-1.el5.rf.i386.rpm rrdtool-1.2.23-1.el5.rf.i386.rpm
    警告:perl-rrdtool-1.2.23-1.el5.rf.i386.rpm: V3 DSA ?章:NOKEY, key ID 6b8d79e6
    ??:相依性失?:
    rtld(GNU_HASH) 是 perl-rrdtool-1.2.23-1.el5.rf.i386 所需要的
    libc.so.6(GLIBC_2.4) 是 rrdtool-1.2.23-1.el5.rf.i386 所需要的
    libpng12.so.0(PNG12_0) 是 rrdtool-1.2.23-1.el5.rf.i386 所需要的
    perl >= 4:5.8.8 是 rrdtool-1.2.23-1.el5.rf.i386 所需要的
    rtld(GNU_HASH) 是 rrdtool-1.2.23-1.el5.rf.i386 所需要的

    请问下当我照你这个做进行到第六步的时候该怎么处理

    曹宇伟 Reply:

    假如你的是CentOS 5.2,那么应该是因为没有安装 Development Tools (可以使用yum -y groupinstall Development\ Tools来安装)。

  3. set password for cacti@’locahost’=password(‘cactipasswd’)

    报错
    mysql> set password for cacti@’locahost’=password(‘cactipasswd’);
    ERROR 1133 (42000): Can’t find any matching row in the user table

    帮忙看下 是个什么原因阿

    曹宇伟 Reply:

    应该是你没有为MySQL添加账户:
    #mysqladmin create cacti
    假如不是默认的本地MySQL,root空密码,那么需要
    mysqladmin -uroot -p create cacti

    总之,上面的错误,是因为还没有添加成功cacti这个用户,所以设置密码的时候提示:找不到用户。

  4. 科西嘉

    你好,我还是问那个MYSQL问题的人,上面的那个问题我也很奇怪,我明明第一步就是加了用户,不过最终还是没搞定,我最后把那个数据库给DROP掉了,重新来过就好了,没想到你如此的细心,我08年考了CE,现在才发现CE就是入门,现在也在做LINUX系统管理,想请教一下 能不能加一下我,有时候一个问题要花好久才能搞定。不知道你用QQ还是MSN 我QQ 812246703 MSN linuxmymail@163.com 再次谢谢了。。。

    曹宇伟 Reply:

    QQ: 28893556, MSN: caoyuwei@hotmail.com

  5. 我来捧个场

Leave a comment