Cacit 运行环境需要 PHP + Mysql + rrdtool 以及 snmp 工具的支持。
下边是本次配置需要用到的软件。
Catci:
cacti-0.8.6e.tar.gz
rrdtool-1.0.50.tar(rrdtool-1.2.27.tar没有自带库,1.0版本的自带库文件,所以先要编译好GD环境)
net-snmp-5.0.9-2.30E.15
net-snmp-devel-5.0.9-2.30E.15
net-snmp-libs-5.0.9-2.30E.15
net-snmp-utils-5.0.9-2.30E.15 (net-snmp使用系统rpm安装包就可以,默认snmp.conf在/etc/snmp/snmp.conf)
PHP:
php-4.3.9.tar.gz
curl-7.15.3.tar.gz
freetype-2.1.9.tar.gz
gettext-0.16.1.tar.gz
gd-2.0.35.tar.gz
jpegsrc.v6b.tar.gz
libart_lgpl-2.3.17.tar.gz
libpng-1.2.18.tar.gz
libxml2-2.6.32.tar.gz
zlib-1.2.3.tar.gz
Apache:
httpd-2.0.52.tar.gz
Mysql:
mysql-4.1.7-rc.tar.gz
开始构建完整的 PHP 运行的环境,我们以全新安装的 RedHatAs4 updata4 操作系统环境为例。
首先使用“rpm –qa|grep 包名称”检查Linux AS4 是否有自带的Mysql和Apache,如果有则使用“rpm –e 安装包名称”卸载掉
首先编译安装Apache httpd server
# tar zxvf httpd-2.0.52.tar.gz
# cd httpd-2.0.52
# ./configure --prefix=/usr/local/apache2 --enable-so --with-rewrite
# make && make install
第二步安装 PHP+GD 等所需的支持插件
编译安装libxml
# tar zxvf libxml2-2.6.32.tar.gz
# cd libxml2-2.6.32.tar.gz
# ./configure --prefix=/usr/local/libxml2/
# make && make install
编译安装zlib
# tar zxvf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
#./configure --prefix=/usr/local/zlib2/
# make && make install
编译安装jpeg
# tar -zxf jpegsrc.v6b.tar.gz
# cd jpeg-6b/
mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/include
mkdir /usr/local/jpeg/bin
mkdir /usr/local/jpeg/lib
mkdir /usr/local/jpeg/man
mkdir /usr/local/jpeg/man1
# ./configure --prefix=/usr/local/jpeg
# make && make install
( 该版本的 jpeg 在实际安装过程中,make install 的时候会出现好几个找不到目录,或目录不存在的 error 。只需按照提示人手创建缺失目录,然后再令其 make install 直到无任何错误提示且顺利完成为止。 )
编译安装 libpng
# tar zxvf libpng-1.2.18.tar.gz
# cd libpng-1.2.18.tar.gz
#cp scripts/makefile.linux mskefile
#./configure --disable-shared --prefix=/usr/local/libpng2/
# make && make install
编译安装 freetype
# tar zxvf freetype-2.1.9.tar.gz
# cd freetype-2.1.9
#./configure --prefix=/usr/local/freetype2
# make && make install
编译安装 libart_lgpl
# tar zxvf libart_lgpl-2.3.17.tar.gz
# cd ibart_lgpl-2.3.17
#./configure --prefix=/usr/local/libart/
# make && make install
编译安装fontconfig
#tar –zxvf fontconfig-2.4.2.tar.gz
cd fontconfig-2.4.2
make && make install
编译安装 gettext
# tar zxvf gettext-0.16.1.tar.gz
# cd gettext-0.16.1
# ./configure --prefix=/usr/local/gettext/
# make && make install
编译安装
gd 库 :
# tar zxvf gd-2.0.35.tar.gz
# cd gd-2.0.35
# ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ --with-png --with-jpeg=/usr/local/jpeg/ --with-freetype=/usr/local/freetype2/ --with-libart=/usr/local/libart/ --with-gettext=/usr/local/gettext/ --with-libxml=/usr/local/libxml2
# make && make install
编译安装 Curl 支持
# tar zxvf curl-7.15.3.tar.gz
# cd curl-7.15.3
# ./configure --prefix=/usr/local/curl
# make && make install
编译安装 PHP
# tar zxvf php-4.3.9.tar.gz
# cd php-4.3.9
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache26/bin/apxs
--with-mysql=/usr/local/mysql
--with-jpeg-dir=/usr/local/jpeg
--with-png-dir=/usr
--with-gd=/usr/local/gd2/ --enable-gd-native-ttf –-with-ttf –-enable-gd-jis-conv
--with-freetype-dir=/usr/local/freetype2/ --with-zlib-dir=/usr/local/zlib2/
--with-curl=/usr/local/curl
--with-gettext=/usr/local/gettext –-enable-xml –-enable-mbstring –-enable-sockets
以上安装PHP的时候如果出现提示有的文件找不到,那么是路径设置有问题,只要重新设置路径就好了。
# make && make install
# cp php.ini-dist /usr/local/php/lib/php.ini ( 拷贝 PHP 配置文件至安装目录 )
# vi /usr/local/apach26/conf/httpd.conf ( 修改 apache 配置文件并加载 PHP 支持 )
ln –s /usr/local/php/bin/* /usr/local/bin/
要改的有如下几处
一般都在 #AddType application/x-gzip .gz .tgz 下加一行 :
AddType application /x-tar .tgz
AddType application/x-httpd-php .php
AddType image/x-icon .ico
请把上面的 # 号去掉,还有找到
DirectoryIndex index.html index.html.var
在后面加 index.php 让它把 index.php 做为默认页
DirectoryIndex index.html index.html.var
在后面加 index.php 让它把 index.php 做为默认页
DirectoryIndex index.php index.html index.html.var
保存 httpd.conf 文件 .
如果没有出错 , 写一个测试页放到你网页目录下 . 访问就应该可以看到 php 的版本等信息了 !
#vi /usr/local/apache2/htdocs/test.php
<?php
Phpinfo();
?>
:wq(保存退出)
启动 apache
# /usr/local/apache2/bin/apachectl start
# /usr/local/apache2/bin/apachectl start
编辑apache开机启动,
#vi /etc/rc.d/rc.local
添加:/usr/local/apache2/bin/apachectl –k start
:wq(保存退出)
对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 //支持套接字
安装MYSQL
# groupadd mysql
# useradd -g mysql mysql
# tar zxvf mysql-5.1.24-rc.tar.gz
# cd mysql-5.1.24-rc
# ./configure --prefix=/usr/local/mysql
--localstatedir=/data/mysql ( 指定数据文件目录 )
--without-innodb --without-debug --with-extra-charsets=gbk
--with-extra-charsets=all --enable-assembler --with-pthread
--enable-thread-safe-client --with-client-ldflags=-all-static
# make && make install
# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld ( 复制 Mysql 启动服务至系统 )
#chkconfig –add mysqld
# chmod 777 /etc/init.d/mysql
( 赐予可执行权限 )
# chown mysql:mysql /data/mysql ( 设置数据文件目录属性 )
设置数据文件目录属性这一步相当重要,许多朋友第一次使用 tar 包安装 Mysql 的时候就因该目录权限问题导致 Mysql 无法启动。相当头大 .
# /usr/local/mysql/bin/mysql_install_db
( 初始化数据库 )
# service mysql start
( 启动 Mysql)
# /usr/local/mysql/bin/mysqladmin -u root -p password 'xxxxx' ( 设置管理员密码 xxx 默认值为空 )
好了,至此 mysql 安装完毕 .
以上是编译安装的
搭建 mysql 数据库:
创建 mysql 用户和用户组
# groupadd -g 200 mysql
# useradd -u 200 -g mysql -d /usr/local/mysql/data -M mysql
# id mysql
uid=200(mysql) gid=200(mysql) groups=200(mysql)
解压缩 mysql 数据库文件
# tar zxvf mysql-standard-4.1.7-pc-linux-i686.tar.gz -C /usr/local/
# cd /usr/local/
# ls
apache2 etc include libexec sbin src
bin games lib mysql-standard-4.1.7-pc-linux-i686 share
# ln -s mysql-standard-4.1.7-pc-linux-i686 mysql
# cd mysql
# ls
bin docs lib scripts tests
configure EXCEPTIONS-CLIENT man share
COPYING include mysql-test sql-bench
data INSTALL-BINARY README support-files
建立用到的库文件并更改权限
# mkdir /var/lib/mysql
# chown -R mysql:mysql /var/lib/mysql/
# chown -R mysql:mysql /usr/local/mysql-standard-4.1.7-pc-linux-i686/
创建 mysql 数据库的配置文件
# cd /usr/local/mysql
# cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
]# ls
bin docs lib scripts tests
configure EXCEPTIONS-CLIENT man share
COPYING include mysql-test sql-bench
data INSTALL-BINARY README support-files
# ./scripts/mysql_install_db
更改初始化数据库产生的家目录文件
# cd /usr/local/mysql/data/
# ll
-rw-rw---- 1 root root 8835 Jun 24 11:17 cisco-bin.000001
-rw-rw---- 1 root root 69239 Jun 24 11:17 cisco-bin.000002
-rw-rw---- 1 root root 38 Jun 24 11:17 cisco-bin.index
drwxr-x--- 2 mysql mysql 4096 Jun 24 11:17 mysql
drwxr-x--- 2 mysql mysql 4096 Oct 24 2004 test
[root@cisco data]# chown -R mysql:mysql /usr/local/mysql/data/
[root@cisco data]# ll
-rw-rw---- 1 mysql mysql 8835 Jun 24 11:17 cisco-bin.000001
-rw-rw---- 1 mysql mysql 69239 Jun 24 11:17 cisco-bin.000002
-rw-rw---- 1 mysql mysql 38 Jun 24 11:17 cisco-bin.index
创建 mysql 用户和用户组
# groupadd -g 200 mysql
# useradd -u 200 -g mysql -d /usr/local/mysql/data -M mysql
# id mysql
uid=200(mysql) gid=200(mysql) groups=200(mysql)
解压缩 mysql 数据库文件
# tar zxvf mysql-standard-4.1.7-pc-linux-i686.tar.gz -C /usr/local/
# cd /usr/local/
# ls
apache2 etc include libexec sbin src
bin games lib mysql-standard-4.1.7-pc-linux-i686 share
# ln -s mysql-standard-4.1.7-pc-linux-i686 mysql
# cd mysql
# ls
bin docs lib scripts tests
configure EXCEPTIONS-CLIENT man share
COPYING include mysql-test sql-bench
data INSTALL-BINARY README support-files
建立用到的库文件并更改权限
# mkdir /var/lib/mysql
# chown -R mysql:mysql /var/lib/mysql/
# chown -R mysql:mysql /usr/local/mysql-standard-4.1.7-pc-linux-i686/
创建 mysql 数据库的配置文件
# cd /usr/local/mysql
# cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
]# ls
bin docs lib scripts tests
configure EXCEPTIONS-CLIENT man share
COPYING include mysql-test sql-bench
data INSTALL-BINARY README support-files
# ./scripts/mysql_install_db
更改初始化数据库产生的家目录文件
# cd /usr/local/mysql/data/
# ll
-rw-rw---- 1 root root 8835 Jun 24 11:17 cisco-bin.000001
-rw-rw---- 1 root root 69239 Jun 24 11:17 cisco-bin.000002
-rw-rw---- 1 root root 38 Jun 24 11:17 cisco-bin.index
drwxr-x--- 2 mysql mysql 4096 Jun 24 11:17 mysql
drwxr-x--- 2 mysql mysql 4096 Oct 24 2004 test
[root@cisco data]# chown -R mysql:mysql /usr/local/mysql/data/
[root@cisco data]# ll
-rw-rw---- 1 mysql mysql 8835 Jun 24 11:17 cisco-bin.000001
-rw-rw---- 1 mysql mysql 69239 Jun 24 11:17 cisco-bin.000002
-rw-rw---- 1 mysql mysql 38 Jun 24 11:17 cisco-bin.index
drwxr-x--- 2 mysql mysql 4096 Jun 24 11:17 mysql
drwxr-x--- 2 mysql mysql 4096 Oct 24 2004 test
启动 mysql 数据库
# /usr/local/mysql/bin/safe_mysqld --user=mysql &
# Starting mysqld daemon with databases from /usr/local/mysql/data
给数据库管理员设定密码,并登陆数据库,创建一个新数据库
# /usr/local/mysql/bin/mysqladmin -u root password '123'
# /usr/local/mysql/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.7-standard-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
+----------+
2 rows in set (0.00 sec)
mysql> create database cacti;
drwxr-x--- 2 mysql mysql 4096 Oct 24 2004 test
启动 mysql 数据库
# /usr/local/mysql/bin/safe_mysqld --user=mysql &
# Starting mysqld daemon with databases from /usr/local/mysql/data
给数据库管理员设定密码,并登陆数据库,创建一个新数据库
# /usr/local/mysql/bin/mysqladmin -u root password '123'
# /usr/local/mysql/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.7-standard-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
+----------+
2 rows in set (0.00 sec)
mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| phpbb |
| test |
+----------+
3 rows in set (0.00 sec)
mysql> exit
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| phpbb |
| test |
+----------+
3 rows in set (0.00 sec)
mysql> exit
这样构建 Cacit 运行的 PHP+Mysql 环境就基本上完成了。
下边开始安装 Cacit 所需要的 rrdtools 图形工具以及 snmp 工具
编译安装 rrdtool
# tar zxvf rrdtool-1.0.50.tar
# cd rrdtool-1.0.50
# ./configure --prefix=/usr/local/rrdtool
# make && make install
Rrdtool 1.0版本的自带GD库文件,安装简单方便,但是1.2版本的就没有自带,所以安装比较复杂
1.2版本的安装方法稍后介绍
安装
net-snmp
安装包(使用系统自带的就
OK
)
安装 net-snmp、snmpwalk 和 snmpget 命令
# rpm -qa | grep net-snmp ( 查看系统中有否已经装有所需的软件 )
net-snmp-5.0.9-2.30E.15
net-snmp-devel-5.0.9-2.30E.15
net-snmp-libs-5.0.9-2.30E.15
net-snmp-utils-5.0.9-2.30E.15
没有或者缺少的话都需要逐一安装上。
而且还很有可能会因 rpm 的依存关系无法顺利安装,须使用 - - nodeps 参数。
以上所需的 rpm 安装包都能在 RedHatAs4 安装光盘上找到 .
|
至此,Cacti 所需的运行环境都已经准备好了,接下来开始进行安装以及配置。
稍微修改系统中 snmp 的配置
# vi /etc/snmp/snmpd.conf
com2sec notConfigUser default public
改为:com2sec notConfigUser 127.0.0.1 public
改为:com2sec notConfigUser 127.0.0.1 public
access notConfigGroup "" any noauth exact systemview none none
改为:access notConfigGroup"" any noauth exact all none none
改为:access notConfigGroup"" any noauth exact all none none
#view all included .1 80
将前面的 # 注释 去掉。
保存退出 :wq
将前面的 # 注释 去掉。
保存退出 :wq
重新启动 snmp 服务
使用ntsysv,让snmp服务,每次开机自动运行。
# service snmpd restart
# service snmpd restart
安装 / 配置 cacti
# tar –zxvf cacti-0.8.6j.tar.gz
# mv –r cacti-0.8.6j /usr/loca/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 = "123456";
//添加cacti用户
# useradd cacti
//将rra目录的所有权给cacti用户
# chown –R cacti /usr/loca/apache/htdocs/cacti/rra
//修改cacti目录所属组
# chgrp –R cacti /usr/loca/apache/htdocs/cacti
//为cacti用户添加cron任务
# su – cacti
# crontab –e
*/5 * * * * /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
注意:首次执行poller.php时请使用cacti用户,否则生成的rrd文件cacti将没有写入权限。
安装Cactid
CACTID 的安装需要以下支持:
net-snmp-devel (需要编译安装net-snmp时添加--enable-developer选项)
mysql
mysql-devel
(mysql源文件编译安装后默认支持)
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
//这时你将在此目录下看到多出了cactid、cactid.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
5.数据库配置
#mysql –uroot –p
Password:
mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on cacti.* to cacti@localhost identified by “cacti”;
mysql> grant all on cacti.* to root;
mysql> grant all on cacti.* to root@localhost;
mysql> grant all on cacti.* to cacti@localhost;
Query OK, 1 row affected (0.00 sec)
mysql>exit
# cd /usr/local/apache/htdocs/cacti
# mysql –uroot –p cacti < cacti.sql
Password:
未完待续........
本文转自 wqmsl 51CTO博客,原文链接:http://blog.51cto.com/wqmsl/309756,如需转载请自行联系原作者