Windows XP 自宅サーバで FastCGI を利用する for Movable Type 3.34

Windows XP 自宅サーバで FastCGI を利用する for Movable Type 3.34

Posted at January 25,2007 1:10 AM
Tag:[3.34, Apache, FastCGI, MovableType, Performance]

Windows XP 自宅サーバへの FastCGI モジュールのインストールおよび、Movable Type 3.34 を FastCGI アプリケーションとして利用する方法をご紹介します。

Movable Type に FastCGI を適用する記事「Running Movable Type Under FastCGI」には、サーバへの FastCGI モジュールのインストール手順が掲載されておらず、Windows + FastCGI の設定方法についても(日本の)ウェブ上で詳細に解説された記事が少ないようです。

ということで、アプリケーションの実装やサーバのチューニング等、記述不足な部分もありますが、Apache HTTP サーバへの FastCGI インストール手順、および Movable Type 3.34 を FastCGI を利用して動作させる手順を本エントリーでまとめてみました。
久しぶりの自宅サーバネタです。

なお、Linux(Fedora Core 6)版での FastCGI + Movable Type 3.34 導入手順が「The blog of H.FujimotoMovable Type 3.34をFastCGIで動作させる手順」で紹介されています。

Windows XP での動作確認環境は下記の通りです。

  • Apache 2.0
  • Active Perl 5.8.8
  • MySQL 5.0

以下設定手順です。通常の自宅サーバの設定がすでに行われていることを前提に書いてます。
ちなみに試してみたところ、Movable Type の管理画面の操作が体感で 3 倍以上早くなりました。是非通常の運用環境でも使ってみたいところです。

1.FastCGI モジュールのダウンロード

HTTP サーバで FastCGI を利用可能にするため、Apache HTTP サーバに読み込ませるためのモジュールをダウンロードします。

FastCGI のトップページすぐ下にある Servers という項目の Apache の current: download のリンク(ここに最新版がある)をクリックします(下)。

FastCGIのトップページ

そして投稿時点では最新の、

mod_fastcgi-2.4.2-AP20.dll

のリンクをクリックして FastCGI モジュールをダウンロードします。

この mod_fastcgi-2.4.2-AP20.dll というファイル名は、前半の数字が mod_fast 自体のバージョン、後半の数字が Apache のバージョンみたいですので、Apache 1.3 系を使用している場合は同じページの mod_fastcgi-2.4.2-AP13.dll を使用すると思います。
また過去のモジュールは、同じページの old/ をクリックしたところにあります。

ダウンロードした mod_fastcgi-2.4.2-AP20.dllmod_fastcgi.dll にリネームし、Apache の modules フォルダに移動します。リネームしない場合は、次項の httpd.confLoadModule ディレクティブでファイル名を合わせてください。

参考:

2.httpd.conf 修正

次に、ダウンロードした FastCGI モジュールを Apache で読み込む設定と .fcgi という拡張子のファイルで FastCGI を利用する設定を行います。

httpd.conf を任意のエディタで開き、下記の

#LoadModule rewrite_module modules/mod_rewrite.so

のコメント文字を削除して、

LoadModule rewrite_module modules/mod_rewrite.so

にします。

また、その下辺りに

LoadModule fastcgi_module modules/mod_fastcgi.dll

を新しく追加します。

さらに

AddHandler fastcgi-script .fcgi

<Directory "[ドキュメントルート]"></Directory> の中、あるいは他の AddHandler ディレクティブの設定と同じ辺りに追加します。
なお、通常の CGI が実行できる状態(Options ディレクティブに ExecCGI の追加)を前提に話を進めておりますので、その辺りの設定は他のサイトを参考に設定してください。

動作確認するのであれば、最低限この設定で良いみたいですが、実際に運用する場合は FastCgiConfig ディレクティブ等を追加してチューニングする必要があります。そうしないと(多分) FastCGI で Apache のメモリ(プロセス)が大量に消費される可能性があります。

