Cacti 是一套基於 PHP、 MySQL、 SNMP、及 RRDTool開發的網路流量監測圖形分析工具。它通過監測圖形分析工具。它通過監測圖形分析工具。它通過 snmp來獲取資料,使用來獲取資料,使用 RRDtool 繪畫圖形,而且你完全可以不繪畫圖形,而且你完全可以不繪畫圖形,而且你完全可以不需要了解RRDtool 複雜的引數。
我把apache mysql php rrdtool cacti安裝在了test3.wolf.org(192.168.87.130)上面用來監控 test1.test.com(192.168.87.129),所以在test1.test.com上面安裝snmp代理。
1, apache 安裝
tar xvfz httpd-2.2.11.tar.gz
cd httpd-2.2.11
./configure –prefix=/usr/local/apache –enable-so
# –prefix=<Install_Path> 指明編譯後的二進位制檔案安裝到<Install_Path>目錄,用實際安裝路徑替換<Install_Path>,如–prefix=/usr/local/apache-2.2.11 ,如果省略此配置引數,預設安裝到/usr/local/apache2目錄。
# –enable-so 指明編譯動態載入模組(DSO)支援到httpd二進位制檔案,此模組使得Apache的各功能模組可以與核心分開編譯、執行時動態載入。有了DSO支援,升級和增加模組時只需編譯相關的模組即可,不必重新編譯整個系統。最新版本的Apache預設編譯此模組到httpd二進位制檔案,如果你在使用早期版本的apache並且需要DSO支援,可能要明確指出此選項。
# –enable-mods-shared=<MODULE-LIST> 明確指明要以DSO方式編譯的模組,<MODULE-LIST>為空格分隔的模組名列表、all或者most,all表示包含所有模組,most表示包含大部分模組,如–enable-mods-share=”rewrite deflate”,–enable-mods-share=most,效果等同於多個–enable-<FEATURE>=share
make && make install
/usr/local/apache/bin/apachectl restart 啟動 httpd
echo “/usr/local/apache/bin/apachectl start” >> /etc/rc.local 加入開機
2 ,mysql安裝
這個版本的mysql安裝比較簡單,建議大家這麼做~~!!!
tar xvfz mysql-5.1.49-linux-i686-glibc23.tar.gz
useradd mysql 新增mysql使用者
mv mysql-5.1.49-linux-i686-glibc23 /usr/local/mysql
chown -R root:mysql /usr/local/mysql/ 修改許可權
chown -R mysql:mysql /usr/local/mysql/data/
cd /usr/local/mysql/
cp support-files/my-medium.cnf /etc/my.cnf
./scripts/mysql_install_db –user=mysql 初始化mysql
/usr/local/mysql/bin/mysqld_safe –user=mysql & 後臺啟動mysql
./bin/mysqladmin -uroot password 123456 新增root使用者和密碼
echo “/usr/local/mysql/bin/mysqld_safe –user=mysql &” >> /etc/rc.local 開機啟動
echo “export PATH=$PATH:/usr/local/mysql/bin” >>/etc/profile 設定環境變數
source /etc/profile 使環境變數生效
3,php 安裝
在安裝php之前需要其他的包的支援,這些包很多,在這裡我就不一一編譯安裝了,最簡單的方法是yum安裝
[root@test3 mysql]# yum install -y libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel gd gd-devel mysql-devel
[root@test3 php-5.2.9]# tar xvfz php-5.2.9.tar.gz
[root@test3 php-5.2.9]# cd php-5.2.9
[root@test3 php-5.2.9]# ./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs –with-mysql=/usr/local/mysql –with-gd –with-freetype-dir –with-jpeg-dir –with-png-dir –enable-sockets
–prefix=/usr/local/php
指定 php 安裝目錄
–with-apxs2=/usr/local/apache/bin/apxs
整合 apache,apxs功能是使用mod_so中的LoadModule指令,載入指定模組到 apache,要求 apache 要開啟SO模組 如果編譯安裝時不加–options –with -apxs2引數,即使你的電腦上安裝了Apache和PHP,通過Apache是不能訪問PHP頁面的,因為Apache本身只支援靜態html頁面。加入此引數,則能通過Apache訪問PHP頁面了。
–with-config-file-path=/usr/local/php/etc
指定php.ini位置
–with-mysql=/usr/local/mysql (切記這裡是–with-mysql而不是–with-mysql-dir要不然的話 你會死的很慘)
mysql安裝目錄,對mysql的支援
–with-mysqli=/usr/local/mysql/bin/mysql_config
mysqli擴充套件技術不僅可以呼叫MySQL的儲存過程、處理MySQL事務,而且還可以使訪問資料庫工作變得更加穩定。
–enable-safe-mode 開啟安全模式
–enable-ftp 開啟ftp的支援
–enable-zip 開啟對zip的支援
–with-bz2 開啟對bz2檔案的支援
–with-jpeg-dir 開啟對jpeg圖片的支援
–with-png-dir 開啟對png圖片的支援
–with-freetype-dir 開啟對freetype字型庫的支援
–without-iconv 關閉iconv函式,種字符集間的轉換
–with-libXML-dir 開啟libxml2庫的支援
–with-XMLrpc 開啟xml-rpc的c語言
–with-zlib-dir 開啟zlib庫的支援
–with-gd 開啟gd庫的支援
–enable-gd-native-ttf 支援TrueType字串函式庫
–with-curl 開啟curl瀏覽工具的支援
–with-curlwrappers 運用curl工具開啟url流
–with-ttf 開啟freetype1.*的支援,可以不加了
–with-xsl 開啟XSLT 檔案支援,擴充套件了libXML2庫 ,需要libxslt軟體
–with-gettext 開啟gnu 的gettext 支援,編碼庫用到
–with-pear 開啟pear命令的支援,PHP擴充套件用的
–enable-calendar 開啟日曆擴充套件功能
–enable-mbstring 多位元組,字串的支援
–enable-bcmath 開啟圖片大小調整,用到zabbix監控的時候用到了這個模組
–enable-sockets 開啟 sockets 支援
–enable-exif 圖片的後設資料支援
–enable-magic-quotes 魔術引用的支援
–disable-rpath 關閉額外的執行庫檔案
–disable-debug 關閉除錯模式
–with-mime-magic=/usr/share/file/magic.mime 魔術標頭檔案位置
CGI方式安裝才用的引數
–enable-fpm
打上PHP-fpm 補丁後才有這個引數,CGI方式安裝的啟動程式
–enable-fastCGI
支援fastcgi方式啟動PHP
–enable-force-CGI-redirect
重定向方式啟動PHP
–with-ncurses
支援ncurses 螢幕繪製以及基於文字終端的圖形互動功能的動態庫
–enable-pcntl freeTDS需要用到的,可能是連結mssql 才用到
mhash和mcrypt演算法的擴充套件
–with-mcrypt 演算法
–with-mhash 演算法
以上函式庫需要安裝
–with-gmp 應該是支援一種規範
–enable-inline-optimization 優化執行緒
–with-openssl openssl的支援,加密傳輸時用到的
–enable-dbase 建立DBA 作為共享模組
–with-pcre-dir=/usr/local/bin/pcre-config perl的正則庫案安裝位置
–disable-dmalloc
–with-gdbm dba的gdbm支援
–enable-sigchild
–enable-sysvsem
–enable-sysvshm
–enable-zend-multibyte 支援zend的多位元組
–enable-mbregex
–enable-wddx
–enable-shmop
–enable-soap
編譯安裝時報錯
configure: error: xml2-config not found. Please check your libxml2 installation.
這是因為 libxml2-devel 沒有安裝 在這裡直接安裝就可以了
[root@test3 php-5.2.9]# yum install libxml2-devel -y
出現如下結果證明configure成功~~~~!!!!(如果出現警告,那麼也是不成功的)
接下來就是漫長的make && make install
[root@test3 php-5.2.9]# ln -s /usr/local/php/bin/* /usr/local/bin/
[root@test3 php-5.2.9]# cp php.ini-dist /usr/local/php/lib/php.ini
安裝到這裡還不算完全,我們還要整合apache和php,而且還要測試
在apache的配置檔案httpd.conf新增php支援
AddType application/x-httpd-php .php
LoadModule php5_module modules/libphp5.so
並且將DirectoyIndex 後面的index.html(在htdoc中)的改成index.php 在這個檔案裡面加上如下的一句話<?php
phpinfo();
?>
重啟apache服務,在瀏覽器中輸入http://localhost如出現如下結果就是配置正確
到此為止mysql apache php安裝成功了
排錯
ERROR 2002 (HY000): Can`t connect to local MySQL server through socket `/var/lib/mysql/mysq
今天在linux裡安裝mysql,執行時遇到這樣的錯誤
ERROR 2002 (HY000): Can`t connect to local MySQL server through socket `/var/lib/mysql/mysql.sock`
上網查了下:
這種情況大多數是因為你的mysql是使用rpm方式安裝的,它會自動尋找 /var/lib/mysql/mysql.sock 這個檔案,
通過unix socket登入mysql。
常見解決辦法如下:
1、
建立/修改檔案 /etc/my.cnf,至少增加/修改一行
[mysql]
[client]
socket = /tmp/mysql.sock
#在這裡寫上你的mysql.sock的正確位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下
2、
指定IP地址,使用tcp方式連線mysql,而不使用本地sock方式
#mysql -h127.0.0.1 -uuser -ppassword
3、
為 mysql.sock 加個連線,比如說實際的mysql.sock在 /tmp/ 下,則
#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock即可
我用的是3來解決的,由於對linux還不太瞭解,記下來方便查閱