cacti+apache+php+mysql+rrdtool搭建流量监控平台
详细的不说,傻瓜安装法
./configue --prefix=dir/apache2 --enable-so
(./configure --prefix=/opt/apache --enable-module=so)
make
make install
设置开机启动 vi /etc/rc.d/rc/local
配置文件:/opt/apache/conf/httpd.conf
出错:apache服务已经开启,但访问不了web页面
(1).安装linux时要关掉防火墙
(2).vi /etc/selinux/config
3,php的安装(非常复杂的编译安装)
安装PHP步骤: 1:安装freetype,zlib,jpeg,libpng,libiconv,libxml2-2.6.25,Fontconfig
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文件
register_globals = On
ok!重新启动一下apache服务器
/apachedir/bin/apachectl restart
然后写个php测试页info.php:内容如下
<?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
mysql -u root -p cacti < cacti.sql
mysql -u root -p mysql
grant all on cacti.* to cactiuser@localhost identified by 'cacti';
flush privileges;
********************************
mysql进入
show databases; 查看数据库
use 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的版本
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
此时编译:./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
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密码错误