作者:无暇 (整理+原创+修改)
原创:http://www.chinacentos.com/

以下基于Centos5.0 下,完整教程,其中有可能省略了解压缩包的命令,
如果是,希望大家自己弄,就不用我说了吧。
这个过程是我20079-10月间,自己通过找教程弄来的,
按这个过程走100%可以完成安装,并画出中文图


前言,安装centos


安装时一般最小安装,但gcc等工具要装上,还有 snmp 软件包,这样避免装完以后再yum安装,而且据说yum等安装的snmp很多时候不是很好用,具体不知。

安装完以后,一般只留以下服务即可,并关闭防火墙。

crond
httpd //
以后装的
iptables
kudzu
mysqld //
以后装的
network
sendmail
snmpd
snmptrapd
sshd
yum-updatesd

使用软件如下

cacti-0.8.6j-cn.tar.gz
freetype-2.3.5.tar.gz
httpd-2.2.6.tar.gz
libart_lgpl-2.3.17.tar.gz
libpng-1.2.18.tar.gz
zlib-1.2.3.tar.gz
mysql-5.0    .45-linux-i686-glibc23.tar.gz
php-5.1.6.tar.gz
rrdtool-1.2.23.tar.gz
fonts-chinese-3.02-9.6.el5.noarch.rpm

 

 

 

 


安装libxmlRedHat AS 4默认安装libxml包,但版本太低,PHP5需要更高版本的libxml包。
      # tar –zxvf libxml2-2.6.25.tar.gz
      # cd libxml2-2.6.25
      # ./configure
      # make
      # make install
一,安装 Mysql


1.
http://www.mysql.com/ 下载二进制版的Mysql安装包 //这个MYSQL是二进制版的,不用编译

2.
mysql的压缩包复制到/usr/local/ 目录
# cp mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz /usr/local

3.
解压缩到/usr/ocal/下并改名为mysql,并为了节省空间,删除mysql安装包
# tar xzvf mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz
# mv mysql-standard-5.0.15-linux-gnu-i686-glibc23 mysql
# rm mysql-standard-5.0.15-linux-gnu-i686-glibc23
4.
建立mysql组,建立mysql用户并且加入到mysql组中
# groupadd mysql
# useradd mysql -g mysql

5.
覆盖/etc/my.cnf
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

6.
进入mysql目录初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysqlroot用户设定访问权限
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql               

7.
设定root能访问/usr/local/mysql
# chown -R root .

8.
设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,在mysql_install_db时产生
# chown -R mysql data

9.
设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件
# chown -R mysql data/.

10.
设定mysql组能够访问/usr/local/mysql
# chgrp -R mysql .

11.
运行mysql,如果没有问题的话,应该会出现类似这样的提示:
[1] 42264
Starting mysqld daemon with databases from /usr/local/mysql/var

# /usr/local/mysql/bin/mysqld_safe --user=mysql &
如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。大多数问题是权限设置不正确引起的。

12.
用如下命令修改MYSQL
# /usr/local/mysql/bin/mysqladmin -u root password yourpassword

13. copy
编译目录的一个脚本,设置使mysql每次启动都能自动运行
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod 700 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on

14.
进入mysql
# mysql –uroot -p


二,编译Apache


# ./configure --prefix=/usr/local/apache --enable-so
# make
# make install
# cp /usr/local/apache/bin/* /usr/bin/
# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

注意,如果是第二次安装apache会提示出错:apr之类的,请用下面的方式安装:

安装APR
cd srclib/apr

#./configure --prefix=/usr/local/apr
#make
#make install

安装APR-util
cd srclib/apr-util

#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#make
#make install

然后进入apache编译目录

./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all --enable-cgi --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin
使用编辑器打开httpd文件,并在第一行#!/bin/sh下增加两行文字如下

# chkconfig: 345 80 15
# description: Apache

接着注册该服务

#chkconfig --add httpd


三,编译 PHP
安装PHP前需要安装一些支持库:

1.安装zlib

  tar zlib-1.2.3.tar.gz
  cd zlib-1.2.3
  ./configure --prefix=/usr/local/zlib
  make
  make install


2
.安装libpng

  tar zxvf libpng-1.2.16.tar.tar
  cd libpng-1.2.16
  cd scripts/
  mv makefile.linux ../makefile
  cd ..
  make
  make install
  
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个


3
.安装freetype

  tar zxvf freetype-2.3.4 .tar.gz
  cd freetype-2.3.4  
  ./configure --prefix=/usr/local/freetype
  make
  make install


4
.安装Jpeg

   tar -zxf jpegsrc-1.v6b.tar.gz
   cd jpeg-6b/
   mkdir /usr/local/libjpeg
   mkdir /usr/local/libjpeg/include
   mkdir /usr/local/libjpeg/bin
   mkdir /usr/local/libjpeg/lib
   mkdir /usr/local/libjpeg/man

   mkdir /usr/local/libjpeg/man/man1

  //
可以用mkdir -p /usr/local/libjpeg/man/man1 一步创建多层目录

   ./configure --prefix=/usr/local/libjpeg --enable-shared --enable-static
   make && make install
