その Movable Type を自宅サーバにインストールする過程で、環境をチェックする CGI である mt-check.cgi にブラウザからアクセスしたら Internal Server Error に見舞われた。
原因を探るべく、Apache のエラーログを参照したところ、Premature end of script headers: mt-check.cgi が記録されていた。
Apache は 2.0 からCGIの実行に対してチェックが厳格になっていて、
そのCGIとそのCGIが格納されているディレクトリのオーナー(所有者)は、そのユーザ(ログインユーザ)自身でなければならず、更にこれらについて本人以外にライト権があってはならない。
ということのようだ。
ディレクトリのパーミッションは 755 になっていたが、mt ディレクトリにある *.cgi ファイルのパーミッションが不適切だった。
mt のディレクトリに移動して、
chmod 755 *.cgi
をすれば mt-check.cgi はあっけなく実行された。
■関連記事
非日常な日々 〜 デンマークだより: Movable Typeインストール記
Movable Typeユーザー・マニュアル: Movable Typeの新規インストール
現在WebサイトをPerlで書き換えようとしていますがそのパールがローカルで実行できません。CGIプログラミングという本を読んでいるのですが、例のごとくPremature end of script headers:が出力されてしまいます。ログも見ましたが私にはわかりませんでした。
どうしたらよいのでしょうか?
助かりました。