cacti+apache+php+mysql+rrdtool搭建流量监控平台

1,apache的安装
详细的不说,傻瓜安装法
./configue --prefix=dir/apache2 --enable-so
(./configure --prefix=/opt/apache --enable-module=so)

make
make install

设置开机启动 vi /etc/rc.d/rc/local  添加:/opt/apache/bin/apachectl start
配置文件:/opt/apache/conf/httpd.conf  修改:ServerRoot "/opt/apache"      ServerName 192.168.**.**

出错:apache服务已经开启,但访问不了web页面
(1).安装linux时要关掉防火墙
(2).vi /etc/selinux/config  编译SELINUX=disabled


 2,mysql安装,使用mysql二进制版本就行  (或使用RPM包也可)

     shell> groupadd mysql
     shell> useradd -g mysql mysql
     shell> cd /usr/local
     shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
     shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
     shell> cd mysql
     shell> chown -R mysql .
     shell> chgrp -R mysql .
     shell> scripts/mysql_install_db --user=mysql
     shell> chown -R root .
     shell> chown -R mysql data
     shell> bin/mysqld_safe --user=mysql &
 
3,php的安装(非常复杂的编译安装)

                                                         
安装PHP步骤: 1:安装freetype,zlib,jpeg,libpng,libiconv,libxml2-2.6.25,Fontconfig
              2:安装gd库
              3:安装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.4.2.tar.gz
cd fontconfig-2.4.2

./configure

make
make install


6).安装GD

tar -zxvf gd-2.0.34.tar.gz
cd gd-2.0.34
./configure --prefix=/usr/local/libgd --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).编辑/etc/ld.so.conf,添加以下几行到此文件中。

/usr/local/zlib/lib

/usr/local/freetype/lib

/usr/local/libjpeg/lib

/usr/local/libgd/lib

并执行ldconfig命令,使用动态装入器装载找到共享库


8).安装libxml
# tar –zxvf libxml2-2.6.25.tar.gz
# cd libxml2-2.6.25
# ./configure
# make
# make install


安装PHP:
./configure '--prefix=/opt/php' '--with-apxs2=/opt/apache/bin/apxs' '--with-mysql=/usr/local/mysql/' '--with-gd' '--with-freetype-dir' '--with-png-dir' '--with-jpeg-dir'

make test
make install

对php编译选项的解释:

--prefix=/usr/local/php //指定PHP的安装目录

--with-apxs2=/usr/local/apache2/bin/apxs //支持Apache模块

--with-mysql=/usr/local/mysql //支持MySQl

--with-gd=/usr/local/libgd //支持GD库

--enable-gd-native-ttf //激活对本地 TrueType 字符串函数的支持

--with-ttf //激活对 FreeType 1.x 的支持

--with-freetype-dir=/usr/local/freetype //激活对 FreeType 2.x 的支持

--with-jpeg-dir=/usr/local/libjpeg //激活对 jpeg-6b 的支持

--with-png-dir=/usr //激活对 png 的支持

--with-zlib-dir=/usr/local/zlib //激活对zlib 的支持

--enable-mbstring //激活mbstring模块

--enable-gd-jis-conv //使JIS-mapped可用,支持日文字体

--with-mail //支持Mail函数

--enable-xml //支持XML

--enable-sockets //支持套接字

 

