先日、DLした掲示板のCGIが設置できず困っています(下記URL)。ちなみに私は初心者です。説明どうりにはやってみたんですができません。perlのパスも正しいはずだし、パーミッションの設定もやりました。その後、FTPソフトでcgi-binってところに転送しました。困っていますので誰かお詳しい方いましたら教えて下さい。初心者ですのでわかりやすくお願いします。よろしくお願いします。
http://www.tsubaki.sakura.ne.jp/~campus/grooweb/

このQ&Aに関連する最新のQ&A

A 回答 (7件)

どんなサーバーを使用しているのか分かりませんが、サーバーによってCGIに対する制限などがありますのでサーバーに訪ねてみては?

    • good
    • 0

 文法的な間違いがあるのかも知れません。

Perl言語
の文法チェッカー等で一度チェックしてみることをお
勧めします。

参考URL:http://www.e777.co.jp/perlcw/
    • good
    • 0

もしかして、そのウェブサーバー


NTサーバーではないでしょうか?
フリーのものはUNIX系で作成されているので、
UNIXサーバーなら動くはずです。
それと、perl4というのは、perlのバージョンが4なので
使えない関数が多いです。
もしあるなら、perl5でパスを書いてください。

#!/usr/local/bin/perl5
#!/usr/local/bin/perl

これのどちらかで。

perl4を標準のWEBサーバーは珍しいと思います。

もし、NTサーバー(ウインドウズ系)なら、
flock??????
とかいてある行があったら、行頭に#をつけてください。

これで動くに決まってます。
    • good
    • 0

私もおそらくパス設定の問題だとは思いますが・・・。



それ以外で考えられるとしたら、
>FTPソフトでcgi-binってところに転送
っていうのは、プロバイダが指定した領域ですか?
それとも、自分で作成したフォルダでしょうか。
プロバイダによってはcgi-binがすでに出来ている場合があり、その場合はそこでしかcgiは動かないです。(^^;

あと、
>6.HPを見る
> ・・・gr.jp/cgi-bin/light.cgi/を開く
これは書き間違いですよね?最後のスラッシュ・・・(^^; 
これでは、・・・gr.jp/cgi-bin/light.cgi/index.html
というファイルを開こうとするはずだし(^^;
正しくは、・・・gr.jp/cgi-bin/light.cgiですね。

それと、根本的な問題ですが「perlのパスも正しいはず」というのは、プロバイダの指定したパスになっている、ということですよね。プロバイダは、フリーのCGIを使用可能のところですね??

ちなみに気になったんですが、元のダウンロード先のCGIファイル名「light_b.cgi」が、「light.cgi」に変更されているようですが、ファイル名だけイキナリ変えるのはまずいです・・・(^^;
※ソース内にある「スクリプト名」設定できちんと変更してあれば別ですが。(^^;

えーー、最後にFTPについて。
ソフトによっては自動アップロードで転送モードを切り替えてくれるものもあるのですが、その機能がないようなFTPソフトでしたら、画像ファイル(mail.gif)はバイナリ転送、それ以外はアスキー転送しないといけません。

うーん。ちょっといろいろ確認してみてください。
おそらく原因は基本的なことにあるような気がします。
    • good
    • 0

こんにちは、honiyonです。



> (1)perlのパス変更
>  /usr/local/bin/perl4

 サーバーのエラーは、「内部エラーです。設定がヘンです。」という意味でしたので、こちらが怪しいと思います。

 これは、 #! /usr/local/bin/perl4 だと思います。 また、念のため perlへのパスも、サーバーの指定のものか確認してください。

 あと、サーバーへの転送時の転送モードも、もう一度確認してみてください。 サーバーはUNIX系のようですので、EUCコード変換を行い、ASCII転送である必要があります。

 参考になれば幸いです(..
    • good
    • 0

こんにちは、honiyonです。


 どんなCGIで、どんな設定をしたのかを行った順に具体的に教えてください。
 CGIの設置は、どんなCGIでも同じ手順、同じ設定内容とは限りませんので、suzuranさんの質問内容では抽象的な回答しかできません。

 例えば、パーミッションの設定であれば、
 「パーミッションの設定やりました」ではなく、「hoge.cgiに 666, foo.barに755を設定しました」等と教えてください。

 それと、現在はどのような状況なのですか? どんなエラーが出るのですか?
 それによっても答えは変わってきます。

 よろしくお願いします。

この回答への補足

1.HPからLHA形式ファイルをDL

2.↑の中身
     light.cgi
 jcode.pl

    data
 bbs.dat
 count.log
 mail.gif

3.light.cgiをメモ帳で開いて設定

 (1)perlのパス変更
  /usr/local/bin/perl4

 (2)## 戻り先のURL(あなたのホームページなど)
  $home = '../index.html';

 (3)## この掲示板のタイトル
  $bbs_title = 'LightlyBBS';

 (4)## 文字コード
  $moji_code = 'Shift_JIS';

 (5)## タグの使用を禁止する(する=1 しない=0)
  $tagkey = '1';

 (6)## ユーザーの入力した改行を有効にする(する=1 しな  い =0)
  $write_on = '1';

 (7)## コメント内にアドレスがあれば自動リンクする(す  る =1 しない=0)
  $autolink = '1';

 (8)## ホストを表示する(する=1 しない=0)
  $H_Akey = '0';

 (9)## カウンターを表示する(する=1 しない=0)
  $counter_key = '1';
 
 (10)## メソッドのタイプ(POST or GET)
  $method = 'POST';

 (11)## ロック処理を行うかのどうかの選択 (する=1 しな  い =0)
  $lockkey = '1';

 (12)## マスターキーの設定(半角英数8文字以内で指定)
  $MASTERKEY = 'abc0123';

 (13)## 文字コード変換ライブラリへのパス
  require './jcode.pl';

※(2)~(13)までは初心者はいじらなくてもOKと言うことな のでDLしたままいじってません

4.FTPで転送
   cgi-binの中に転送

5.パーミッションの変更
    light.cgi→755
jcode.pl→644
 
   data→777
bbs.dat→666
count.log→666
mail.gif→644

6.HPを見る
 ・・・gr.jp/cgi-bin/light.cgi/を開く

7.エラー内容→500Internal Server Error
 
以下はこんな感じで表示されます
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, www-admin and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

「自分がやった手順をできるだけ具体的に書きました。書き足りない事ありましたら、お手数かけますがよろしくお願いします。」

補足日時:2001/06/01 00:16
    • good
    • 0

> パーミッションの設定もやりました。

その後、FTPソフトでcgi-binってところに転送しました。

という部分、順序が気になります。
転送したあとでパーミッションの設定をするのですが...

この回答への補足

書き方を間違えましたすみません。転送したあとでパーミッションの設定をしていますよ。

補足日時:2001/05/31 23:16
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報