トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BBS-サポート掲示板/896

ページの作成や編集にはユーザ登録が必要です。

 Internal Server Errorの回避方法について - ak (2009年06月03日 01時06分00秒)

入門WIKIを見ながら設定していますがhttp://localhost/wiki.cgiでInternal Server Errorとなります。(入門wikiの122ページ目)すみませんが回避方法をご教示願えると幸いです。※尚入門書wikiにはhttpd.defaultを編集する旨記載がありますが現在のapacheには無かったのでhttpd.confを編集し対応しています。使用データは下記です。(osはxpです) apache_2.2.11-win32-x86-no_ssl.msi ActivePerl-5.10.0.1004-MSWin32-x86-287188.msi wiki3_6_3_1.zip宜しくお願い致します。

  • httpd.default→httpd.confの件はこちらに書いてありますね。Internal Server Errorはサーバー側のエラーということですので、原因の特定は少々難しいです。何をしたときにエラーが表示されるのですか? http://localhost/wiki.cgiの表示時? wiki.cgi以外のCGIならきちんと表示されますか? *.cgiや*.pm等のファイルの文字コードはEUCで統一されていますか?(全角文字(漢字等)が存在しないファイルはShif-JISもEUCも変わりありませんので念のため) もしよろしければ、FSWiki初期設置用CGIを試してみてもらえませんか? そう言えば、確かActivePerl-5.10ではバージョン間の問題で何かのモジュールが動作しない、といった報告例を聞いたことがあります。対処方としてはPerlのバージョンを5.8くらいに下げると動作した…とかだったと思いますが…。多忙のためこれ以上のサポートは難しいかもしれませんが、その節はご了承ください。 - あき (2009年06月03日 13時23分16秒)
  • ありがちなのがフォルダが作成されていないパターン。readme の 「サーバへの設置」に書かれている全てのフォルダが揃ってるか確認してみては? - 名無しさん (2009年06月03日 14時22分06秒)
  • Perl5.8と5.10は非互換部分があります。余程の理由がない限りPerl5.8を使ってください。 - 名無しさん (2009年06月07日 00時06分32秒)
  • 便乗質問です。こちらの問題もperlのバージョン違いが原因だったようですが、5.8と5.10の、なにがどう違っているから、こういうことが起きるのでしょうか? - 名無しさん (2009年06月07日 11時24分40秒)
  • 当方でも『入門 Wiki』の記載に従って試しにインストールしてみました。結論から申しますと、『入門 Wiki』の指示通りの方法で正しく FrontPage を表示させることができました。なお、今回使用した OS 等は下記の通りです。 - ぐうます (2009年06月10日 23時49分53秒)
    • OS:Windows XP Home Edition ビルド 2600.xpsp_sp3_gdr.090206-1234 (Service Pack 3)
    • Web サーバ:apache_2.2.11-win32-x86-no_ssl.msi
    • perl:ActivePerl-5.10.0.1005-MSWin32-x86-290470.msi
    • FSWiki:wiki3_6_3_1.zip
  • したがいまして、元のご質問にある Internal Server Error は、perl 5.10 を使用したことが直接の原因ではないと思います。そもそも、Internal Server Error とは、上記コメントであきさんも書かれてる通り、Web サーバ側のエラーということであり、多くの場合は、何らかの問題が生じて CGI スクリプト (本件は FSWiki ですから perl script である wiki.cgi ですね) の実行が開始できないというケースだと思います。具体的には、下記のような原因等が考えられます。 - ぐうます (2009年06月10日 23時49分53秒)
    • CGI 実行のための perl コマンドへのパス(path)に誤りがある(環境変数 PATH や wiki.cgi の先頭行の設定ミス)。
    • perl コマンドや wiki.cgi の実行・読出し権限が無い(パーミッション設定ミス。Windows の場合はほとんど気にしなくてよい?)。
    • wiki.cgi や、それから呼ばれるスクリプトの中に perl 文法ミスがある。
    • その他、Web サーバに関する設定ミス (httpd.conf の記述ミス等)。
  • とはいうものの、上記コメントにもあるように、「perl 5.10 上での FSWiki の実行において不具合が発生し、perl 5.8 系にバージョンダウンしたら正常動作した」という報告も過去に投稿されていますので、実働サイトを目指すならば、現時点では動作実績のある perl 5.8.8 あたりを使用するのが無難でしょう。(perl 5.10 でどんな不具合が生じるのかは、おいおい調べていければいいなあと思っています。)
  • さて、最終的には問題無かったものの、『入門 Wiki』に従ったインストールで一箇所だけハマッたところがありましたので、参考情報として書いておきます。『入門 Wiki』での「FSWiki のインストール(Windows 編)」の手順では、インストールは大まかに次のような流れでした。
    1. Apache をインストールする p.113〜
    2. ActivePerl をインストールする p.116〜
    3. FSWiki のインストール p.118〜
      1. attach 等のフォルダを作成する p.119
      2. wiki.cgi の先頭行を修正する p.119
      3. httpd.conf (本文中の記載が"httpd.default"になっているのは正誤表の通り)を修正する p.119〜
      4. .htaccess を作成する p.121
    4. Apache を再起動する p.122

その説明からは「最後の Apache 再起動が成功したら、すぐに http://localhost/wiki.cgi へのアクセスで FrontPage が表示されるようになる」という印象を受けたのですが、Apache 再起動直後の時点での http://localhost/wiki.cgi へのアクセスでは Internal Server Error が発生してしまいました。調査したところ、p.119 の指示で

#!perl

と書き換えてあった wiki.cgi の先頭行を、

#!C:/Perl/bin/perl.exe

と書き直したら Internal Server Error が解消され、FrontPage が表示されました。すなわち、perl へのパスの設定がうまくいっていないことが分かりました。ActivePerl のインストール時に、項目「Add Perl to the PATH environment variable」にチェックが付いている(デフォルト)ことも確認しましたし、ActivePerl インストール直後の環境変数 PATH に C:\Perl\bin が加えられていることも確認済みだったのですが、何故かこの時点では実質的には効いていなかったようです。そこで、PC 全体を再起動したところ、wiki.cgi の先頭行を

#!perl

に戻しても Internal Server Error が発生しなくなりました。もしかすると当方の環境の問題かもしれませんが、同じ現象に遭遇した場合は PC を再起動してみるとよいかもしれません。 - ぐうます (2009年06月10日 23時49分53秒)

お名前: コメント:

最終更新時間:2010年10月19日 02時04分43秒