Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2997371
  • 博文数量: 454
  • 博客积分: 4860
  • 博客等级: 上校
  • 技术积分: 6375
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 10:08
个人简介

10年工作经验,专研网站运维。

文章分类

全部博文(454)

文章存档

2017年(11)

2016年(13)

2015年(47)

2014年(36)

2013年(147)

2012年(64)

2011年(136)

分类: LINUX

2012-08-31 17:18:16

 
安装环境:
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

改为:
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
);
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
;
mysql> grant all on cactidb.* to cactiuser;
mysql> grant all on cactidb.* to
;
mysql> set password for
);
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 配置

默认账号密码都是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


阅读(2180) | 评论(0) | 转发(0) |
0

上一篇:Nagios install and configure

下一篇:lvm 快照

给主人留下些什么吧!~~