环境搭建
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
<?php
Phpinfo();
?>
: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
改为:com2secnotConfigUser    127.0.0.1  public
access  notConfigGroup ""  any   noauth    exact  systemview  none none
改为:access notConfigGroup"" anynoauth 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_Host127.0.0.1
DB_Databasecacti
DB_Usercacti
DB_Passcacti
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,如需转载请自行联系原作者

(马世龙)Linux下CACTI完全搭建技术文档一相关推荐

  1. (马世龙)Linux下CACTI完全搭建技术文档二

    续(马世龙)Linux下CACTI完全搭建技术文档一 6.完成cacti的安装 1. 首先检查一下rra/下面,有没有数据 2. snmpwalk -v 2c -c public ServerIP i ...

  2. 专业的LaTeX: 在Linux下编写高质量的文档

    专业的LaTeX: 在Linux下编写高质量的文档 Linux下的OpenOffice.KWord等字处理软件虽然在功能上与Microsoft Word类似,但目前在易用性和可用性方面仍然存在许多不足 ...

  3. 基于GitBook框架搭建技术文档平台

    源宝导读:为了向用户更好的传递ERP开放平台的价值与技术知识,我们基于GitBook框架搭建了一个文档中心站点,本文将介绍此站点的设计与实现过程. 一.项目架构图 因为文档会涉及到很多的产品线,所以目 ...

  4. LaTex在Linux下编写高质量的文档

    肖文鹏 2003 年 10 月 01 日发布 目录 一.简介 二.TeX系统 三.LaTeX排版流程 四.LaTeX系统安装 五.LaTeX文档处理 六.小结 一.简介 计算机技术的不断进步推动了各行 ...

  5. texlive - 专业的LaTeX: 在Linux下编写高质量的文档

    dnf install texlive* dnf install texworks dnf install latex* http://www.ibm.com/developerworks/cn/li ...

  6. LaTeX入门解析篇: 在Linux下编写高质量的文档

    ★内容概要 一.简介 二.TeX系统 三.LaTeX排版流程 四.LaTeX系统安装 五.LaTeX文档处理 六.小结 1.简介 计算机技术的不断进步推动了各行各业的飞速发展,使许多行业出现了革命性的 ...

  7. Linux下如何在vi编辑文档时设置行号和取消行号

    第一步:先建立一个文档(touch test.txt),里面随便写几行东西,输入命令vi test.txt 第二步:在vi模式下输入:set number 或者 :set nu (初学者需要注意前面有 ...

  8. linux搭建个人网盘,Linux下使用nextcloud搭建个人网盘

    市面上有那么多的网盘服务提供商,为什么还要自己搭建网盘呢?主要有以下原因: 免费的网盘都有种种限制,要么不限速容量小(onedriver,google driver),要么容量大限速(百度云) 付费网 ...

  9. linux服务器的功能需求,Linux下的各种服务器技术及配置 (毕业论文).doc

    Linux下的各种服务器技术及配置 (毕业论文) PAGE 26 PAGE 27 Linux下的各种服务器技术及配置 姓 名: 学 号: 指导老师: 系 名: 专 业: 班 级: . 二00一二年 十 ...

  10. VuePress 手摸手教你搭建一个类Vue文档风格的技术文档/博客

    前言: VuePress是尤大为了支持 Vue 及其子项目的文档需求而写的一个项目,VuePress界面十分简洁,并且非常容易上手,一个小时就可以将项目架构搭好.现在已经有很多这种类型的文档,如果你有 ...

最新文章

  1. Win10下VisualStudio2019安装和Helloworld测试
  2. matlab ac电源,MATLAB对AC/DC/AC电源的死区效应谐波仿真
  3. struts2之单个文件上传(特别推荐)
  4. 免費玩雲端運算,Amazon Web Service 雲端運算平台攻略 【1】
  5. 看完阿里的代码规范,立马学会代码分层,再也不会被同事怼
  6. Mail_Android_Video_SW_DDK_Intergration_Guide_And_Codec_User_Manual中文翻译【chapter1】
  7. Internet Explorer 包含五个预定义区域
  8. python爬取某音乐歌词,将内容保存制作词云图
  9. 华为手机误删照片,除了相册恢复,还有这招能救命
  10. 邵东一中2021年高考成绩查询,湖南邵阳2020高考成绩,邵东一中势头强劲,包揽邵阳市文理状元...
  11. 推荐系统三十六式(刑无刀)学习笔记(一)
  12. UDT(【CVPR2019】Unsupervised Deep Tracking无监督目标跟踪)
  13. Spring4详解系列(一)Spring之旅
  14. 产品经理基础——需求文档
  15. macOS High Sierra 10.13正式版USB安装盘制作
  16. 如何复制出计算机缓存中的歌曲,怎样提取电脑缓存中的文件 例如音乐
  17. 深圳软件测试培训:软件测试的工资高还是开发者工资高?
  18. 自动编码器检测检测信用卡欺诈
  19. java 不是封闭类_java – MainActivity.this不是一个封闭的类AsyncTask
  20. 需求治理如何实施(二)

热门文章

  1. 从0到1亿美元 ---- PopCap创始人John Vechey自述(zt)
  2. 智能优化算法:非洲秃鹫优化算法-附代码
  3. ArcGIS相关学习视频链接
  4. numpy的广播机制
  5. 实习成长之路——设计模式四:什么是单一职责原则,如何判定某个类的职责是否够“单一”?
  6. Java设计模式-装饰者设计模式
  7. icp光谱仪的工作原理_创想仪器(GLMY)光电直读光谱仪和X荧光光谱仪的区别
  8. android自定义换行居中CenterTextView
  9. 教你如何用Python自动下载抖音好看小姐姐,有对象的同学小心尝试!
  10. web自动化知识点-02