设为首页 收藏本站
查看: 1338|回复: 0

[经验分享] (马世龙)Linux下CACTI完全搭建技术文档一

[复制链接]

尚未签到

发表于 2019-1-12 08:44:12 | 显示全部楼层 |阅读模式
环境搭建
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.php index.html index.html.var
保存 httpd.conf 文件 .
如果没有出错 , 写一个测试页放到你网页目录下 . 访问就应该可以看到 php 的版本等信息了 !
#vi /usr/local/apache2/htdocs/test.php

:wq(保存退出)
启动 apache
# /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
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;
Query OK, 1 row affected (0.00 sec)
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
access  notConfigGroup ""  any   noauth    exact  systemview  none none
改为:access notConfigGroup"" any   noauth exact  all    none none
#view all    included  .1         80
将前面的 # 注释 去掉。
保存退出 :wq
重新启动 snmp 服务
使用ntsysv,让snmp服务,每次开机自动运行。
# 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:
  未完待续........




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-662225-1-1.html 上篇帖子: CentOS 5.4 编译安装Cacti 下篇帖子: (马世龙)Linux下CACTI完全搭建技术文档二
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表