您的位置:首页 > 职场人生

Cacti安装最全配置资料

2008-08-29 09:13 483 查看
安装环境:

1.系统:Centos 5.1
2.软件包需求:cacti-0.8.7j,mysql-5.0.20,php-5.2.6,apache2.2(以上均为源码包).

安装配置过程:

1. 安装apache2.2
解压软件包,进入安装目录,我的编译过程如下:

安装apr和apr-util
cd httpd-2.2.17/srclib/apr
./configure --prefix=/usr/local/apr
make && make install
cd ../apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
# ./configure --prefix=/usr/local/apache --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin --enable-mods-shared=all --with-mpm=worker --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache

# make
# make install

Apache编译参数注解
./configure //配置源代码树

--prefix=/usr/local/apache //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。

--enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块

--enable-deflate=shared //支持网页压缩

--enable-expires=shared //支持 HTTP 控制

--enable-rewrite=shared //支持 URL 重写

--enable-cache //支持缓存

--enable-file-cache //支持文件缓存

--enable-mem-cache //支持记忆缓存

--enable-disk-cache //支持磁盘缓存

--enable-static-support //支持静态连接(默认为动态连接)

--enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件

--enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件

--enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序

--enable-static-logresolve //使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名

--enable-static-htdbm //使用静态连接编译 htdbm - 操作 DBM 密码数据库

--enable-static-ab //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具

--enable-static-checkgid //使用静态连接编译 checkgid

--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本

--disable-cgi //禁止编译 CGI 版本的 PHP

--disable-userdir //禁止用户从自己的主目录中提供页面

--with-mpm=worker // 让apache以worker方式运行

--enable-rewrite //让apache支持伪静态规则

--enable-deflate //开启gzip压缩

--enable-authn-dbm=shared // 对动态数据库进行操作。Rewrite时需要

--enable-mods-shared=all 做大化编译

安装完成后,编辑apache的配置文件,使之能正常使用:

# vi /usr/local/apache/conf/httpd.conf

找到下面这行:

#ServerName

www.example.com:80

改为:

ServerName yourIP:80

#Listen 80

Listen yourIP:80

启动apache:

#/usr/local/apache/bin/apachectl start

在浏览器里输入你的IP或者localhost测试一下,是否能看到apache的测试页,成功的话,说明安
装成功

#cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

vi /etc/rc.d/rc.local

#apache start

/usr/local/apache/bin/apachectl start ---添加apache自启动

这样就可以实现service httpd restart 了

2.安装mysql-5.0.20

解压软件包,进入安装目录,我的编译过程如下:

# ./configure --prefix=/usr/local/mysql

# make;make install

# cp support-files/my-medium.cnf /etc/my.cnf (这一步是将配置文件拷贝到/etc下面)

编译选项当中指定安装路径就可以了

配置mysql过程:

#groupadd mysql

#useradd -g mysql mysql

#cd /usr/local/mysql

#./bin/mysql_install_db --user=mysql

#chown -R root .

#chown -R mysql var

#chgrp -R mysql .

启动mysql

#./bin/mysqld_safe --user=mysql &

如果看到下面的信息,就说明启动成功了

# Starting mysqld daemon with databases from /usr/local/mysql/var

可以测试一下,看看能不能登陆mysql数据库

# /usr/local/mysql/bin/mysqladmin -uroot password '你的密码' (给初始登陆mysql的用户
root设置密码,当

然不设置也能登陆,推荐设置密码)

# /usr/local/mysql/bin/mysql -uroot -p你的密码 (注意: -p后面不要带空格)

如果出现下面的欢迎字样,说明连接成功:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 9 to server version: 5.0.20a-log

mysql> set password for root@localhost=password('cactipw');

mysql> Query OK, 0 rows affected (0.00 sec)

mysql> create database cactidb;

mysql> grant all on cactidb.* to root;

mysql> grant all on cactidb.* to root@localhost;

mysql> grant all on cactidb.* to cactiuser;

mysql> grant all on cactidb.* to cactiuser@localhost;

mysql> set password for cactiuser@localhost=password('cactipw');

mysql> flush privileges; (See cacti docs/INSTALL)

mysql> exit

//select * from user;

//查询帐号是否添加成功

3.安装php-5.2.0

解压软件包,进入安装目录,我的编译过程如下:

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-xml-config=/usr/local/lib --with-config-file-
path=/usr/local/php/etc --enable-socket

#make;make install

编译选项中--with-apxs2=/usr/local/apache/bin/apxs 是说将PHP模块编译进apache,--
with-

