/ 中存储网

安装cacti+Apache+PHP+MySQL+rrdtool流量监控系统

2014-02-10 08:23:01 来源:itjs.cn
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)

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 [email protected] 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密码错误