benjamin @Wiki windows環境之下的對應方法

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

沒有辦法,如果你只有windows作業系統,又剛好是本書的忠實讀者的話,不想點辦法來照顧你一下不行。

在本書所符的光碟裡,有一套cgwin的系統。藉由安裝這個摸擬的系統,你的電腦就可以使用liunx上大多數的程式。

即使你有一台屬於自已的linux機器,也可以式著將cygwin裝在你的windows機器上或筆記型電腦上。我最近才開始試這件事情。發現蠻方便的,可以結合widnows及linux的好處。

我很喜愛linux的作業系統。因為它真的很酷。你如果還沒有試過,或許你真的應該用用看。這個cygwin或許是一個很好的開始。

接下來我們就一步一步的來說明一下這一套系統的安裝與使用的方法。

Cygwin 環境

對許多人而言,Windows是他們比較習慣的平台,若要他們為了學習shell入門再去學習如何安裝一套作業系統,可能是不小的工程。還好,redhat的推出了Cygwin,這是Windows平台上的一種模擬Unix環境,在此簡便的環境下可以簡單的與linux作接觸,或許會另很多人覺得linux不再是遙不可及的東西。


cygwin.com這 個網站上很多的提示,主要包括安裝以及更新。在安裝的過程中,會出現選擇你所要安裝套件的選單,如果你所用的網路不是很快,你可能只會想裝一些容量比較少 的套件。你可以這樣作,因為即使你在使用時發現你所想要的套件一開始沒有被安裝,你可以隨時回來作更新,以及安裝的動作,非常的方便。

此 外,在linux底下的軟體通常都有一些依存性。比方說你要安裝甲軟體之前,你必需先裝乙軟體,因為甲軟體有使用到乙軟體的程式庫。這在linux底下是 一件理所當然的事情,因為linux是由很多人所開發的,所以當一個軟體在開發之前,開發者總會式著去找找看,是否有些功能以經別人早就完成了的。如果有 的話當然就直接拿來用,不用從頭開始寫。對於程式開發者來說,要從linux世界這個大寶庫裡找到一些東西來使用,再加上自已的idea成為一個新的軟體 是一件很有趣的事情。但是對於使用者來說,安裝時難免會覺得盤根錯節,無法理出頭緒。
不過這個問題,對於cygwin來講,在大多數的情況是不存在的。只要你選擇了你想安裝的軟體,這個軟體的關連項目也主動會被一起安裝。

安裝法如下:

  1. 連至 cygwin.com,如下圖所示:

  2. 點按畫面右方的InstallCygwinnow,然後選"開啟"以執行線上安裝程式


  3. 接著點選安裝套件的mirror站台,你可以選擇一個離你近一點的,像我身在日本,我就選擇了這一個網站,個人覺得這個網站速度蠻快的,有興趣的讀者或許可以式式。點按view選欲安裝的套件,如下圖所示:

  4. 選擇以下的套件

    1. apacheserverweb伺服器,我們需要使用它來運行nagios的畫面

    2. gcc* c程式的編譯器

  5. 安裝完成之後,可以在開始的程式集裡找到選項:

  6. 點選之後,cygwin就被執行了。


    Figure 5. 執行 Cygwin

此時,你應該就可以在cygwin裡頭使用linux的一些功能了。
不 過,此時重頭西才正要開始,我們該如何將nagios給放到cygwin上去運作呢。這個問題我困擾了很久。因為很麻煩,要修改一些東西,我花了一整個晚 上的時間式著將這件事情作的完美,不過很可惜的,還是沒有辦法作的很好,而且遇到蠻多的挫折的。途中我甚至想過,乾脆不要寫這一段了。

最 主要的問題點在於,cygwin裡沒有使用者的概念。它是與windows共用使用者的帳戶。所以如果你想要創建一個使用者,你必須使用windows平 台上的工具,來新增user。然後你也沒有辦法使用su的命令,對於熟悉linux的模樣的人來說,的確是有點難以適應,而且,nagios的原始設計 裡,也是需要區隔使用者,使用者族群,命令執行者,及命令執行者族群的。所以在cygwin上安裝並編繹nagios時,要修改很多地方。

這些過程太麻煩了,所以我覺定割愛不寫出來。取而代之的是這本書裡的光碟。它有一個目錄是專門讓你在cygwin裡可以直接運作nagios的。


這 個東西是努力了一整晚的產品。我把這個玩意作好之後,也發現了它的價值。它讓我在寫書的過程裡,可以很快速的進行一些測式。而不需要像已前一樣需要連接到 公司裡的大型主機,省了很多時間,也是一個很好的學習環境。我把它安裝在我的小黑ibm筆記型電腦上,甚至不需要連上internet,nagios的功 能依然可以進行運作。(日本的咖啡店裡有網路的好象不太多,我又很喜歡沒事往咖啡店裡跑,邊喝咖啡邊寫作,所以這個功能對我來說蠻方便的)


