start.cgiのパーミッションを705にしましたが、
「サーバエラーが発生しました。」
とだけ表示されてしまいます。
ロリポップを使用しています。
何度もやり直し等をしているのですが、解決しません。よろしくお願いいたします。
ご質問ありがとうございます。
残念ながらご提供いただいた情報だけではエラーの原因が分かりません。KCatch.pm というデバッグスクリプトを利用して、エラーログを表示できるかどうかお試し下さい。
この状態でアクセスするとエラー情報が表示されます。(深刻なエラーが起きている場合はエラー情報の表示に失敗します。)
英語で表示されるエラー情報をこちらにコピーしていただけると問題解決のヒントになります。
また、こちらのマニュアル「HTTP 公開ディレクトリより上の階層にアクセスできないサーバへのインストール」を今一度ご確認ください。次の3ファイルを書き換える必要があります。
以下が表示されました。
Catch: Tue Feb 16 01:49:16 2010 [start.cgi:17:die] ../../cgi-data/lib/env.pl did not return a true value at start.cgi line 17.
start.cgi with Perl 5.008008 for linux
ご協力ありがとうございます。
env.pl の読み込みに失敗しているようです。
以下の原因が考えられます。
上記のいずれかがあてはまらないかどうかご確認ください。
env.pl などスクリプトファイルの編集には文字コードEUC/改行コードLFに対応したエディタをご使用ください。EUC/LF 対応のテキストエディタには、MacOS X の場合、mi などがあります。
http://mimikaki.net/
より厳密なエラー情報をみるためには、「/cgi/setup/start.cgi」の1行目に「 -w」を追記して
「#!/usr/bin/perl -w」とします。おそらくエラーとなっている行が明らかになると思います。
弊社内のテストでは常に「-w」をつけていますが、Perl5.5環境で問題が起きる場合があるので、このオプションをはずしたものを配付しています。
指摘していただいたことに注意しつつ、該当ファイルをダウンロードし直してやり直してみましたが、同じ状態になり解決しませんでした。以下は1行目に「 -w」を追記して出てきたエラーです。よろしくお願いいたします。
Catch: Wed Feb 17 15:40:05 2010 [Jcode.pm:579:warn] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi/Jcode.pm line 579.
[Jcode.pm:579:warn] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi/Jcode.pm line 579.
[start.cgi:17:die] ../../cgi-data/lib/env.pl did not return a true value at start.cgi line 17.
start.cgi with Perl 5.008008 for linux
ご報告ありがとうございます。
ご提供いただいたエラーメッセージによると、やはり「env.pl」になんらかの問題があるようです。このエラーは、ファイルの末尾で 1 を返さないモジュールを読み込んだときによく表示されるものです。
たいへん申し訳ありませんが、現状では原因がわかりません。そこで、お使いの環境にあわせて env.pl を書き換えたものをこちらで用意しました。
この記事の添付ファイルをダウンロードして解凍したものを一切変更せずに、既存の env.pl と差し替えてみて下さい(ほとんどの項目はインストール後「管理情報変更」画面から変更できます)。
また、アスキーモードもしくは自動判別モードでアップロードされている場合は、バイナリモードでアップロードしてみて下さい。FTPソフトによってはアスキーモードでアップロードすると、改行コードや文字コードを不適切に変換してしまう場合があります。
以上お試しいただければ幸いです。
バイナリーモードで頂いたenv.pl試してみたところ、前回とは違うエラーが出ました。これはどういうことなのでしょう。
Catch: Wed Feb 17 16:38:50 2010 [Jcode.pm:579:warn] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi/Jcode.pm line 579.
[Jcode.pm:579:warn] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi/Jcode.pm line 579.
[start.cgi:20:die] ./default.pl did not return a true value at start.cgi line 20.
start.cgi with Perl 5.008008 for linux
今度は default.pl に env.pl と同様の問題が発生しているようです。お手元にある「/cgi/setup/default.pl」が文字コード EUC/改行コード LFとなっているかご確認ください。
もし文字コードに問題が無いのに不具合が起きているとすると、FTPソフトがアスキーモードとなっているために不適切な文字コード変換が実行されているのかもしれません。
その場合は、お手数ですが全てのファイルをバイナリモードでアップロードしなおして下さい(default.plのエラーが解消されても他のモジュールで問題が起きることが予想されるため)。
ありがとうございました。
インストールできたようです。
またなにかありましたら、よろしくお願いいたします。