编辑httpd.conf文件
添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
(http://article.21e.cn/有详细的httpd.conf说明)

然CPOPY PHP的配置文件
cp ../phpsorcedir/php.ini.dist /usr/local/php/lib/php.ini  (php.ini.dist在解压后的包里)

修改php.ini文件
register_globals = On

ok!重新启动一下apache服务器
/apachedir/bin/apachectl restart

然后写个php测试页info.php:内容如下   (info.php存入apache/htdocs)

<?php
phpinfo();
?>

正常的话,应该能看到php的信息了,恭喜你的Apche+Mysql+PHP安装成功

 

 

4,rrdtool安装
需要到http://oss.oetiker.ch/rrdtool/pub/libs/ 这个url上下载
libpng-1.2.18.tar.gz
freetype-2.3.5.tar.gz
libart_lgpl-2.3.17.tar.gz
zlib-1[1].2.3.tar.gz
此三个文件
使用./configure && make && make install安装即可

http://oss.oetiker.ch/rrdtool/pub/?M=D下载到rrdtool包
解压缩下载的rrdtool包,执行
./configure --disable-tcl #此处请使用disable-tcl选项,不然make时候会报错
make && make install

./configure --disable-tcl时报错:找不到freetype2.pc和libart-2.0.pc ,find / -name "libart-2.0.pc"时发现,libart-2.0.pc在/usr/local/lib/pkgconfig/路径下,freetype2.pc也一样
解决:定义变量 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/,再./configure 问题解决
make $$ make install


5,cacti的安装
http://www.cacti.net/download_cacti.php下载cacti的包


groupadd cacti                       #建立用户
useradd -g cacti -s /bin/false cacti
将cacti解压后移动到apache所在的htdocs目录下就行


接下来建立cacti用的表
mysqladmin -u root -p creat cacti    #创建cacti 数据库


mysql -u root -p cacti < cacti.sql   # 把 cacti.sql的语句在cacti数据库上执行 (这个cacti用户应

                                       该和 include/config.php中的用户一样)
mysql -u root -p mysql               #针对mysql数据库操作


grant all on cacti.* to cactiuser@localhost identified by 'cacti';  #授权cactiuser用户的密码是

                                                                    cacti可以在localhost上登陆

flush privileges;                     #刷新权限


********************************
mysql进入
show databases; 查看数据库
use cacti;  进入到cacti数据库
show tables; 查看数据库中的表
desc 表名;  查看表的详细信息
use mysql; database changed
select * from user;查看mysql用户
********************************

编辑cacti目录下include/config.php文件
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti"
 
将相应的内容依自己设定的进行更改
chown -R cactiuser rra/ log/
crontab -e编辑
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1

然后就可以通过 http://your-server/cactidir/进行访问了

 

以下是安装过程中的一些报错信息和解决方法:

1.安装php5需要gd2的支持,但在安装过程中,执行编译的时候出现
aclocal:configure.ac:64: warning: macro `AM_ICONV’ not found in library的错误,
搜索google得知安装gettext这个包就可以了。
#yum install gettext gettext-devel
再执行make编译就好了。

 
2.不存在libjpeg.h的文件 提示:jpeglib.h: No such file or directory
安装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

 

3.编译PHP 进行到make test时:
因为:Bug #20382 [2] (strtotime ("Monday", $date) produces wrong result on DST changeover) [ext/date/tests/bug20382-2.phpt]
date OO cloning [ext/date/tests/oo_002.phpt]
iconv stream filter [ext/iconv/tests/iconv_stream_filter.phpt]
忽略...

 

4.启动apache时:
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so  没有这个目录
查看安装apache的版本  安装时使用的是'--with-apxs=/usr/local/apache/bin/apxs' or '--with-apxs2=/usr/local/apache/bin/apxs'(根据apache版本决定)

 

5.错误:configure: error: libjpeg.(a|so) not found.
解决:安装 jpegsrc.v6b.tar.gz 和 libpng-1.2.8-config.tar.gz,如果没安装 GD 库,安装 gd-2.0.33.tar.gz ,这个新的默认就支持 gif
建立软连接:
find / -name "jpeg.so*"
ln -s  /usr/lib/libjpeg.so.62  /usr/lib/libjpeg.so    因为PHP编译时只认*.so文件,不认*.so*文件 (非常重要!!!!!!!)
此时编译:./configure '--prefix=/opt/php' '--with-apxs2=/opt/apache/bin/apxs' '--with-mysql' '--with-gd-dir' '--with-freetype-dir' '--with-png-dir=/usr/bin' '--with-jpeg-dir=/usr/bin'
其中freetype png  jpeg都加上指定路径,以防出错,以上述为例: 

 --with-freetype-dir=/usr/local/freetype
 --with-jpeg-dir=/usr/local/jpeg6

 

6.访问页面时:FATAL: Cannot connect to MySQL server on '192.168.2.158'. Please make sure you have specified a valid MySQL database name in 'include/config.php'

解决:mysql中cacti密码错误 

posted on 2009-04-17 08:47  草原和大树  阅读(4868)  评论(0编辑  收藏  举报