MovableType5.01にてFastCGIを実装しようとするもNGとなります


【環境】
CentOs-5c-x86
Apache 2.2.3
MySQL 5.0.22

【現状】
mt.fcgi実行->「500 Internal Server Error」
 
エラーログに下記出力

[notice] mod_fcgid: server /hogehoge/../mt.fcgi(3418) started
(ブラウザに表示されるべきHTMLソースが展開)
[notice] mod_fcgid: process /hogehoge/../mt.fcgi(3418) exit(communication error), terminated by calling exit(), return code: 0

mt.fcgiの中身は下記

#!/usr/bin/perl -w

use strict;
use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib';
use MT::Bootstrap App => 'MT::App::CMS';

どなたか解決情報希望します!

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2010/04/21 18:50:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rouge_2008 No.1

回答回数595ベストアンサー獲得回数351

ポイント60pt

まったく同じエラーが出力されるのではないのですが、PerlモジュールのFCGIがインストールされていない場合に、エラーログにソースが展開されるようです。

上記に問題がない場合は、次のページの手順を再確認してみてください。

http://www.movabletype.jp/documentation/developer/server/fastcgi...

私は上記のページの方法で、CentOS 5.4でMTのFastCGI化が出来ています。

MTの設定方法はその2(拡張子を.fcgiに変更)を試しています。

※なお、「mt-view.fcgi」はないようですので、mt-config.cgiへは次のように1行だけコメントアウトして追記しました。

#ViewScript mt-view.fcgi


もし、SELinuxを有効にしている場合は、一旦Permissiveに変更して試してみてください。

※OSの再起動も一応行った方が良いようです。

  • id:rouge_2008
    その後無事に動作したでしょうか?
    回答内参照ページに記載されていない事で気をつける事は、fastcgiのソケットファイルを作成するディレクトリの所有者の変更です。

    fcgid.confの「SocketPath」で指定したディレクトリの所有者をApache(httpd)の実行ユーザに変更します。
    ただ、アクセス権(書き込む権限)がないと違うエラーになるので、今回のエラーはこれが原因ではないと思います。

    ページの説明の手順通りに行っても動作しない場合は、以下の情報を教えてください。

    1.Apacheのインストール方法
    (ディストリビューション提供のパッケージ or ソースからコンパイル、アップデートの有無など)
    2.SUEXEC下で動作させているかどうか
    3.MTをインストールしたのがユーザーディレクトリかどうか
    (ユーザーディレクトリの場合、バーチャルホストを使用しているのか、mod_userdirによるユーザーディレクトリかどうか)

    とりあえず、上記に関して教えてください。
    できれば、mod_fcgidのバージョンやインストール方法も分かるといいかもしれません。
  • id:ita07
    再度のご連絡誠に有難うございます。
    その後正しくインストールできました。

    原因は、契約しているホスティングサーバが、
    外部からの接続要求を拒否する仕様となっていた為でした。
    (FTP、SSH、telnetなどは、契約時に定めたIPアドレスからのみ接続可能とする設定としておりました)
    (ガンブラーなど外部から接続するウイルスやアタックに大きな効果があり、導入しております)

    CPANプログラムがFTPに失敗していたため、
    FCGIモジュールのインストールに失敗していました。
    マニュアルでFCGIモジュールをダウンロードして、
    あるべきディレクトリに配置した後再度CPANすることにより、
    正しくインストールできました。

    ちなみに、SELinuxは無効でした。


    というわけで、めでたくmt.fcgiが動作するようになったのですが、
    反応速度は劇的に速くならず、いまひとつものたりない感想です。
    特に保存や再構築時に、ちっとも素早く制御が戻ってくれません。
    何かカスタマイズするポイントを押さえることで、劇的に反応速度が上がるのでしょうか。
  • id:rouge_2008
    無事にインストールできて良かったです。
    セキュリティがしっかりしていると安心ですね。
    今回のように自分で困る事もあるかもしれませんが・・・

    MTを使い込んでいませんので、残念ながら速度向上のカスタマイズ方法は分かりません。
    現在、記事数はどのくらいあるのでしょうか?

    以下のサイトですと、約2か月分(ブログ開始の9月から10月22日※現在は全部で679エントリ※記事を書いた時点ではもっと少ないと思います。)で再構築に5分58秒掛かっているそうです。
    http://technote.xii.jp/archives/2009/10/mt5.html

    以下のサイトの場合は、『月別アーカイブ(95ヶ月)で2分45秒、日別(2,700日くらい?)で11分43秒』掛かったそうです。
    http://blog.still-laughin.com/archives/2010/02/mt5_fastcgi.html

    おおよその目安にして、ご自分のサイトと比較してみてください。
    また上記の記事を書いた人は、公開キューを使用した再構築をしているようです。
    再構築の時間が気になる場合は、訪問者の少なそうな時間に再構築を自動実行するようにしてみてはいかがでしょうか?
    http://blog.still-laughin.com/archives/2010/02/mt5.html

    後は、テンプレートをキャッシュすると良いかもしれません。
    http://www.zelazny.mydns.jp/archives/001123.php
    ※1回目は時間が掛かりますが、2回目以降はテンプレートに変更がない限り早くなるはずです。
    http://www.movabletype.jp/documentation/module-caching.html

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません