MovableTypeのFastCGI化は公式サイト(FastCGIのインストールと設定)でちゃんと説明されていますが、すでに若干古い情報になっている上、CPANやmakeでのインストールは、なにか足りなかったりするとよくわからないエラーで失敗したりするので、もっと簡単な方法はないのかと調べてできるようにしました。
以下の手順で動くようになります。
Perl モジュールのインストール
以下のコマンドでPerlモジュールとmod_fcgidをインストールします。
# yum install perl-FCGI mod_fcgid
httpd-develのインストール
httpd-develのインストールをyumコマンドで行います
# yum install httpd-devel
FastCGIの設定
/etc/httpd/conf.d/以下に設定ファイルを新しく作成します。
#vi /etc/httpd/conf.d/fcgid.conf
設定ファイル(通常)※MovableType公式サイトFastCGiの説明ページのDirectiveは古い書き方なので以下のようにする。
<IfModule mod_fcgid.c> AddHandler fcgi-script .fcgi FcgidIPCDir /tmp/fcgid_sock FcgidConnectTimeout 20 FcgidMaxProcesses 8 FcgidMaxProcessesPerClass 2 FcgidTerminationScore 10 FcgidSpawnScore 80 FcgidIdleTimeout 300 </IfModule>
install時に/etc/httpd/conf/httpd.confにmod_fcgid.soの情報が追記されるのが通常ですが、追記されていない場合は下記のようにLoadModuleを
LoadModule fcgid_module /usr/lib/httpd/modules/mod_fcgid.so <IfModule mod_fcgid.c> AddHandler fcgi-script .fcgi FcgidIPCDir /tmp/fcgid_sock FcgidConnectTimeout 20 FcgidMaxProcesses 8 FcgidMaxProcessesPerClass 2 FcgidTerminationScore 10 FcgidSpawnScore 80 FcgidIdleTimeout 300 </IfModule>
Apacheを再起動します
# service httpd restart
Movable Type側の設定
fastCGI化したいmtのCGIを拡張子fcgiにリネームする。
※Aacheのhttpd.confを修正してリネームしない方法もあるが、拡張子を変更するほうがアタックなどからも多少の目くらましにもなるし、動作に問題があった場合もあたりをつけやすい点からいって、リネームする方法を推奨する。
mt.cgi ⇒ mt.fcgi
mt-search.cgi ⇒ mt-search.fcgi
mt-cp.cgi ⇒ mt-cp.fcgi
mt-comments.cgi ⇒ mt-comments.fcgi
mt-config.cgiの設定に以下を追記する
AdminScript mt.fcgi
CommentScript mt-comments.fcgi
SearchScript mt-search.fcgi
CommunityScript mt-cp.fcgi
今後は、管理画面へはmt.fcgiにアクセスするようにする。
同時に、拡張子が変更となったので、全ページ再構築を実施する。
以上で完了です。