アルファサード有限会社ではPower CMS for MTをはじめとした自社製品の開発・保守を担当いただくプログラマ(Perl/PHP)正社員を募集しています(求人ページ)。

2009年03月10日
Windows環境にMovable Typeを設置する (Tips)

アルファサード有限会社の持田です。私は主に Power CMS for MT のインストールやサーバー設定関連の情報をお届けします。

第1回目の今回は Windows環境でのCGIの動作設定についてです。

前提となる環境は以下の通りです。

サーバーOS
Windows Server 2003
Webサーバー
Apache HTTP Server Win32 2.0以降

Power CMS for MTやそのベースとなっているMovable TypeはPerlで記述されたCGIです。

Apacheは、CGIに対するリクエストがあると、そのCGIをどう実行させるか判断するためにそのCGIの1行目(「shebang行」)を見ます。Movable Type のCGI (mt.cgi) などいには1行目に次のように書かれています。

#!/usr/bin/perl -w

LinuxであればOSに最初から含まれるPerlがこのパスに存在するため問題になりませんが、WindowsではこのパスにPerlインタプリタが存在することは希なのでこのままではCGIが動作しません。

対策ですが、すべてのCGIファイルのshebang行を書き換える方法があります。しかし Power CMS for MT や Movable Type で利用するCGIファイルは数が多い上、将来のバージョンアップ時には再び書き換える必要があるなどのリスクもあります。

そこで今回のTipsとなります。最近のApache Win32ではCGIを書き換えずに済む方法があります。

設定方法

  1. Apacheの設定ファイル (httpd.confや.htaccess) に (<VirtualHost>セクションなどに) 以下の設定を追加します。
    
    ScriptInterpreterSource Registry-Strict
    
  2. 次の画像を参考にレジストリエディタを開いてperl.exeへのパスを設定します。

    具体的には HKEY_CLASSES_ROOT¥.cgi¥shell¥ExecCGI¥command に [展開可能な文字列値] を作成し、その値をperl.exeへのパスにします。

    perl.exeにはオプションとして%1をつけます。

    レジストラエディタのウィンドウ(キャプチャ)

Apacheの設定ファイルに記述するディレクティブの詳細については、以下のドキュメントが参考になります。

カテゴリー:技術情報

トラックバック

このエントリーのTBPingURL:
http://powercms.alfasado.net/mte/mt-tb-powercms.cgi/21

コメントを投稿する

TypeKey IDを使ってサインインしてください。

(初めてコメント投稿される方は、承認が必要になることがあります。承認されるまではコメントは表示されませんのでご了承ください)

  • Alfasado
Alfasado