Run CGI in MS-Windows with OMNI HTTPD

火星人 @ 2014-03-12 , reply:0


  關於CGI的確切定義或者學術上的解釋,我不想班門弄斧。不過稍微有點網齡的人, 應該知道「留言板、BBS論壇、聊天室」等Web上隨處可見的小程序,這些小程序就是一些簡單的應用於Homepage的CGI腳本。
大部分在網上安家落戶的朋友一般都沒有CGI的使用許可權,因而免費CGI服務成為英特網上的一個大熱點,比如免費「留言板、計數器」等。而少部分用戶則比較幸運,他們的免費主頁提供商同時提供CGI的使用許可權,比如「太陽城」。然而不幸的是,這些用戶中並不是所有人都知道如何編寫、修改CGI腳本,甚至不知道如何調試自己所擁有的CGI腳本,而且象UNIX、Windows NT等操作系統也不是每個人都可以很容易掌握的。這個時候,我們似乎非常需要一個可以在最熟悉的操作系統Windows95下運行並且利用它可以非常完美的調試CGI腳本的工具,值得欣慰的是,我終於找到了一個可以免費下載、免費使用的非常棒的CGI調試工具。
「OmniHttpd professional idle」就可以完全實現在Windows95下調試CGI腳本。這個工具非常小,僅有1M多點,但是它的功能卻非常強大,大到在你自己的PC里就可以體會到做系統管理員的感覺。你的「瘟95」有了它的支持,立刻就會精神倍增,你不但可以設定多個WWW目錄,而且可以為每個WWW目錄分配不同的IP地址。與此同時,你也擁有了夢寐以求的「cgi-bin」目錄,在這裡幾乎可以進行所有CGI腳本的調試,當然也包括SSI。心動不如行動,趕快到
http://www.omnicron.ab.ca/httpd/
下載最新版本吧。
下載之後的程序是一個自解壓包,安裝非常方便,典型的Windows95風格。全部過程只需要點擊下一步即可完成,而且在安裝過程中無須回答任何問題以及做任何配置,只要別忘記安裝在哪裡就可以了。(^_^)
安裝完畢,不用重新啟動機器,你就會在Windows95的托盤裡發現一個蘭色的小圓球,表明虛擬伺服器已經啟動。如果在這個時候,你不做任何配置,直接打開瀏覽器,在地址欄輸入「localhost」或者「127.0.0.1」,那麼首先看到的將是Omni的歡迎畫面----「祝賀你!你已經成功安裝OmniHTTPd」。在歡迎畫面的下半部有四個明顯的鏈接,后兩個鏈接只有在網上才能使用,所以無須管它。第一個鏈接是與該軟體捆綁在一起的離線使用說明,全英文的,有興趣不妨仔細看看,如果覺得英文對你來說太過無聊,那麼請您繼續瀏覽下文,會省去您很多查字典的時間。(^_^) 第二個鏈接是一些典型CGI的測試,趕快「CLICK」,哈哈!是不是看見你的計數器了?還有CGI環境變數?恭喜,到此為止,你的WEB伺服器已經有了基本雛形。這裡值得一提的是關於Perl CGI的測試部分:如果你還沒有安裝Perl for WIN32的話,該部分將得不到正確結果(Perl for WIN32的安裝在許多書籍中都有介紹,在此不做贅述);如果你已經安裝了Perl for WIN32,但不是安裝在c:碟,也將得不到正確結果,因為OmniHTTPd的默認Perl解釋器路徑為「c:\perl\bin\perl.exe」。
既然已經成功安裝了這個出色的工具,當然希望它能夠做有自己特色的事。接下來,筆者將詳細介紹該軟體的各種配置。別擔心,很簡單,當看完本文,您就已經基本掌握了它的使用。
用滑鼠右鍵單擊托盤裡的小蘭球,會彈出一個菜單,共有四項:

Pause server
暫停WEB伺服器功能,但並不退出程序;

Flush server
刷新伺服器;

Shutdown server
關閉WEB伺服器並退出程序;

Properties
屬性配置,所有的伺服器配置都在此項進行。

