也許許多人跟我一樣,幻想著要在 Windows 2003 Server 上執行 Movable Type,在網路上搜尋了老半天,卻一點資料也找不到。沒錯,Perl 在 Win32 平台上執行的資訊實在是太少了一點,不過這樣還是不會讓我放棄,捨棄一台現有的 Server 不用,或是退而求其次而將它裝在 Linux 平台上,對於技術偏執者是很牽強,不對,應該說:是沒有辦法容忍的。沒錯!要把 Movable Type 給裝起來,而且,要把它裝在 Windows 2003 Server 的 IIS 上。
建立 Movable Type 的執行環境 (Win2003 Server)
By Coolfire <cool.fire(at)msa.hinet.net>
Date: 2003-12-14
首先我要說,並不是 Windows 平台不好安裝,其實在網路上已經有現成的套件了。在我搜尋這類的文件的時候,已經看到了有朋友將安裝程式作成一個套件,連帶的把安裝 Perl、安裝 Movable Type、安裝額外的 Perl Package 以及進行中文 Patch 的安裝順序,濃縮成一個簡單的安裝檔。不過那並不是我想要的,因為它並不使用 IIS,而我的伺服器上已經有了好幾個站台,它會使用 ASP 及 Dot NET 的應用程式,所以這一個套件對我,或是對有相同情況的人來說並不合適。而且除了用 Apache 外,我並不想用其它的網頁伺服器來取代 IIS,更何況具有 Dot NET 應用程式的網站,還一定非用 IIS 不可。廢話不多說,因為使用網路搜尋找不到解答的朋友,可以看著下面的簡單說明,來把 Movable Type 裝在你的 Windows 2003 Server 上了,而且還是用上頭的 IIS 來跑。
**1)**一開始,你要先安裝 Perl for Win32 套件,你可以在 http://www.activeperl.com/ 下載,我所使用的版本是 ActivePerl-5.8.0.804-MSWin32-x86.msi 這一個安裝檔,如果你所下載的是更新的版本當然也沒有問題。
**2)**接著,開啟 Internet Information Service (IIS) Manager,在 Web Sites 項下新增一個新的站台,我這裡所用的範例是 weblog.fetag.org。指定 TCP port 為 80,再給個 Host header value: weblog.fetag.org,因為我使用相同 IP Address 來跑不同的 Virtual Host,而且不用 IIS 管 IP Address 為何,所以 IP Address 欄為 (All Unassigned)
**3)**到 Home Directory 項下,按下 Configuration 按鈕,在 Application Configuration 裡的 Mappings 新增一個 CGI 程式,按下 Add,在 Executable 下填入 Perl 的徑及參數。 (C:\Perl\bin\perl.exe “%s” %s) <== 不包含 ( ) Extension 處填上 “.cgi”,這個意思是說,所有副檔名為 .cgi 的都當作是 CGI 程式,由 C:\Perl\bin\perl.exe 來執行,後面的 “%s” %s 用來傳遞 IIS 給 Perl.exe 的參數使用,所以不要漏掉了。
**4)**到 Documents 項下,按下 Add 加入 index.html 然後再按一次 Add 加入 index.htm,你可以把 default.asp 等等看不慣的預設索引頁給刪除掉,因為在這個範例中我們在 weblog.fetag.org 裡並不打算執行 ASP 程式,所以我連 Application Configuration 裡的 Mapping 都把 ASP 等等一些應用程式的關聯給刪掉了,畢竟簡化才是讓網站跑得更快的好方法 (當然也可以增加不少的安全性)。
**5)**別急,它還不能跑 Perl 程式,在 Windows 2003 的 IIS 下,你還必需到 Web Service Extensions (也在 IIS Manager 下) 裡作設定,開啟 Web Service Extensions 項,按右鍵 Add a new Web service extension,Extension name 填入 PERL,按下 Add 鈕,接著我們在 Add file 的 Path to file 一樣填入 C:\Perl\bin\perl.exe “%s” %s,然後出來,選 PERL 那一項,按下 Allow 鈕,如此你用 Perl 作為 CGI 程式的解釋器才會被 IIS 認可,而這也是在 Windows 2003 Server 上安裝的關鍵處 (安裝 PHP 時也相同)。
**6)**然後,你可以依照 Movable Type 的安裝說明,進入測試頁,看看你少了那些 Perl Packages,可以開啟 Command Prompt 到 C:\Perl\bin 目錄下,使用 PPM (Perl Package Manager) 程式來安裝必要的 Packages,簡單的使用方法 ppm [Enter] 然後 install xxxxx [Enter] 其中的 xxxxx 是 Package 的名稱,這樣 PPM 就會自動連線幫你安裝所指定的套件 (必需在機器連線到網路的情況之下進行套件的安裝動作),最後用 exit [Enter] 指令離開 PPM。
**7)**按照 Movable Type 的說明進行登入測試,新增 Weblog 站台。
當然你也可以依照某些中文說明的方式,進行中文的 Patch 更新,只不過在更新的時候,你可能會需要使用 diff 這個工具程式來進行 patch。我在網路上找到 Unix Tools for Win32,不過裡頭的 diff 在執行的時候會有錯誤訊息,最後是跑到 Cygwin 的網頁 (http://www.cygwin.com/),安裝了 Cygwin 裡的 diff 工具來跑 patch 才解決掉,你也可以參考看看有沒有其它的 patch 解決方案。
這一篇文章也許解釋的不很詳細,那是因為我沒有很多的時間進行修飾,基本上只要注意關鍵的 1) Web Service Extension 2) PPM 兩項,應該就可以讓你以其它的安裝說明文件進行安裝了,最後的結果就是 Win2003+IIS+Perl+MT (Yes! It’s works!)。
許多安裝文件的內容多一單一站台為主,我的下一篇文章『Movable Type 的多站台規劃』會討論另一種方式,單一 Movable Type 多站台的規劃,有興趣的網友別忘了參考。
[End]