PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] システムログに「タスクを実行するために必要なロックを獲得できませんでした」というログが残っている を追加しました。
[よくあるご質問] 特定のシステムログに絞って確認できますか? を追加しました。

PowerCMS ブログ

ホーム > PowerCMS ブログ > 技術情報 > Windows環境にMovable Typeを設置する (Tips)

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


カテゴリー
技術情報
投稿者
持田 徹

Recent Entries