zoukankan      html  css  js  c++  java
  • Linux下的Cacti网络管理系统安装(二)

       安装准备:

       OS:   LinuxRedHat5.4 64bit

       MySql : MySql5

       PHP:  PHP5

       RRDTOOL:  RRDTOOL1.2.3

       备注:因为在64bit上,很多发行版或者RPM二进制版本没有64位的,再加上为了方便版本控制,决定所有的文件使用源码编译,运行。

       所需要下载的文件:

        MySql:

       MySQL-shared-community-5.0.96-1.rhel5.x86_64.rpm   ----可以同libmysqlclient_r.so.15的二进制lib

       MySQL-5.5.24-1.rhel5.x86_64.tar    ---mysql数据库的安装文件

       MySQL-devel-5.5.24-1.rhel5 .rpm     ---cactid必须依赖的mysql开发api库

       

       PHP:

         php-5.3.13.tar.gz  ---使用php5版本

        

       Apache Httpd Server:

         httpd-2.2.4.tar.gz

       RRDTOOL:

        gd-2.0.34.tar.gz

       jpegsrc.v6b.tar.gz

       fontconfig-2.4.2.tar.gz

      cgilib-0.5.tar.gz

      freetype-2.3.5.tar.gz

      libart_lgpl-2.3.17.tar.gz

      libpng-1.2.18.tar.gz

      libxml2-2.6.30.tar.gz

    (1).安装MySQL

    //查看系统中是否已经安装了MySQL,如果是卸载所有以mysql开头的包。

    # rpm –qa | grep mysql
    # rpm –e mysql-*

    //查找/etc/my.cnf(MySQL的选项配置文件),如果有请删除它,以免影响新安装版本的启动。

    # rm –f /etc/my.cnf
    # tar –zxvf MySQL-5.5.24-1.rhel5.x86_64.tar
    # cd MySQL-5.5.24-1.rhel5.x86_64
    # ./configure --prefix =/usr/local/mysql5.5.24
    # make
    # make instal

    //建立符号链接,如果以后有新版本的MySQL的话,你可以仅仅将源码解压到新的路径,然后重新做一个符号链接就可以了。这样非常方便,数据也更加安全。

    # ln –s /usr/local/mysql5.5.24 /usr/local/mysql

    //添加用于启动MySQL的用户及用户组(如果以前安装过MySQl,用户及用户组可能已存在)。

    # useradd mysql
    # groupadd mysql

    //初始化授权表

    # cd /usr/local/mysql
    # scripts/mysql_install_db

    //修改MySQl目录的所有权

    # cd /usr/local
    # chgrp –R mysql /usr/local/mysql5.5.24
    # chgrp –R mysql mysql
    # chown –R mysql /usr/local/mysql5.5.24
    # chown –R mysql mysql/data
    # ln –s /usr/local/mysql/bin/* /usr/local/bin/

    //启动Mysql

    # bin/safe_mysqld --user=mysql 

    //配置系统启动时自动启动MySQl

    # cp support-files/mysql.server /etc/rc.d/init.d/mysqld
    # chkconfig --add mysqld

    //修改MySQL的最大连接数

    # vi /etc/my.cnf

    //添加以下行

    [mysqld]
    set-variable=max_connections=1000
    set-variable=max_user_connections=500
    set-variable=wait_timeout=200

    //max_connections设置最大连接数为1000
    //max_user_connections设置每用户最大连接数为500
    //wait_timeout表示200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响。
    //保存退出,并重新启动MySQL
    //重新启动MySQL后使用下面的命令查看修改是否成功

    # mysqladmin -uroot -p variables

    Password:

    #  mysqladmin -uroot -password "root" 

    //为mysql的root用户添加密码

    //可以看到以下项说明修改成功

    | max_connections | 1000
    | max_user_connections | 500
    | wait_timeout | 200

       
        注:安装完毕后,登录数据库,查看其中数据是否存在如test, 强烈建议安装前执行make test

            查看/usr/lib64中是否存在libmysql打头的库文件,并查看确认libmysqlclient_r文件存在

     

      

    (2).安装Apache

    下载地址:http://httpd.apache.org/

    # tar –zxvf httpd-2.2.4.tar.gz
    # cd httpd-2.2.4
    # ./configure --prefix=/usr/local/apache --enable-so

    //编译时加上加载模块参数--enable-so

    # make
    # make install
    #vi /usr/local/apache/conf/httpd.conf

    //修改Apache配置文件,添加ServerName www.yourdomain.com 或ServerName 本机ip

    # vi /etc/rc.d/rc.local

    //在rc.local上加入一行

    /usr/local/apache/bin/apachectl –k start

    系统启动时启动Apache服务。

    测试apache服务是否安装成功:http://localhost/ 是否有index页面,

     

    (4)RRDTOOL的安装

    先安装zlib,freetype,libpng,jpeg以便于让PHP支持GD库(Cacti的WeatherMap插件必须要较新GD库的支持)

    库文件下载地址:http://oss.oetiker.ch/rrdtool/pub/libs/

    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一定要带--enable-shared参数,不然,不会生成共享库

    ./configure --prefix=/usr/local/libjpeg --enable-shared --enable-static
    make && make install

    5).安装Fontconfig

    tar -zxvf fontconfig-2.4.2.tar.gz
    cd fontconfig-2.4.2

    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
    
    ./configure --with-freetype-config=/usr/local/freetype
    
    make
    make install
    
    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

    9).安装RRDTool

    由于rrdtool-1.2.23需要一些库文件支持,故需先安装配置支持的环境,然后编译安装。直接运行以下bash脚本就可以完成安装:

    注意:将cgilib-0.5.tar.gz、zlib-1.2.3.tar.gz、libpng-1.2.18.tar.gz、freetype-2.3.5.tar.gz、libart_lgpl-2.3.17.tar.gz、rrdtool-1.2.23.tar.gz放到/root/rrdtool-1.2.23目录下,将脚本保存为/root/rrdtool-1.2.23/rrdtoolinstall.sh,并给执行权限chmod u+x /root/rrdtool-1.2.23/rrdtoolinstall.sh。

    以下链接是我重新打好的一个rrdtool-1.2.23的安装包,里面包括了所有用到的库文件和安装脚本,下载解压后执行脚本rrdinstall.sh即可以完成RRDTool的安装。

    点击下载rrdtool-1.2.23.tar.gz

    如果以上脚本安装失败,可以试试以下安装包:

    http://61.156.20.41/autodownload/rrdtool-1.2.11.tar.gz

     
    #!/bin/sh
    BUILD_DIR=`pwd`
    INSTALL_DIR=/usr/local/rrdtool
    cd $BUILD_DIR
    tar zxf cgilib-0.5.tar.gz
    cd cgilib-0.5
    make CC=gcc CFLAGS="-O3 -fPIC -I."
    mkdir -p $BUILD_DIR/lb/include
    cp *.h $BUILD_DIR/lb/include
    mkdir -p $BUILD_DIR/lb/lib
    cp libcgi* $BUILD_DIR/lb/lib
    cd $BUILD_DIR
    tar zxf zlib-1.2.3.tar.gz
    cd zlib-1.2.3
    env CFLAGS="-O3 -fPIC" ./configure --prefix=$BUILD_DIR/lb
    make
    make install
    cd $BUILD_DIR
    tar zxvf libpng-1.2.18.tar.gz
    cd libpng-1.2.18
    env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
    ./configure --disable-shared --prefix=$BUILD_DIR/lb
    make
    make install
    cd $BUILD_DIR
    tar zxvf freetype-2.3.5.tar.gz
    cd freetype-2.2.5
    env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
    ./configure --disable-shared --prefix=$BUILD_DIR/lb
    make
    make install
    cd $BUILD_DIR
    tar zxvf libart_lgpl-2.3.17.tar.gz
    cd libart_lgpl-2.3.17
    env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
    make
    make install
    
    IR=-I$BUILD_DIR/lb/include
    CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
    LDFLAGS="-L$BUILD_DIR/lb/lib"
    CFLAGS=-O3
    export CPPFLAGS LDFLAGS CFLAGS
    
    cd $BUILD_DIR
    tar zxf rrdtool-1.2.23.tar.gz
    cd rrdtool-1.2.23
    ./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl && make && make install

    //完成后建立符号连接

    ln –s /usr/local/rrdtool/bin/* /usr/local/bin/

    (4).安装PHP

    PHP下载地址:http://www.php.net/downloads.php#v5

    tar -zxvf php-5.3.13.tar.gz
    cd php-5.3.13
    # ./configure --prefix=/usr/local/php 
    --with-apxs2=/usr/local/apache/bin/apxs
    --with-mysql=/usr/local/mysql
    --with-gd=/usr/local/libgd --enable-gd-native-ttf --with-ttf
    --enable-gd-jis-conv --with-freetype-dir=/usr/local/freetype
    --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr
    --with-zlib-dir=/usr/local/zlib
    --enable-xml
    --enable-mbstring
    --enable-sockets # make # make install # cp php.ini-recommended /usr/local/php/lib/php.ini # ln –s /usr/local/php/bin/* /usr/local/bin/ # vi /usr/local/apache/conf/httpd.conf

    查找

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    在其下加入

    AddType application/x-tar .tgz
    AddType application/x-httpd-php .php
    AddType image/x-icon .ico

    修改DirectoryIndex 行,添加index.php

    修改为

    DirectoryIndex index.php index.html index.html.var

    # vi /usr/local/apache/htdocs/test.php

    wq保存退出。

    # /usr/local/apache/bin/apachectl –k stop
    #/usr/local/apache/bin/apachectl –k start

    在浏览器中输入:http://www.yourdomain.com/test.php进行测试。并新建议db.php对数据库的连接测试

    对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 //支持套接字

      (5)net-snmp安装

    RedHat默认安装了SNMP服务,但好象没有snmpwalk,snmpget这两个命令,所以需要编译安装NET-SNMP。

    NET-SNMP官方网站:http://www.net-snmp.org/

    # tar zxvf net-snmp-5.2.4.tar.gz
    
    #cd net-snmp-5.2.4
    #./configure --prefix=/usr/local/net-snmp --enable-developer
    #make
    #make install
    
    # ln –s /usr/local/net-snmp/bin/* /usr/local/bin/
    
    #cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf

    //修改snmpd.conf(修改COMMUNITY、允许抓取snmp数据的主机、抓取数据范围等)。

    # /usr/local/net-snmp/sbin/snmpd //启动SNMP服务

    # vi /etc/rc.d/rc.local

    //在 rc.local 上加入一行

    /usr/local/net-snmp/sbin/snmpd

    系统启动时启动SNMP服务。

       (6)安装Cacti

      

    Cacti官方网站:www.cacti.net/

     
    # 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 = "cacti";

    //添加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将没有写入权限。

    //进行数据库的配置准备,进行php+mysql+cacti的联合测试

    #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”;
    Query OK, 1 row affected (0.00 sec)
    
    mysql>exit
    # cd /usr/local/apache/htdocs/cacti
    # mysql –uroot –p cacti < cacti.sql
    Password:
    //在页面上输入http://localhost/cacti/ 可以得到 cacti的页面,测试成功。

    //构架net-snmpd服务,配置snmpd准备做cmd.php同snmpd的联合测试

    1).在浏览器中输入:http://www.yourdomain.com/cacti/
    默认用户名:admin 密码:admin

    2).更改密码

    3).设置cacti用到的命令路径

    snmpwalk Binary Path /usr/local/ bin/snmpwalk
    snmpget Binary Path /usr/local/ bin/snmpget
    RRDTool Binary Path /usr/local/ bin/rrdtool
    PHP Binary Path /usr/local/bin/php
    Cacti Log File Path /usr/local/apache/htdocs/cacti/log/cacti.log
    Cactid Poller File Path /usr/local/cactid/cactid

    4).进入cacti后需确认更改以下位置:(如下图)

    Console>Settings>General
    Console>Settings>Poller

    (7)安装Cactid或者 Spine 

    CACTID 的安装需要以下支持:

    o net-snmp-devel (需要编译安装net-snmp时添加--enable-developer选项)
    o mysql
    o mysql-devel (mysql源文件编译安装后默认支持)
    o 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

    //这时你将在此目录下看到多出了cactidcactid.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

     

      

  • 相关阅读:
    01_Struts2概述及环境搭建
    CSRF跨站请求伪造
    XSS跨站脚本攻击
    文件包含漏洞
    文件上传漏洞
    PHP常见代码执行后门函数
    SQL注入总结
    [转]Android PopupWindow的使用和分析
    [转] 基于XMPP协议的Android即时通信系
    [转]Android推送方案分析(MQTT/XMPP/GCM)
  • 原文地址:https://www.cnblogs.com/jerryxing/p/2520479.html
Copyright © 2011-2022 走看看