注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库



5
.安装Fontconfig

tar -zxvf fontconfig-2.5.91.tar.gz
cd fontconfig-2.5.91

./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/

local/freetype/bin/freetype-config
make
make install


6
.安装GD

  tar -zxvf gd-2.0.34.tar.gz
  cd gd-2.0.34
  ./configure --with-fontconfig=/usr/local/fontconfig --with-png --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/libjpeg

  make
  make install

编译时显示以下信息:

** Configuration summary for gd 2.0.34:

   Support for PNG library:          yes
   Support for JPEG library:         yes
   Support for Freetype 2.x library: yes
   Support for Fontconfig library:   yes
   Support for Xpm library:          no
   Support for pthreads:             yes



7
.安装libxmlRedHat AS 4默认安装libxml包,但版本太低,PHP5需要更高版本的libxml包。
      # tar –zxvf libxml2-2.6.25.tar.gz
      # cd libxml2-2.6.25
      # ./configure
      # make
      # make install

8).安装libart_lgpl-2.3.17

     # tar –zxvf libart_lgpl-2.3.17

     # cd libart_lgpl-2.3.17

     # ./configure --prefix=/usr/local/libart-2.0

     # make

     # make install

下面开始安装php
注:直接复制以下代码,有可能因为空格及回车问题导致不完整,请仔细验证
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-pcre-regex --enable-mbstring=all  --with-libmbfl --enable-gd-native-ttf --with-ttf --enable-gd-jis-conv --with-freetype-dir=/usr/local/freetype –with-mail --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr --with-zlib-dir=/usr/local/zlib --enable-xml --enable-sockets --enable-ucd-snmp-hack
# make
# make install
# cp /usr/local/php/bin/* /usr/bin

# cp /usr/local/php/bin/* /usr/local/bin
# cp php.ini-dist /usr/local/php/lib/php.ini
# vi /usr/local/apach/conf/httpd.conf

添加如下2行:(添在AddType *** 之后,自己看)
AddType application/x-httpd-php .php .phtml .php3 .php4 .php5
AddType application/x-httpd-php-source .phps



四,编译 rrdtool


解压缩后,修改rrd_graph.c.将(行数因版本问题,可能不同,请自己看好),然后再编译
51: {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,4, 0,"%d(%H:%M)"},

53: {180, 24*3600, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,12, 0,"%d(%H:%M)"},

55: {600, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"%a(%d)"},
56: {1200, 0, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"%d"},
57: {1800, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"%a(%d)"},
58: {2400, 0, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"%a(%d)"},
59: {3600, 0, TMT_DAY,1, TMT_WEEK,1, TMT_WEEK,1, 7*24*3600,"%V"},
60: {3*3600, 0, TMT_WEEK,1, TMT_MONTH,1, TMT_WEEK,2, 7*24*3600,"%V"},

3065: //setlocale(LC_TIME,"");
3066: #ifdef HAVE_MBSTOWCS
3067: setlocale(LC_ALL,"zh_CN");

先把freetype2的库文件环境变量设置好:(否则会报错找不到freetype2或者libart

ln -s /usr/local/freetype/include/freetype2 /usr/local/include/freetype2
#ln -s /usr/local/freetype/include/freetype2 /usr/include/freetype2

cp /usr/local/freetype/lib/libfreetype.a /usr/lib

ln -s /usr/local/include/libart-2.0 /usr/include/libart-2.0

cp /usr/local/libart-2.0/lib/libart_lgpl_2.a /usr/lib

#cd /usr/temp/rrdtool-1.2.26
# ./configure --prefix=/usr/local/rrdtool
# make
# make install
# cp /usr/local/rrdtool/bin/* /usr/local/bin/        
复制文件
# ln -s /usr/local/rrdtool-1.2.6 /usr/local/rrdtool    
改名

六,安装cacti

# tar zxvf cacti-0.8.7b.tar.gz

# cp -r cacti-0.8.7b /usr/local/apache/htdocs/cacti

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

# vi /usr/local/apache/htdocs/cacti/include/config.php

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cacti";

$database_password = "cacti";

//
cacti用户添加cron任务

# su – cacti

# crontab –e

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

     

4.
安装Cactid

CACTID
的安装需要以下支持:

o    net-snmp-devel
(需要编译安装net-snmp时添加--enable-developer选项)

o    mysql               

o    mysql-devel     
mysql源文件编译安装后默认支持)

o    openssl-devel  
Redhat默认安装)

# tar -zxvf cacti-cactid-0.8.6i.tar.gz

# cd cacti-cactid-0.8.6i

# ./configure --with-mysql=/usr/local/mysql --with-snmp=/usr/local/net-snmp

# make

//
这时你将在此目录下看到多出了cactidcactid.conf两个文件

# mkdir /usr/local/cactid

# cp cactid cactid.conf /usr/local/cactid

# vi  /usr/local/cactid/cactid.conf       //
修改cactid配置文件

DB_Host         127.0.0.1

DB_Database     cacti

DB_User         cacti

DB_Pass         cacti

七,上传cacti,以及导入数据库等