好了,現在讓我們進行最主要的工作—屬性配置。選擇第四項Properties,會彈出一個對話框(如圖一)。其中, 按鈕Add:添加新的虛擬主機。點擊這個按鈕,在彈出的對話框中輸入一個名字,確定后,在左邊的列表框中 會增加一個WEB主機。
按鈕Edit:配置屬性。選擇左邊列表框中不同的伺服器,再點擊此按鈕,可以為每個伺服器分配不同的IP地址、 WWW目錄等。具體細節配置,將在下面介紹。
按鈕Delete:刪除選中的主機。
按鈕Web Serverd Global Setting:伺服器總體配置部分。點擊這個按鈕,將彈出一個窗口(如圖二)。在這個窗口中,僅有兩項需要配置,其餘取默認值即可:
1.External標籤(如圖三):如果你打算使用Perl CGI,而且已經安裝了Perl for WIN32,在這裡就必須配置使用Perl腳本時的擴展名和Perl解釋器的絕對路徑。在「Virtual」欄內輸入「.pl」,在「Actual」欄內輸入Perl解釋器的絕對路徑,例如「c:\perl\bin\perl.exe」。
2.Advanced標籤(如圖四):在此欄中,有五個複選框。分別表示「允許處理SSI腳本、禁止不安全的SSI、允許使用外部CGI腳本(如Perl)、CGI調試模式、發送WINCGI密碼」,筆者習慣除第二項以外,其餘全部選中。
按鈕Default Virtual Setting:默認設定。點擊這個按鈕彈出的窗口與點擊「Edit」按鈕彈出的窗口相同,不同之處在於,對「默認設定」的編輯隻影響到系統默認主機名下的屬性,比如圖一中左邊列表框中的第一個主機
「Default」;而「Edit」按鈕則可以編輯列表框中任意一個主機的屬性。
下面將詳細講述最關鍵的部分,點擊「Edit」按鈕或者「Default Virtual Setting」按鈕后,將彈出選中主機的屬性配置窗口(如圖五)。在這個窗口中有十個標籤,由於有些標籤的內容與本文討論CGI的調試沒有很大關係,所以只做簡單介紹。它們的具體含義如下:
(1)Server。(圖五)
Server IP:顧名思義,是該WEB伺服器的IP地址,默認一般為127.0.0.1,如果添加了其它主機,簡單的方法是依次類推,例如:127.0.0.2,127.0.0.3..............;
Server name:伺服器名稱,筆者感覺很少用伺服器名稱,一般使用IP地址比較準確;
Server root:WWW絕對路徑,即WEB首頁的存放地點,當在瀏覽器中鍵入「localhost」或者「127.0.0.1」時,會首先到此目錄內尋找首頁;
Default Index:首頁的預設文件名,隨自己安排啦;
Admin E-mail:系統管理員的E-mail地址,由於「瘟」95沒有MAIL伺服器,故此項只是花邊而已;
最下面的複選框和輸入欄是儲存出錯信息的臨時文件,喜歡用與否全看個人愛好。
(2)Security。(圖六)
這裡可以選擇安全等級。第一項設定為只讀;第二項設定需要用戶名和密碼來執行一些特殊許可權;第三項設定每個用戶只能使用自己的目錄。其中第三項,如果需要在下面的「(6)(7)」兩個標籤中增加新的組、新的用戶以及限制某些目錄被訪問時才選中。
(3)Alias。(圖七)
該標籤的功能類似於Unix下NCSA伺服器中虛擬目錄命令「Alias」。例如,當你在主頁中調用「c:\gif\a.gif」時,可能要使用「http://www.server.com/gif/a.gif」這段代碼,而配置虛擬目錄之後,在HTML代碼中可以直接使用「/gif/a.gif」完全代替之。
(4)Standard CGI。(圖八)
標準CGI設定。這個標籤的設定決定了你的「cgi-bin」目錄的所在處,與「Alias」標籤類似,也是虛擬目錄,用「/cgi-bin」代替CGI腳本存放的絕對路徑。
(5)Users and Groups。
當在「Security」標籤中選中第三項時,此標籤設定才有效,即可以增加新的組,在組中添加用戶。
(6)Access Control list。
當在「Security」標籤中選中第三項,而且「Users and Groups」標籤中有組,組中有用戶時,可以針對某個組或者某個用戶設定專門的使用目錄,以保障伺服器的安全。
(7)Redirection。
重新導向頁面的設定。類似於「Alias」標籤,不過用處不大。
(8)Windows CGI。
類似於「Standard CGI」標籤的設定,主要是針對VB SCRIPTS等Windows格式的CGI腳本。
(9)ISAPI Extension。
ISAPI擴展。
(10)Indexing。
如果瀏覽某頁時,該頁不存在,伺服器將指向的頁面。
了解以上內容后,就可以完全駕御自己的「Windows95」WEB伺服器,並調試幾乎所有的CGI腳本。相信您一上手就會喜歡上這個小巧伶俐的工具。





[火星人 via ] Run CGI in MS-Windows with OMNI HTTPD已經有360次圍觀

http://www.coctec.com/docs/program/show-post-72482.html