不過,想先說明的是,這個目錄裡的nagios有點不健全,因為我把它定義在用作學習用的工具。希望大家介由他真正的了解nagios。然後在真正的linuxserver上進行運用。


接 下來簡單的說明如何在你的windows電腦上讓nagios運行的細部過程。不過有點可惜的是,我只在windows2000及xp上測式過這一個套 件,如果你還在使用win98,winme,或是其他的作業系統的話,那真的很抱歉了,我無法保証它在這些機器上的運作情形。你應該先去找一台可用的機器 在來買這一本書。


安裝流程:
0 在開始之前-----確定使用者
在cygwin的視窗裡,請看一下上圖,我們會發現有一行文字:

Administrator@KBMJ-IASISZD034 ~
這一行文字的意義,在@之前的是代表當前的使用者,在@之後的KBMJ-IASISZD034 ~是電腦的名稱。

在cygwin裡的使用者可以在/etc/passwd 以及 /etc/group 這兩個檔案裡找到。這兩個檔案是在安裝之時,由C:\cygwin\etc\postinstall\passwd-grp.sh.done這 一個程式集所建立的。這個程式集所作的工作,說穿了,就是將windows裡現有的user及group把它拿到cygwin裡來使用。就好像我前面說 的,cygwin裡沒有平常的linux的su,及useradd等等的命令,它是與windows平台共用使用者管理,所以nagios安裝之時,就很 理所當然的將目前的windows平台裡所存在的使用者與群組,給建立在/etc/passwd 以及 /etc/group這兩個檔案裡面。

或許有人想問,如果我想建立一個使用者,該怎麼辦。很簡單,你必須要使用windows的控制台裡,新增使用者與群組的功能。之後,在到cygwin裡來,將/etc/passwd 以及 /etc/group這兩個檔案幹掉之後,從新執行
/etc/postinstall/passwd-grp.sh.done
這一個指令集,你剛剛所建立的使用者,就會被增加到/etc/passwd 以及 /etc/group這兩個檔案裡面了。

這一張光碟裡的nagios,所預設的使用者與群組分別是AdministratorAdministrators,因為這是每一台電腦所應該會有的使用者與群組。如果你是這一個使用者,也就是你的cygwin的指令行,@前的文字是的Administrator話,那就可以開始以下的流程。如果不是的話,你可能要登出之後以Administrator的身份登入。或者是執行已下的步驟之後,將設定檔裡與user及group有關的部份,改成你現在正在使用的user及group。


1在cygwin的視窗裡,打入以下的命令:
$ mkdir -p /usr/local/nagios

$ mkdir -p /etc/rc.d/init.d/

如圖所示:



2使用以上的命令建立了folder之後,會了作業上的方便,我們啟動檔案總管

為了說明的方便,我假設你的cygwin是安裝在c槽的cygwin的目錄之下。打開檔案總管後,在地址列打入

C:cygwinusrlocal agios

然後將光碟裡,nagios-cygwin的folder底下的內容,全部copy到這裡來,完成之後,應該是會像下面的畫面一樣。


然後依照同樣的步驟,將nagios-cygwin-script/start裡的檔案的,copy到C:cygwinetc c.dinit.d的目錄之下。

然後依照同樣的步驟,將nagios-cygwin-script/apache裡的檔案的,copy到C:cygwinetcapache的目錄之下。

注意: 在C:cygwinetcapache這個目錄底下,已經存在了一個httpd.conf的檔案了。以上這個動作,是要將這個已經存在的檔案用光碟裡的檔 案覆寫過去。如果你已經對這個httpd.conf作過一些編輯及設定了,不想讓光碟裡的httpdconf來覆寫的話,你可能必需手動編輯這個檔案,將 下列的這一段:

ScriptAlias/nagios/cgi-bin/"/usr/local/nagios/sbin/"
Alias/nagios"/usr/local/nagios/share/"


<Directory"/usr/local/nagios/sbin/">

  Options ExecCGI
 AllowOverrideAuthConfig
  Order allow,deny
  Allow from all

</Directory>


<Directory"/usr/local/nagios/share/">

  Options None
 AllowOverrideAuthConfig
  Order allow,deny
  Allow from all

</Directory>

貼到適當的位置上。

如果你發現你沒有C:cygwinetcapache這一個目錄的話,可能是你在安裝cygwin時沒有選擇apache的選項,請重新執行setup.exe,然後將這一個套件補上。

3 在一切都copy完之後,回到cygwin的畫面,執行

$ /usr/sbin/apachectl configtest
的命令,測式一下apache的設定檔是否無誤。

4 執行
$ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
的命令,測式一下nagios的設定檔是否無誤。

5啟動apache
$ /usr/sbin/apachectl graceful

5啟動nagios
$ /etc/rc.d/init.d/nagios start

6打開ie,然後在地址列裡輸入:
http://127.0.0.1:84
確認一下是否能夠看到apache的畫面

7在地址列裡輸入:
http://127.0.0.1:84/nagios 確認是否能夠看到nagios的畫面。


如果一切順利的話,nagios的畫面,就會出現在你眼前的視窗了。