创建cacti数据库
1
、创建MYSQL数据库:
mysql –user=root -p create cacti
2
、导入cacti标准库:
mysql –uroot –p cacti < cacti.sql
(注意cacti.sql文件是否为可读)
3
、创建一个MYSQL用户名和密码:
mysql –user=root mysql
GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY ‘cacti’;
flush privileges;
4
、编辑/var/www/cacti/inlude/config.php,指定MYSQL用户名/密码和数据库名称
$database_default = ‘cacti’;
$database_hostname = ‘localhost’;
$database_username = ‘cacti’;
$database_password = ‘cacti’;

 

按我的教程,上传文件到 /usr/local/apache/htdocs/cacti 就可以用ip访问了

安装cacti的插件:

1、             首先上传cacti-plugin-0.8.6j-cn.diff文件至cacti安装目录

运行命令patch -p1 -N < cacti-plugin-0.8.6j-cn.diff

2、             上传thold并解压

3、             解压后会出现一个thold文件夹,将该文件夹复制到/cacti/plugins文件夹,然后编辑/cacti/include/config.php文件,
$plugins = array();下面加上:
$plugins[] = 'thold';
(如果安装monitor的话加上 $plugins[] = 'monitor';

4、             按照你自己apache的结构目录修改config.php

例如如果是这样的结构:

http://servername/cacti/

那就找到下面这行配置并更改如下:

$config['url_path'] = "/cacti/";


保存即可。

 

# tar -zxvf cacti-cactid-0.8.6i.tar.gz
安装cactid
# cd cacti-cactid-0.8.6i

# ./configure --with-mysql=/usr/local/mysql --with-snmp=/usr/local/net-snmp

# make

//
这时你将在此目录下看到多出了cactidcactid.conf两个文件

# mkdir /usr/local/cactid

# cp cactid cactid.conf /usr/local/cactid

# vi  /usr/local/cactid/cactid.conf       //
修改cactid配置文件

DB_Host         127.0.0.1

DB_Database     cacti

DB_User         cacti

DB_Pass         cacti

apache
的配置和cacti.php文件如何连数据库我就不说了

1
,建mysql数据库,建议使用phpmyadmin,那些命令太烦了,但注意下图





七,设置snmp
aix
上的snmp安装需要如下参数

--prefix=/usr/local/net-snmp --with-perl-modules --without-kmem-usage --enable-ipv6 --enable-embedded-perl --enable-shared --with-mib-modules=ucd-snmp/diskio

修改 /etc/snmp/snmpd.conf

1
、查找以下字段:
代码:
# sec.name source community
com2sec notConfigUser default public

"comunity"字段改为你要设置的密码.比如"chinacentos".
“default”改为你想哪台机器可以看到你的snmp信息,10.10.10.10。授权服务器IP

2
、查找以下字段:代码:
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact systemview none none

"read"字段改为all.
代码:
#access notConfigGroup "" any noauth exact all none none

3
、查找以下字段:代码:
## incl/excl subtree mask
#view all included .1 80
将该行前面的"#"去掉.
4
、查找以下字段:代码#
#name incl/excl subtree mask(optional)
添加一行view all included .1
变成
#name incl/excl subtree mask(optional)
view all included .1

5
、查找一下字段:代码
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
将该行前面的"#"去掉.
6
、启动snmp

ps –ef|grep snmp

#kill -9 查出来的id

snmpd -d –L


检测snmp是否已经能够工作

snmpwalk -v 2c -c public localhost if

八,设置poller.php 自动采集数据

#crontab -u root -e

然后输入 (/5,是5分钟执行一次的意思,可以改你要的时间。具体用法可以baidu一下crontab)
为什么用root执行,简单,如果有条件,就单独建用户,不过我觉得没什么。
如果单独建用户,上边的命令就要改成 -u user -e ,如果用root来执行这个命令,还要再加一下
chown -R user catci/rra cacti/log
呵呵

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

手工执行以上命令是

#/usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php
,也是同样效果

这里插一条,要安装字体库

# rpm -ivh fonts-chinese-3.02-9.6.el5.noarch.rpm


九,使用cacti,并设置流量图


安装完cacti以后,点 全局配置-路径

/usr/share/fonts/zh_CN/TrueType/ukai.ttf
这个是设置中文字体文件的路径,自己修改。

图象输出 ,输出方式为 输出到本地

1
,登陆cacti,点 新建设备

描述,设备名,都写ip地址就行,好区分

设备模板选择 uct/net snmp 设备

“SNMP
连接字符串这里就是叫你改的snmpd.conf 的里边那个密码

其他默认

创建 以后,再点 为此设备生成图像

数据查询 [SNMP - 接口统计] ,这里选择 eth0 ,就是第二个,再点 创建 ,这样,网卡的流量图就有了,等几分钟,就有图了。

这个是建立网卡的,这个设置比较特殊,如果要看cpu和内存的图(使用 ucd/net 模板)

那你要先建立 数据源

再建立 图象

具体自己研究。。





posted on 2008-11-04 14:01  ZF2211  阅读(1092)  评论(0编辑  收藏  举报