参考:

3.Perl モジュールをインストールする

ここでは Perl プログラム(ここでは Movable Type)から FastCGI を利用するための環境を作ります。

Perl で FastCGI を利用するには、FCGI と CGI::Fast というモジュールが必要です。
説明は省略しますが、ActivePerl 5.8.8 の PPM version 4 から GUI がデフォルトで起動されます。下の説明ではコマンドラインから直接ダウンロードしていますが、GUI の場合は下記の記事を参考に予め修正した方がいいでしょう(Perl のバージョンが低ければ問題ないかもしれません)。

参考:

MS-DOS 画面より下記のコマンドを入力します。単に ppm と入力すれば GUI を利用してダウンロードできます。

C:¥>ppm install FCGI
Downloading ActiveState Package Repository packlist...done
Downloading ActiveState Package Repository ABI PPD...not modified
Downloading ActiveState Package Repository ACH-Builder PPD...not modified
Downloading ActiveState Package Repository ACH-Generator PPD...not modified
   :
(延々と続く)
   :
Downloading ActiveState Package Repository xmlrpc-pureperl PPD...not modified
Downloading ActiveState Package Repository xslt-parser PPD...not modified
Downloading ActiveState Package Repository your PPD...not modified
Downloading FCGI-0.67...done
Unpacking FCGI-0.67...done
Generating HTML for FCGI-0.67...done
Installing to site area...done
   6 files installed

参考までに、perl 5.8.7.815 では下記のようになりました。

C:¥>ppm install FCGI
====================
Install 'FCGI' version 0.67 in ActivePerl 5.8.7.815.
====================
Installing C:\usr\site\lib\FCGI.pm
Installing C:\usr\site\lib\auto\FCGI\FCGI.bs
Installing C:\usr\site\lib\auto\FCGI\FCGI.dll
Installing C:\usr\site\lib\auto\FCGI\FCGI.exp
Installing C:\usr\site\lib\auto\FCGI\FCGI.lib
Installing C:\usr\html\arch\FCGI.html
Installing C:\usr\html\site\lib\FCGI.html
Files found in blib\arch: installing files in blib\lib into architecture dependent library tree
Successfully installed FCGI version 0.67 in ActivePerl 5.8.7.815.

CGI:Fast はデフォルトでインストールされている(多分 ¥usr¥lib¥CGI¥Fast.pm)ので、インストール不要です。というか、ppm コマンドでは取得できません。

4.Movable Type の FastCGI 用ファイル作成

ここからは FastCGI アプリケーション側の設定です。
Movable Type インストールディレクトリにある下記の CGI ファイルをコピーして、.fcgi にリネームします(単にリネームでもOK)。

  • mt.cgimt.fcgi
  • mt-comments.cgimt-comments.fcgi
  • mt-tb.cgimt-tb.fcgi
  • mt-view.cgimt-view.fcgi
  • mt-search.cgimt-search.fcgi

5.Movable Type 設定ファイル修正

mt-config.cgi を任意のエディタで開き、下記を追加します。

AdminScript mt.fcgi
CommentScript mt-comments.fcgi
TrackbackScript mt-tb.fcgi
SearchScript mt-search.fcgi
ViewScript mt-view.fcgi

以上です。
Apache を再起動し、正常に立ち上がれば OK です。そしてブラウザから mt.fcgi にアクセスしてみてください。

参考:

関連記事
zenback
人気エントリー
トラックバックURL


トラックバック

MTを3.34(日本語版 )にアップグレードしました from KIKI :: GOLFとゴルフを楽しむページ
Six Apart - Movable Type News: Movable T... [続きを読む]

Tracked on February 10, 2007 4:23 PM

FastCGIを導入 from こんなのアリ?
 Movable Type3.34になって「FastCGI」が利用できるように... [続きを読む]

Tracked on February 21, 2007 10:28 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)