- 安裝環境:
- 1.系統:Centos 5.1
- 2.軟件包需求:cacti-0.8.7j,mysql-5.0.20,php-5.2.6,apache2.2(以上均爲源碼包).
- 安裝配置過程:
- 1. 安裝apache2.2
- 解壓軟件包,進入安裝目錄,我的編譯過程如下:
- 安裝apr和apr-util
- cd httpd-2.2.17/srclib/apr
- ./configure --prefix=/usr/local/apr
- make && make install
- cd ../apr-util
- ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
- make && make install
- # ./configure --prefix=/usr/local/apache --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin --enable-mods-shared=all --with-mpm=worker --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache
- # make
- # make install
- Apache編譯參數註解
- ./configure //配置源代碼樹
- --prefix=/usr/local/apache //體系無關文件的頂級安裝目錄PREFIX ,也就Apache的安裝目錄。
- --enable-module=so //打開 so 模塊,so 模塊是用來提 DSO 支持的 apache 核心模塊
- --enable-deflate=shared //支持網頁壓縮
- --enable-expires=shared //支持 HTTP 控制
- --enable-rewrite=shared //支持 URL 重寫
- --enable-cache //支持緩存
- --enable-file-cache //支持文件緩存
- --enable-mem-cache //支持記憶緩存
- --enable-disk-cache //支持磁盤緩存
- --enable-static-support //支持靜態連接(默認爲動態連接)
- --enable-static-htpasswd //使用靜態連接編譯 htpasswd - 管理用於基本認證的用戶文件
- --enable-static-htdigest //使用靜態連接編譯 htdigest - 管理用於摘要認證的用戶文件
- --enable-static-rotatelogs //使用靜態連接編譯 rotatelogs - 滾動 Apache 日誌的管道日誌程序
- --enable-static-logresolve //使用靜態連接編譯 logresolve - 解析 Apache 日誌中的IP地址爲主機名
- --enable-static-htdbm //使用靜態連接編譯 htdbm - 操作 DBM 密碼數據庫
- --enable-static-ab //使用靜態連接編譯 ab - Apache HTTP 服務器性能測試工具
- --enable-static-checkgid //使用靜態連接編譯 checkgid
- --disable-cgid //禁止用一個外部 CGI 守護進程執行CGI腳本
- --disable-cgi //禁止編譯 CGI 版本的 PHP
- --disable-userdir //禁止用戶從自己的主目錄中提供頁面
- --with-mpm=worker // 讓apache以worker方式運行
- --enable-rewrite //讓apache支持僞靜態規則
- --enable-deflate //開啓gzip壓縮
- --enable-authn-dbm=shared // 對動態數據庫進行操作。Rewrite時需要
- --enable-mods-shared=all 做大化編譯
- 安裝完成後,編輯apache的配置文件,使之能正常使用:
- # vi /usr/local/apache/conf/httpd.conf
- 找到下面這行:
- #ServerName
- [url]www.example.com:80[/url]
- 改爲:
- ServerName yourIP:80
- #Listen 80
- Listen yourIP:80
- 啓動apache:
- #/usr/local/apache/bin/apachectl start
- 在瀏覽器裏輸入你的IP或者localhost測試一下,是否能看到apache的測試頁,成功的話,說明安
- 裝成功
- #cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
- vi /etc/rc.d/rc.local
- #apache start
- /usr/local/apache/bin/apachectl start ---添加apache自啓動
- 這樣就可以實現service httpd restart 了
- 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 9 to server version: 5.0.20a-log
- mysql> set password for root@localhost=password('cactipw');
- mysql> Query OK, 0 rows affected (0.00 sec)
- mysql> create database cactidb;
- mysql> grant all on cactidb.* to root;
- mysql> grant all on cactidb.* to root@localhost;
- mysql> grant all on cactidb.* to cactiuser;
- mysql> grant all on cactidb.* to cactiuser@localhost;
- mysql> set password for cactiuser@localhost=password('cactipw');
- mysql> flush privileges; (See cacti docs/INSTALL)
- mysql> exit
- //select * from user;
- //查詢帳號是否添加成功
- 3.安裝php-5.2.0
- 解壓軟件包,進入安裝目錄,我的編譯過程如下:
- # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-xml-config=/usr/local/lib --with-config-file-
- path=/usr/local/php/etc --enable-socket
- #make;make install
- 編譯選項中--with-apxs2=/usr/local/apache/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/lib/php.ini
- #vi /usr/local/apache/conf/httpd.conf
- 找到下面字段:
- DirectoryIndex
- 在iindex.html前面添加index.php
- 並在配置文件最後加入如下字段:
- AddType application/x-httpd-php .php
- AddType application/x-httpd-php-source .phps
- 測試PHP是否正常運行:
- #vi /usr/local/apache2/htdocs/index.php
- 寫入下面一行:
- 保存退出後重新啓動apache
- #/etc/init.d/httpd start
- 在瀏覽器裏輸入IP,如果能夠看到phpinfo的測試頁,那麼PHP已經正常工作了
- 4,安裝rrdtool
- tar zxvf rrdtool-1.0.50.tar.gz
- cd rrdtool-1.0.50
- ./configure --prefix=/usr/local/rrdtool
- make
- make install
- 5, net-snmp 安裝
- rpm -qa | grep net-snmp
- net-snmp-*
- net-snmp-*
- net-snmp-*
- 編輯本地snmpd:
- vi /etc/snmp/snmpd.conf
- 更改 1、com2sec notConfigUser default public
- 改爲:com2sec notConfigUser (你想監控的那臺機器的IP) public
- 2、access notConfigGroup "" any noauth exact systemview none
- none
- 改爲:access notConfigGroup "" any noauth exact all none
- none
- 3、#view all included .1 80
- 將前面的 # 註釋 去掉。
- 保存退出 :wq
- service snmpd restart
- 注:如果你機器內沒有snmpwalk和snmpge命令,請到安裝盤裏查找 net-snmp-utils 包,rpm
- -ivh net-snmp-utils-*.rpm 只後這兩個命令就在系統裏了。其他包也都在安裝盤裏 確保安裝
- 這四個包就OK
- 6,解壓cacti的軟件包,進行如下操作:
- #mv cacti-0.8.7 /usr/local/apache/htdocs/cacti
- #cd /usr/local/apache/htdocs/cacti
- useradd cactiuser
- passwd cactiuser (pwd:cactipw)
- /usr/local/mysql/bin/mysql –u root –p cactidb 導入數據表
- chown –R cactiuser rra/ log/
- vi include/config.php
- $database_type = “mysql”;
- $database_default = “cactidb”;
- $database_hostname = “localhost”;
- $database_username = “cactiuser”;
- $database_password = “cactipw”;
- 7,修改計劃任務,使CACTI每5分鐘獲得一次數據:
- #crontab -e -u 用戶名
- 添加如下內容:
- */5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php >
- /dev/null 2>&1
- 保存退出
- #chown -R rra/ log/。
- 8,cacti 配置
- [url]http://localhost/cacti[/url]
- 默認賬號密碼都是admin
- 配置路徑:
- snmpwalk Binary Path : /usr/bin/snmpwalk
- snmpget Binary Path: /usr/bin/snmpget
- RRDTool Binary Path: /usr/local/rrdtool/bin/rrdtool
- PHP Binary Path: /usr/local/php/bin/php
- Cacti Log File Path: /opt/cacti/log/cacti.log
- Cactid Poller File Path: /opt/cacti/poller.php
- 9,排錯
- 1. 首先檢查一下rra/下面,有沒有數據,如果沒有檢查rra/ log/的擁有者是不是cactiuser
- 2. snmpwalk -v 2c -c public ServerIP if 用來測試被控對象(serverIP)是否開啓了SNMP服
- 務
- 3. snmpwalk -v 2c ServerIP -c public .1.3.6.1.4.1.2021.10.1.3 查看被控端是否有CPU負
- 載的數據返回
- 4. /usr/local/bin/php /home/wwwroot/cacti/poller.php 用來測試PHP是否可以採集到數據
- 。如果上面的都正確,但這步出錯,很有可能是PHP配置的問題,或開啓了SuLinux。
- 5. 如果按第2步snmpwalk能採集到數據,但第3步無法採集,可能是PHP設置的問題,修改
- PHP.ini,很有可能是PHP權限問題。如果第4步正常而無法顯示圖,則可能是rra/ log/ 的
- Owner不對
- 6. #crontab -e
- */5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
- //每5分鐘自動執行一次數據
- 注意:如果執行沒成功是模式沒有執行
- 或者運行一下該命令看rra文件夾是否有數據
- # /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php
- 查詢模式crond的
- [root@localhost bin]# chkconfig --list| grep cron
- anacron 0:off 1:off 2:on 3:off 4:on 5:on 6:off
- crond 0:off 1:off 2:on 3:off 4:on 5:on 6:off
- [root@localhost bin]# chkconfig crond on //更改模式爲啓動計劃任務
- [root@localhost bin]# chkconfig --list| grep cron
- anacron 0:off 1:off 2:on 3:off 4:on 5:on 6:off
- crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- php相關環境配置
- 實例一:
- ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-zlib --with-gd --with-gettext --with-gdbm --enable-mbstring --enable-sockets
Cacti安裝與配置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.