会社のブログが設置してあったサーバのハードディスクがクラッシュして、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 上で使うことができます。
結果としては、体感できるくらい快適に使えるようになったと思います。