前段时间在网上找了很多
cacti的安装配置文章学习,下面是我的参考后的安装配置:
OS:Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
工具包:
httpd-2.2.8.tar.gz
mysql-5.0.22.tar.gz
php-5.2.5.tar.gz
cacti-0.8.7b.tar.gz
rrdtool-1.0.50.tar.gz
1.安装apache2.2.8
解压软件包,进入安装目录,我的编译过程如下:
# ./configure --prefix=/usr/local/apache2 --enable-modules=so
# make
# make install
编译选项,--prefix=你需要把apache安装的位置,--enable-modules=so意思是可以动态加载apache所需要的.so 的模块
安装完成后,编辑apache的配置文件,使之能正常使用:
# vi /usr/local/apache2/conf/httpd.conf
找到下面这行:
Listen 80
改为:
Listen 7878(这里可以根据情况自己决定端口号)
启动apache:
# /usr/local/apache2/bin/apachectl start
2.安装mysql-5.0.20
解压软件包,进入安装目录,我的编译过程如下:
# ./configure --prefix=/usr/local/mysql
# make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf (这一步是将配置文件拷贝到/etc下面)
配置mysql过程:
# groupadd mysql
# useradd -g mysql mysql
# cd /usr/local/mysql
# ./bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql var
# chgrp -R mysql .
启动mysql
# ./bin/mysqld_safe --user=mysql &
如果看到下面的信息,就说明启动成功了
# Starting mysqld daemon with databases from /usr/local/mysql/var
可以测试一下,看看能不能登陆mysql数据库
# /usr/local/mysql/bin/mysqladmin -uroot password '你的密码' (给初始登陆mysql的用户root设置密码,当然不设置也能登录,推荐设置密码)
# /usr/local/mysql/bin/mysql -uroot -p你的密码 (注意: -p后面不要带空格)
如果出现下面的欢迎字样,说明连接成功:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to
server version: 5.0.22-log
Type 'help;' or '\h'
for help. Type '\c' to clear the buffer.
mysql>
3.安装php-5.2.0
解压软件包,进入安装目录,我的编译过程如下:
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --enable-sockets --with-mysql=/usr/local/mysql --with-zlib-dir=/usr/include --with-gd
# make
# make test
# make install
# cp php.ini-dist /www/php/etc/php.ini
编译选项中--with-apxs2=/usr/local/apache2/bin/apxs 是说将PHP模块编译进apache,--with-mysql=/usr/local/mysql 是说指定mysql的路径(其实就是告诉PHP我们的mysql的一些头文件信息,如果你的mysql和PHP不是同一台机器的话,指定mysql的头信息是编译必要的),--with-config-file-path=/usr/local/php/etc 是说将PHP的主配置文件放在什么地方,这是个人习惯
# cp php.ini-dist /usr/local/php/etc/php.ini
# vi /usr/local/php/etc/php.ini
为了使PHP能够配合apache使用,还需要修改apache的配置文件:
# vi /usr/local/apache2/conf/httpd.conf
找到下面字段:
DirectoryIndex
在index.html前面添加index.php
并在配置文件最后加入如下字段:
AddHandler php5-script. .php
AddType text/html .php
测试PHP是否正常运行:
#vi /usr/local/apache2/htdocs/index.php
写入下面一行:
<?php phpinfo() ?>
保存退出后重新启动apache
# /usr/local/apache2/bin/apachectl restart
4.安装cacti-0.8.7b
解压cacti的软件包,进行如下操作:
# mv cacti-0.8.7b /usr/local/apache2/htdocs/cacti
# cd /usr/local/apache2/htdocs/cacti
# /usr/local/mysql/bin/mysql -uroot -pXXX(口令)
mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on cacti.* to root;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on cacti.* to root;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on cacti.* to root@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on cacti.* to cacti;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on cacti.* to cacti@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> set password for cacti@localhost=password('XXX');
Query OK, 0 rows affected (0.00 sec)
mysql> exit
# cd /usr/local/apache2/htdocs/cacti
# /usr/local/mysql/bin/mysql –u root –pXXX cacti < cacti.sql
# chown –R cacti rra/ log/
vi /usr/local/apache2/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "XXX";
5、安装rrdtool
解压rrdtool
# ./configure --prefix=/usr/local/rrdtool
# make && make install 即可
6、安装net-snmp
几乎所有的网络设备和操作系统默认都安装了snmp服务。
# rpm -qa |grep snmp
net-snmp-libs-5.1.2-11.EL4.7
net-snmp-5.1.2-11.EL4.7
net-snmp已安装
做服务器还需要:
net-snmp-perl-5.1.2-11.EL4.10
net-snmp-utils-5.1.2-11.EL4.10
# crontab –u cacti –e
为cacti用户加入
*/5 * * * * /usr/local/php/bin/php /usr/local/apache2/htdocs/cacti/poller.php > /dev/null 2>&1
linux客户端snmp的配置:
打开默认的/etc/snmp/snmpd.conf文件,更改如下配置:
查找以下字段:
# sec.name source community
com2sec notConfigUser default public
将"comunity"字段改为你要设置的密码.比如"public".
将"default"改为你想哪台机器可以看到你的snmp信息,如10.10.10.10
查找以下字段:
# 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 mib2 none none
将"read"字段改为mib2
查找以下字段:
## incl/excl subtree mask
#view all included .1 80
将该行前面的"#"去掉
把下面的#号去掉
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
保存关闭
# service snmpd start
运行snmp服务
然后再用netstat -nulp查看161端口是否打开了,并确保防火墙UDP端口161对cacti服务器开放。