この掲示板で使用されているHyperBBSをWindows上で実行したいのですが、
アクセスすると「サーバーが見つからないか、または DNS エラーです。」とブラウザに出ます。
http サーバー:HTTP Daemon Ver.1.6b
BBSのCGI:HyperBBS 2.5
です。
このとき、httpdのエラーログは、
Fri May 28 07:27:10 1999 Can't create file for stdin in spawnProcess().
Fri May 28 07:27:10 1999 Error Response 500 Thread 0(ID= -1584133) for "/cgi-bin/bbs_001/hyperbbs.cgi"
cgiの説明部分に「WWWCフラグファイルはcgiが自動的に生成します」
とありますが、なんらファイルが生成されないんです。
Windowsサーバーなのでパーミッションは設定できないのですが、このエラーはどう対処したらいいのでしょうか。
御教授宜しくお願いします。
- re: 黒騎士隊長 さん
投稿日:1999年05月28日(金) 18時18分17秒
CGIが実行できてないようですが、
/cgi-bin/bbs_001へのアクセス権は設定されてますか?
httpdの設定を確認するのがいいかもしれません。
- re: とみー さん
投稿日:1999年05月29日(土) 01時07分38秒
黒騎士隊長さん、ありがとうございます。
httpdの画面を見ると、一瞬「CGI実行中」って表示が出てるので、アクセス権限は問題ないような気がします。
実行中に問題が起こったというところでしょうか。
httpdのアクセス制御の設定を確認しましたが、制限はありませんでした。
う〜ん。なぜでしょう。
ちなみに、hyperbbs.cgiの最初の部分に、「パーミッションをXXXに設定せよ」という記述がありますが、この設定はWindowsだとどうすればいいのでしょう?
- re: えがちゃん さん
投稿日:1999年05月29日(土) 04時00分22秒
レスになってないですが、参考までに..
パーミッションに付いてはここが、参考になるかも
http://www.st.rim.or.jp/~eyez/httpd/help/perm.html
また、HTTPDですが、
http://www.st.rim.or.jp/~nakata/
こちらの物でよく実験してました。
パールは、ここ
http://www.harukaze.net/~mishima/perl/win/jperl.html
今は、UNIX環境で実験してますが、上記の物はWin環境で実験するのに
非常に助かりましたよ。
- re: えがちゃん さん
投稿日:1999年05月29日(土) 04時04分20秒
あ、ゴミレスの追加です(ToT
CGIスクリプトの中に
jcode.plって書いてあるとこいっぱいあるでしょ?(ここのスクリプトはまったく見てないので見当ですが)
そこを、Win用パールに書き直したような気が..(うろおぼえです、間違ってるだろうな)(ToT
- re: えがちゃん さん
投稿日:1999年05月29日(土) 04時52分11秒
も一個追加(マジでもう寝ます&でてきません)(ToT
”jcode.plって書いてあるとこいっぱいある”..いっぱい無いと思います(ToT
Win用パールをいれた場合、そこを、コメントアウトでよかったと思います。
あと、sleep関数がありますよね?ない?
あったらコメントアウトしてみて下さい。
では(ToT)/〜
- re: PELA さん
投稿日:1999年05月29日(土) 06時54分58秒
Win98 + an-httpd + perl for win32 の環境で、基本的には、HyperBBS2.5のHyperBBS.CGIの先頭部分の各種パスを設定するだけで動きます。(実際動いてます。) お使いの環境がわかりませんが、Win9xに関しては、パーミションの設定はありません。
WinNT4.0 + IIS +perl for Win32 の場合でも同様ですが、この場合、IISの設定でcgiのあるディレクトリに実行権限を与えてください。
perl for Win32では、sendmailはつかえません。そこだけがひっかかるはずです。また、perl for win32のほうが、柔軟(アバウト)な感じがします。perl for Win32で動いてもperl(UNIX)で動かなかったりするし。がんばってください。
- re: とみー さん
投稿日:1999年05月29日(土) 12時17分52秒
みなさん、たくさんのレスをありがとうございます。
hyperbbs.cgiに関しては、1行目ですが
#! C:/Perl/bin/Perl.exe
として、ここにPerl for Win32を入れてあります。
httpd側で他に設定項目があるのでしょうか。
sleep jcode.plをコメントにしてみましたが、やはりダメでした。
- re: PELA さん
投稿日:1999年05月29日(土) 14時50分56秒
http サーバー:HTTP Daemon Ver.1.6b がどんなものか、知識がないので、ちょっと見当がつきませんが、(ちなみにAn-HTTPDは、フリーで現在の最新は、Ver1.16b)
autoexec.batのPATHにC:/Perl/bin/を追加する。
(etc. PATH=C:\ C:\WINDOWS;C:\Perl\bin\;)
An-HTTPD 1.16bでは、
「一般」のタブ内の設定で、
四角で囲まれていない部分については、
「HTTPサーバ機能」と「リモートホストを取得−取得しない」のみにチェック。
「ドキュメントルート」などの場所の確認。
2つの四角の中の設定では、すべてチェックをはずし、
「.pl .cgiの実行プログラム」に[perl]と記入。
「#1の行を調べる」チェックをはずすと、CGIの先頭行は無視されるので
「#! C:/Perl/bin/Perl.exe」は何でもいい。
「エイリアス」のタブで、
「実行パス」、「一般パス」にCGIを置くパスを追加。
これだけで、動くはずです。
おそらく、「リモートホストを取得−取得しない」にチェック。ここだと思うのですが。
あと、HyperBBS.CGIの中で、「Perl for Win32」で機能しないのは、sendmail関連だけで、jcode.plに関するものは動きます。
- re: とみー さん
投稿日:1999年05月29日(土) 18時14分37秒
httpd、バージョン1.16bでした(汗)
設定を行いました。
依然としてブラウザからは「ページが表示されません」と表示されます。
一方an httpd側では、
「CGI/SSIプロセスを起動中」→「プロセス終了待ち」→「接続要求待ち」
の順に表示され、ログファイル(errors.log)を読んでも、エラーにはなっていません。
httpd.logの方には
127.0.0.1 - - [29/May/1999:18:08:30 +0900] "GET /cgi-bin/bbs_001/hyperbbs.cgi HTTP/1.0" 200 86
と書いてあります。
はて。。サーバー側からは正常処理しているように見えているようですが・・・??
皆さん、お手数をおかけしております。
- re: Tambo さん
投稿日:1999年05月29日(土) 18時46分32秒
ちょっと違う話なんですが。
私は、AN HTTPDではうまくいかなかったので、既にインストールしてあったWinProxyで動かしてます。WinProxyの方が設定が簡単でした。Windows98+IE5+WinProxyのWebサーバー機能+Perl for Win32です。
外部に公開しているわけではないですが、ローカルでCGIのテストをする分には十分だと思っています。
#たぶんゴミです(^^;
- re: PELA さん
投稿日:1999年05月29日(土) 20時59分00秒
AN-HTTPDのインストールディレクトリをC:\WWW\、自分のディレクトリをC:\www\myhome\HyperBBS.cgiの設置ディレクトリをC:\WWW\myhome\cgi-bin\hyperbbs\、とすると、通常、
C:\www---\myhome---\cgi-bin---\hyperbbs---\count.txt
*****************|**********|***********|-hyperbbs.cgi
*****************|**********|***********|-hypinit.cgi
*****************|**********|***********|-log.txt
*****************|**********|***********
*****************|**********|-jcode.pl
*****************|
*****************|-index.html(wwwc用のものではなく自分のHP)
HyperBBS(最新バージョンは2.5a)の解凍したまんまで上記のように設置し、hyperBBS.cgiのなかの以下の2行だけ直せばとりあえず動くのですが。(ver. 2.5aでは24 26行目)
$bbsdir = 'http://127.0.0.1/myhome/cgi-bin/hyperbbs/';
$webhome = 'http://127.0.0.1/';
上と重複しますが、An-HTTPD 1.16bでは、
「一般」のタブ内の設定で、
☆四角で囲まれていない部分については、
「HTTPサーバ機能」→チェック
「ドキュメントルート」→[C:\WWW]
「ポート」→[80] 「デフォルトインデックス」→[index.html]
「チェックボックス」をチェック [/myhome]→ドキュメントルート\[myhome]
「リモートホストを取得」→[取得しない]にチェック。
「ドキュメントルート」→「C:\WWW」 「ポート」→「80」
☆その下のの四角の中の設定では、
「.pl .cgiの実行プログラム」に[perl]と記入。
後のチェックはすべてはずす。「ヘルパープロセス」と「CGI出力を検査」は付けてもOK
☆さらにその下のの四角の中の設定では、
後のチェックはすべてはずす。
「エイリアス」のタブで、
「実行パス」、「一般パス」に以下のパスを追加
[仮想パス /myhome/cgi-bin ローカルパス C:\WWW\myhome\cgi_bin]
です。これで、ブラウザに[htttp://127.0.0.1/myhome/cgi-bin/hyperbbs/hyperbbs.cgi]といれれば、表示されます。
あと、DOS窓で[perl -cw C:\www\myhom/cgi-bin/hyperbbs/hyperbbs.cgi]は、ちゃんと実行できますか?(PERLがちゃんとインストールできていれば、CGIのエラーがでるはずです。)
もう一息だと思います。がんばってください。