- 安装环境:
- 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
- [url]www.example.com:80[/url]
- 改为:
- 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 配置
- [url]http://localhost/cacti[/url]
- 默认账号密码都是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安装与配置
转载下一篇:yum update 中断修复
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Cacti安装与简单配置
Cacti安装与简单配置以及邮件告警简单设置,供参考学习
安装 Cacti 简单配置 -
安装配置Cacti
安装配置Cacti
安装配置Cacti