Browse Category: linux mod fcgi mt

FastCGI on MT 3.35

会社のブログが設置してあったサーバのハードディスクがクラッシュして、MT を再インストールすることになりました。

いい機会なので、前からずっと試してみたかった MT を FastCGI で動かしてみました。

MT 3.34 から、公式に FastCGI がサポートされたようで、 Running Movable Type Under FastCGIに公式情報がのっています。

サーバの環境は、次の通りです。

・OS: Fedora Core 6

・HTTP: Apache HTTP Server 2.2.4

・MT: 3.35 日本語版

Apache は普通に yum でインストールすることができます。FastCGI と mod_fcgi は yum にないので、手動でインストールします。あわせて、httpd-devel パッケージもコンパイル時に必要なのでインストールします。

FastCGI は、公式サイトからダウンロードして、インストールします。

# tar zxf fcgi-2.4.0.tar.gz

# cd fcgi-2.4.0

# ./configure --prefix=/opt/fcgi

# make && make install

次に mod_fcgi ですが、こちらも公式サイトからダウンロードしてインストールします。

# tar zxf mod_fastcgi-2.4.2.tar.gz

# cd mod_fastcgi-2.4.2

# cp Makefile.AP2 Makefile

# make

ただし、apache 2.2.4 だとうまくコンパイルが、次のようなメッセージがでてコンパイルが通りません。

Makefile:12: /home/httpd/apache2/build/special.mk: No such file or directory

make: *** No rule to make target `/home/httpd/apache2/build/special.mk’. Stop.

これを直すには、mod_fastcgi にパッチを当てる必要があります。このパッチを、fastcgi-pathとして保存してパッチを当てます。

# patch -p1 < fastcgi-path # make

mod_fastcgi は、make すると自動的に /usr/lib/httpd/modules/fcgi_buf.so にインストールされて上で、httpd.conf に自動的に LoadModule 行を足してくれます。

あとは、MT 側の設定ですが、まず mt-config.cgi に次の設定を追加します。

AdminScript mt.fcgi

CommentScript mt-comments.fcgi

TrackbackScript mt-tb.fcgi

SearchScript mt-search.fcgi

# XMLRPCScript mt-xmlrpc.pl

ViewScript mt-view.fcgi

そして、対応するファイルを fcgi という拡張子に変更してコピーします。

最後に apache の設定に次の内容を書いておきます。

<IfModule mod_fastcgi.c>

FastCgiIpcDir /tmp/fcgi_ipc/

AddHandler fastcgi-script .fcgi

FastCGIConfig -autoUpdate -idle-timeout 120 -killInterval 3600 -maxClassProc

esses 6 -maxProcesses 15

</IfModule>

最後に apache を再起動して、mt.fcgi にアクセスすれば MT を FastCGI 上で使うことができます。

結果としては、体感できるくらい快適に使えるようになったと思います。