一、环境需求
操作系统:REDHAT 5.4
二、编译安装
2.1 mysql安装mysql安装请查看
http://johnsz.blog.51cto.com/525379/736126
2.2 编译安装apache
编译安装支持库
a、 编译安装jpegsrc.v6b.tar.gz
# tar zxvf jpegsrc.v6b.tar.gz
# mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
# cd jpeg-6b/
# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
# make
# make install
b、 编译安装libpng-1.4.4.tar.gz
# tar zxvf libpng-1.4.4.tar.gz
# cd libpng-1.4.4
# ./configure --prefix=/usr/local/libpng
# make
# make install
c、 编译安装freetype-2.4.3.tar.gz
# tar zxvf freetype-2.4.3.tar.gz
# cd freetype-2.4.3
# mkdir -pv /usr/local/freetype
# ./configure --prefix=/usr/local/freetype
# make && make install
注:可以yum,方便快捷点。
d、 编译安装zlib-1.2.5.tar.gz
# tar zxvf zlib-1.2.5.tar.gz
# cd zlib-1.2.5
# mkdir /usr/local/zlib
# ./configure --prefix=/usr/local/zlib
# make
# make install
注:可以yum,方便快捷点。
e、 编译安装curl-7.21.2.tar.gz
# tar zxvf curl-7.21.2.tar.gz
# mkdir -pv /usr/local/curl
# cd curl-7.21.2
# ./configure --prefix=/usr/local/curl
# make
# make install
注:可以不需要
f、编译安装libxml2-sources-2.7.8.tar.gz
# tar zxvf libxml2-sources-2.7.8.tar.gz
# cd libxml2-2.7.8/
# mkdir -pv /usr/local/libxml2
# ./configure --prefix=/usr/local/libxml2
# make
# make install
注:最好源码安装,也可以yum安装
G、编译安装libxslt-1.1.9.tar.gz
# tar zxvf libxslt-1.1.9.tar.gz
# mkdir -pv /usr/local/libxslt
# cd libxslt-1.1.9
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
# make
# make install
注:可以安装,也可以不安装
H、编译安装fontconfig-2.8.0.tar.gz
下载地址
http://fontconfig.org/release/
# tar zxvf fontconfig-2.8.0.tar.gz
# cd fontconfig-2.8.0
# mkdir -pv /usr/local/fontconfig
# ./configure --prefix=/usr/local/fontconfig --disable-docs --with-freetype-config=/usr/local/freetype/bin/freetype-config
# make
# make install
I、编译安装 gettext-0.18.tar.gz
下载地址
http://mirror.bjtu.edu.cn/gnu/gettext/
可以使用 yum install gettext安装
# tar zxvf gettext-0.18.tar.gz
# cd gettext-0.18
# mkdir /usr/local/gettext
# ./configure --prefix=/usr/local/gettext
# make
# make install
J、编译安装libart_lgpl-2.3.17.tar.tar
# tar zxvf libart_lgpl-2.3.17.tar.tar
# cd libart_lgpl-2.3.17
# mkdir -pv /usr/local/libart
# ./configure --prefix=/usr/local/libart #也有加上参数--disable-shared 意义暂时不明白
# make
# make install
K、编译安装gd-2.0.32.tar.gz
# tar zxvf gd-2.0.35.tar.gz
# cd gd-2.0.35
# mkdir -pv /usr/local/gd2
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg
# tar zxvf httpd-2.2.15.tar.gz
注:这个源码包特殊,最好安装gd-2.0.32.tar.gz以上的包,不然会报错,这个包一路装下去也没报错。
L、 httpd-2.2.17.tar.gz
# cd httpd-2.2.17
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-rewrite --enable-deflate --enable-expires --disable-cgi --disable-cgid --disable-access --disable-env --disable-autoindex --disable-asis --disable-action --disable-negotiation --disable-include --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
# make
# make install
# /usr/local/apache2/bin/apachectl -l #查看编译的模块
# /usr/local/apache2/bin/apachectl –k start #启动http服务
输入
http://IP 出现页面表示apache安装成功
M、安装php
1、 编译安装 zxvf php-5.3.3.tar.gz
# tar zxvf php-5.3.3.tar.gz
# mkdir -pv /usr/local/php5
# cd php-5.3.3
# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-gd --with-jpeg-dir=/usr/local/jpeg --with-zlib-dir=/usr/local/zlib --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql
--enable-mbstring=all--enable-mbregex --enable-ftp --enable-soap --with-xsl=/usr/local/libxslt --with-config-file-path=/usr/local/php5/etc --enable-zip --with-libXML-dir=/usr/local/libxml2 --
enable
-sockets (这个enable-sockets重要一定要有,上面有些软件是用yum安装的,所以不用指向安装地址)
# make
# make install
N整合apache和php
修改httpd.conf文件使支持php
# vi /usr/local/apache/conf/httpd.conf
查看是否有这一行,如果没有,需要增加上,理论上apache2.2.17与php5.3.4编译安装完成后,会自动生成这一行
LoadModule php5_module modules/libphp5.so
在第310行下面增加下面的内容,309与310行的内容是
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在这两行下面加入下面的内容,就能支持php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
注:关于没有php.ini的解决,从源码目录复制
cp php.ini-development /usr/local/php5/etc/php.ini #注php5.33以上都没有php,ini文件应该不叫php.ini-dist,这个文件是php5.2.14的
修改PHP时区
#vi
/usr/local/php5/etc/php.ini
将date.timezone 改为PRC
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC
增加一个php测试页面(现在的家目录在$apache_home/htdocs下面)另外,测试完后不要忘记删掉这个页面
# vi /usr/local/apache/htdocs/index.php
<? phpinfo();
?>
P、安装rrdtool
解决依赖关系
安装方法1:
#yum -y install rrdtool*
安装方法2:
第一步:先安装这个包
# rpm –ivh rrdtool-devel-1.4.4-1.el5.wrl.i386.rpm
第二步:要这样安装这样的包 (这两个包要同时安装)
# rpm –ivh rrdtool-1.4.4-1.el5.wrl.i386.rpm rrdtool-1.4.4-1.wrl.src.rpm
Q、安装cacti
# tar zxvf cacti-0.8.7g.tar.gz
# mv cacti-0.8.7g /usr/local/apache/htdocs/cacti
# vi /usr/local/apache/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "127.0.0.1";
$database_username = "cacti"; #用户名自己弄一个
$database_password = "mysql"; #密码自己弄一个
$database_port = "3306";
# useradd cacti
# chown -R cacti:cacti /usr/local/apache/htdocs/cacti 这一步相当的重要,涉及到权限问题
# crontab -e -u cacti
#
加入自动执行规则,每 5 分钟执行
*/5 * * * * /usr/local/php5/bin/php /var/www/cacti/poller.php > /dev/null 2>&1
注:可以先在cacti用户中运行一次
su - cacti
/usr/local/php5/bin/php /usr/local/apache/htdocs/cacti/poller.php
R、启动mysql建立cacti数据库和用户,导入数据库模板
Mysql –u root –p mysql
> create database cacti;
> use cacti;
> source /usr/local/apache/htdocs/cacti/cacti.
sql
> grant all privileges on cacti.* to
cacti@localhost identified by 'mysql';
> flush privileges;
注解:grant all privileges on *.* to 用户名@登录主机 identified by "密码";给予全局权限
T、安装snmp
# yum install net-snmp-*
# vi /etc/snmp/snmpd.conf
com2sec notConfigUser default public
改为127.0.0.1 这一个是cacti监控服务器的IP地址
com2sec notConfigUser 127.0.0.
1
public
access notConfigGroup "" any noauth exact systemview none none
改为
access notConfigGroup "" any noauth exact
all none none
#view all included .1 80
去掉注释#
view all included .1 80
保存退出,运行/etc/init.d/snmpd start
查看snmp状态:snmpwalk -c public -v1 127.0.0.1 .1.3.6.1.2.1.25.2.3.1
S、安装cactid
# tar zxvf cacti-cactid-0.8.6k.tar.gz
# cd cacti-cactid-0.8.6k
# ./configure --with-mysql=/usr/local/mysql
# make
# make install
# cp cactid cactid.conf /usr/local/cactid/
# vi /usr/local/cactid/cactid.conf
DB_Host 127.0.0.1
DB_Database cacti
DB_User cacti
DB_Pass mysql
DB_Port 3306
三.初始化Cacti系统:
1.在客户端Web浏览器访问Cacti服务器,第一次访问cacti界面,页面将跳转至Cacti的初始化安装向导界面
2.设置各种工具命令的路径,如果没有找到,需要手动修改。此时需要注意,如果是编译安装的AMP平台,有些路径需要作对应改变。
3.设置RRDtool工具的版本和字体的路径:在Cacti的控制台界面中,点击左侧栏的“设置”,打开Cacti的系统设置界面,确认“常规”标签页中的“RRDtool应用程序版本”设置为“RRDtool1.4.x”。
4.找到“路径”选项卡中的“RRDtool默认字体路径”,将字体路径设置为“/usr/share/fonts/zh_TW/TrueType/bsmi00lp.ttf”
5.基本设置完成,可以添加相应设备进行监控
四、cacti图片不显示的解决方法
先确定你的IP地址、snmp comunite、snmp version等信息配置没有错误。
如果是在linux下安装cacti的话,可以按以下步骤检测:
1、cacti的data sources和Graph Management均有debug。看是否有错误,比如rrd文件找不到等。
2、data sources里看rrd文件的名称,然后到/cacti/rra目录中看是否有该文件存在。
3、如果有rrd文件存在,则可以使用
rrdtool fetch yourRRDfile.rrd AVERAGE
复制代码
命令,看该文件的采集的数据,如果都是“nan”,那就是没有取到数据。
4、有可能是snmpget、snmpwalk和rrdtool的路径错误。
5、排除错误后,需要重新建立该监测点(graph)。
提示:每一个图像的文件均会保存为rra目录里的一个rrd为后缀的文件(可以在“Data Sources”中看到)
。“Data Sources”和“Graph Management”中均可以进行debug,可以从debug中得出错误信息。
参考文献:
http://lovevickie.blog.51cto.com/1576116/559977
http://xjsunjie.blog.51cto.com/999372/648886
http://www.oschina.net/question/17_432