天天看點

cacti監控(1)基礎安裝apache mysql php

      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();

?>

到此為止mysql apache php安裝成功了

排錯

今天在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還不太了解,記下來友善查閱

本文轉自陳仲陽0 51CTO部落格,原文連結:http://blog.51cto.com/wolfword/1203250