mysql=/usr/local/mysql 是说指定mysql的路径(其实就是告诉PHP我们的mysql的一些头文件
信息,如果你的

mysql和PHP不是同一台机器的话,指定mysql的头信息是编译必要的),--with-config-file-

path=/usr/local/php/etc 是说将PHP的主配置文件放在什么地方,这是个人习惯

#cp php.ini-dist /usr/local/php/lib/php.ini

#vi /usr/local/apache/conf/httpd.conf

找到下面字段:

DirectoryIndex

在iindex.html前面添加index.php

并在配置文件最后加入如下字段:

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

测试PHP是否正常运行:

#vi /usr/local/apache2/htdocs/index.php

写入下面一行:

保存退出后重新启动apache

#/etc/init.d/httpd start

在浏览器里输入IP,如果能够看到phpinfo的测试页,那么PHP已经正常工作了

4,安装rrdtool

tar zxvf rrdtool-1.0.50.tar.gz

cd rrdtool-1.0.50

./configure --prefix=/usr/local/rrdtool

make

make install

5, net-snmp 安装

rpm -qa | grep net-snmp

net-snmp-*

net-snmp-*

net-snmp-*

编辑本地snmpd:

vi /etc/snmp/snmpd.conf

更改 1、com2sec notConfigUser default public

改为:com2sec notConfigUser (你想监控的那台机器的IP) public

2、access notConfigGroup "" any noauth exact systemview none
none

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

3、#view all included .1 80

将前面的 # 注释 去掉。

保存退出 :wq

service snmpd restart

注:如果你机器内没有snmpwalk和snmpge命令,请到安装盘里查找 net-snmp-utils 包,rpm
-ivh net-snmp-utils-*.rpm 只后这两个命令就在系统里了。其他包也都在安装盘里 确保安装
这四个包就OK

6,解压cacti的软件包,进行如下操作:

#mv cacti-0.8.7 /usr/local/apache/htdocs/cacti

#cd /usr/local/apache/htdocs/cacti

useradd cactiuser

passwd cactiuser (pwd:cactipw)

/usr/local/mysql/bin/mysql –u root –p cactidb 导入数据表

chown –R cactiuser rra/ log/

vi include/config.php

$database_type = “mysql”;

$database_default = “cactidb”;

$database_hostname = “localhost”;

$database_username = “cactiuser”;

$database_password = “cactipw”;

7,修改计划任务,使CACTI每5分钟获得一次数据:

#crontab -e -u 用户名

添加如下内容:

*/5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php >
/dev/null 2>&1

保存退出

#chown -R rra/ log/。

8,cacti 配置

http://localhost/cacti

默认账号密码都是admin

配置路径:

snmpwalk Binary Path : /usr/bin/snmpwalk

snmpget Binary Path: /usr/bin/snmpget

RRDTool Binary Path: /usr/local/rrdtool/bin/rrdtool

PHP Binary Path: /usr/local/php/bin/php

Cacti Log File Path: /opt/cacti/log/cacti.log

Cactid Poller File Path: /opt/cacti/poller.php

9,排错

1. 首先检查一下rra/下面,有没有数据,如果没有检查rra/ log/的拥有者是不是cactiuser

2. snmpwalk -v 2c -c public ServerIP if 用来测试被控对象(serverIP)是否开启了SNMP服


3. snmpwalk -v 2c ServerIP -c public .1.3.6.1.4.1.2021.10.1.3 查看被控端是否有CPU负
载的数据返回

4. /usr/local/bin/php /home/wwwroot/cacti/poller.php 用来测试PHP是否可以采集到数据
。如果上面的都正确,但这步出错,很有可能是PHP配置的问题,或开启了SuLinux。

5. 如果按第2步snmpwalk能采集到数据,但第3步无法采集,可能是PHP设置的问题,修改
PHP.ini,很有可能是PHP权限问题。如果第4步正常而无法显示图,则可能是rra/ log/ 的
Owner不对
6. #crontab -e
*/5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1

//每5分钟自动执行一次数据
注意:如果执行没成功是模式没有执行

或者运行一下该命令看rra文件夹是否有数据
# /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php
查询模式crond的

[root@localhost bin]# chkconfig --list| grep cron

anacron 0:off 1:off 2:on 3:off 4:on 5:on 6:off

crond 0:off 1:off 2:on 3:off 4:on 5:on 6:off
[root@localhost bin]# chkconfig crond on //更改模式为启动计划任务
[root@localhost bin]# chkconfig --list| grep cron

anacron 0:off 1:off 2:on 3:off 4:on 5:on 6:off

crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off

php相关环境配置
实例一:
./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-zlib --with-gd --with-gettext --with-gdbm --enable-mbstring --enable-sockets
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 cacti 休闲