也許許多人跟我一樣,幻想著要在 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]

最後修改日期: 2006-03-10