AN HTTPD ゲストブック/コメント集(1999年2月1-28日)

この続きのコメントへ
井上 良太 ryouta@osk3.3web.ne.jp 1999/02/28 23:58

中田さん、ぴゅあさん返答ありがとうございます。

中田さんの指摘のとおりWIN98/IE4.0/anhttpdという環境でした。
ただ、ネスケの場合あるときから旧にPOSTを受け付けなくなる症状が出て回復せずIEでテストしていました。
またPWSもインストールしていたため(機能は稼動させていません)それも原因があったようです。
ひとまずPWSをアンインストールすると症状は軽くなりました。ヘルパーは若干落ちやすくなるためチェックをつけていません。

ですが、とてもすばらしいソフトなのでこれからも使いつづけます。学校の課題に非常にたすかりました。


わさび醤油 t-kodama@ma2.seikyou.ne.jp 1999/02/28 23:38

はじめまして。わさび醤油と申します。
へんな質問で申し訳ないのですが
CまたはC++でごく簡単なサーバプロセスを作りたいのです。
しかし、サーバに最低限必要な機能もわからず,
プログラムの仕方もわからないので困っているのですが,
何か参考になる本などをご存知ではではないでしょうか。

クライアントからの要求を受け付けることが出来れば良いサーバなのですが・・・
単にクライアントとコネクションを張るプログラムだけで
「こいつはサーバだ」といってもいいものなのでしょうか?
プログラムが簡単に止まったりしないようにしなくてもいいものなのでしょうか?


inagaki inagaki@mb.infoweb.ne.jp 1999/02/28 23:06

>中田さん

>トレイまたはタスクバー上のアイコン状態でもだめでしょうか?

ダメです。

>もしだめだったら終了させてもらうしかないかもしれません。

そうですか。
古いバージョンではこのようなエラーが出なかったように思うのですが。

何かの拍子にうまく終了できるときもあるので、
もう少し研究してみます。


中田昭雄 nakata@st.rim.or.jp 1999/02/28 20:14

inagaki さん、
トレイまたはタスクバー上のアイコン状態でもだめでしょうか?
もしだめだったら終了させてもらうしかないかもしれません。


中田昭雄 nakata@st.rim.or.jp 1999/02/28 20:14

Nari さん、
POST が使えないはずはないので、フォームで METHOD=POST の POST のところが全角文字になったりしていないか確認してみてください。


inagaki inagaki@mb.infoweb.ne.jp 1999/02/28 19:14

an httpd 1.12をwin98で使わせていただいてます。
すばらしいソフトをありがとうございます。

さて、an httpdを起動したままwin98を終了しようとすると
helper.exeから応答がないというエラーが出て止まってしまいます。
何とかうまく終了させる方法はないものでしょうか?


Nari nkimura@sepia.ocn.ne.jp 1999/02/28 17:11

ホントに初歩的な質問だと思いますが・・・
フォーム入力で「POST」を使って送信しようとすると、
-----------------------------------------------------
Error 500

POST はこのサーバでは使えません。
-----------------------------------------------------
と出てしまいます。
httpdではPOSTメソッドは使用できないのでしょうか?


中田昭雄 nakata@st.rim.or.jp 1999/02/28 15:49

さきさん、
ゆいちゃっとについては、(わかりませんが、おそらく)パーミッションの問題ではなさそうですね。
Server Error 500 が出ているなら、gbook.17.htm を "Server Error" でページ内検索してみてください。Server Error 500 を出す他の原因がいくつか書かれています。
また、単純なスクリプトが実行できるのかも確認した方がよいでしょう。


中田昭雄 nakata@st.rim.or.jp 1999/02/28 15:49

えむけいさん、
そうですね。
'$', '%', '#' あたりでしょうか。。。


中田昭雄 nakata@st.rim.or.jp 1999/02/28 15:48

ame さん
ダイヤルアップ環境ではバーチャルホストの設定は不向きだと思います。
ダイヤルアップのたびにIPアドレスをいれなくてはならないでしょうから。

また、自分のPCのDNS設定のホスト名は、それをDNSに登録していなければ他の人からはわかりません。
言ってみれば自称のホスト名ということになります。
ローカルテストの範囲であれば、hostsファイルを設定すればいいのですが。。

どういうことをやりたいのか言っていただければ、それがネットワークの設定やバーチャルホストでできるものかどうか説明できると思います。


ぴゅあ pure@GalaxyCorp.com 1999/02/28 09:39

>さきさん(&えむけいさん)
 確認はしました。しかし、その規定されているパーミッションというのはたぶんヘッダで
ないと見られない場所にあるのですね。具体的に挙げて(挙げて良いのか?)貰えれば判るの
かも知れませんが。
 ただ、パーミッションで関わりあるとすれば、755とするか705とするか程度の違いではない
のでしょうか?
 あと関係ありそうなのはサーバが何であるか(UNIXかWinNTか)による違いではないでし
ょうか。ゆいちゃっとはUNIXベースで作られていた筈です。C言語版は使っていないと思いま
すけど、それもそのままでは使えない可能性がある筈です(というよりPerlより使えない部分
が多く出てくる可能性があるのかな?C版はちらっとしか見てないので)。
 確か、ゆいちゃっとのロック機能はファイルを作る方法ではなかったかと思うので使えない
こともあるのでしょう(たぶん3WEBではこれに引っかかる)。
 ゆいちゃっともたくさんのバージョンがあるので、それと、プロバイダに関する情報が判れば
ということで。


えむけい VYV03354@nifty.ne.jp 1999/02/28 06:42

>そのミルトクラブというのは何処にあるのでしょう。
>まず存在を知らなかったり....(^^ゞ
 たぶんこれのことでしょう。
 http://www.millto.net/


ぴゅあ pure@GalaxyCorp.com 1999/02/28 06:29

>さきさん
 そのミルトクラブというのは何処にあるのでしょう。
 まず存在を知らなかったり....(^^ゞ


えむけい VYV03354@nifty.ne.jp 1999/02/28 04:45

 プロクシのキャッシュでポート番号指定付きのURLに対応できないでしょうか?
「:」をなにかファイル名に使える文字へ置き換えればできそうだとか安直に考えてしまうのですが……。


さき saki101@mail.goo.ne.jp 1999/02/28 04:05

ミルトクラブのサーバでの「ゆいちゃっと」の設置について
ミルトの注意事項でのパーミッション値とゆいの値とが違うみたいで、成功しません。
もし、ミルト上で、設置に成功しているかたがいたら、設置方法教えてくれませんか?
勝手なカキコすいません。


ame amemiya@pluto.dti.ne.jp 1999/02/28 00:14

バーチャルホストの設定内容としては
TCP/IPのプロパティにあるDNSのHOST名をいれています。
アドレスはダイヤルアップで接続したときのアドレスに
しています。どうしてうまくいかないのでしょうか?


中田昭雄 nakata@st.rim.or.jp 1999/02/27 16:37

削除してしまった分に対して、記憶を頼りに書いておきます。

Nariさんのは、dateを使ったスクリプトだったようですね。

そのあとのバーチャルホストがうまくいかないというご質問については、
バーチャルホストの設定内容をお知らせ下さい。あるいは、設定するPCのIPアドレスをお知らせ下さい。


中田昭雄 nakata@st.rim.or.jp 1999/02/27 16:33

すみません、
下のあと2件の書き込みを間違って削除してしまいました。


中田昭雄 nakata@st.rim.or.jp 1999/02/26 21:39

puffさん、
Windmail は私はやってみていませんが、SMTPサーバの設定だけではないかと思います。
自分宛てにやっても届かないのでしょうか?


中田昭雄 nakata@st.rim.or.jp 1999/02/26 21:38

仲間さん、
設定は PATH だけだと思います。インストール後再起動は必要だと思いますが。
DOSプロンプトで PATH と入れて GNU for Win32 へのパスが設定されているかどうか確認してみてください。


中田昭雄 nakata@st.rim.or.jp 1999/02/26 21:38

Nari さん、
それは Perl(CGI) が動きっぱなしになっている症状だと思います。
CTRL-ALT-DEL でプロセスのリストを出して perl および Winoldap を強制終了すれば再起動しなくてもよいはずです。

UNIX上で正常に動いても CGIスクリプトに問題がないとは限りません。

Windowsでは CGIスクリプト中で date などを呼び出しているとそのCGIはハングアップします。
UNIX では date は 日付を表示するだけですが、Windowsだと「日付を入力してください」と表示して入力を永久に待つからです。
スクリプトの中で date などを呼び出していないか確認してみてください。

date.exe は GNU for Win32 にありますから、フルパス指定にしておくとそちらを使うようになります。Windows の date は command.com の内部コマンドだったと思うので PATH にかかわらず Windows(DOS)の date を実行してしまいます。


中田昭雄 nakata@st.rim.or.jp 1999/02/26 21:37

ゆうさん、
そうですね。Netscape Navigator 3.0x がよい、という人は いると思います。
ただ、AnHTTPD 側で対処できるものかどうか今のところわかりません。


中田昭雄 nakata@st.rim.or.jp 1999/02/26 21:36

井上さん、
リソース減少については、OS/ブラウザ/AnHTTPDのヘルパーオプション が関係します。
今確認できている範囲では、
Windows98/IE4/AnHTTPDのヘルパーオフ
の組み合わせでは確実にリソースは減ります。
この場合なら オプション/一般の「ヘルパープロセス」にチェックを入れれば大丈夫だと思いますが。。


puff puff@puff.to 1999/02/26 17:01

お世話になっております・・

CGI/sendmail についての質問になります・
sendmailの代用として windmailをテストしてみました・
動いているようですが・メールが届きませんでした・・
windmailの設定についてご教授を授かりたいとお願い申し上げます。

** 何か特別の設定などあるのでしょうか m(^o^)m


仲間秀夫 y-nakama@southernx.ne.jp 1999/02/26 17:01

to 中田さん TAKUさん
色々とご指導ありがとうございます。
Perl for Win32+user.exeをインストールしたのですが
動作しません何か設定がありますか?


Nari nkimura@sepia.ocn.ne.jp 1999/02/26 14:33

はじめまして、Nariです。
httpdを使わせてもらっています。
質問があるのですが、よろしかったらお答え下さい。
かなり初心者な質問かもしれませんが(^^;

全部のセットアップを終了(多分)して一応動いています。
PerlのCGIもただ表示するだけのならちゃんと動きます。
でも、ファイルに書込みをするCGIだと、うまく動かないのです。
これはUNIXコマンドも使用してるので、user.exeもインストールしました。(ちゃんと動いてるかはよくわかりません(^^;)
一度うまく動かないと、
----------------------------------------------------------------------------
Error 500

CGI エラー - 以下のコマンドラインを実行できません : "perl C:\www\cgitest\public_html\board\yoyaku_kanri.pl.cgi ",
errorcode = 32, Broken pipe
----------------------------------------------------------------------------
とエラーが出て、再起動するまでCGIが使えなくなります。
使用したCGIは現在ネットで使用してるので、問題はないと思います。

書込みが出来ないと、CGIのテストが出来ないので、すみませんがアドバイスをお願いします。


ゆう bamboos@hf.rim.or.jp 1999/02/26 13:13

>中田昭雄 nakata@st.rim.or.jp 1999/02/25 20:55
Netscapeを3.02からNC4.05にアップグレードしたら起きなくなりました。
#でもNN3.02を使用している人にも使えるようにしたいですね・・・。


ぴゅあ pure@GalaxyCorp.com 1999/02/26 12:10

 そういえば話は外れますけど....

 Win98で何故かリソースの減少が発生することの他にも、異常に時計が狂うっ
てことありませんか?
 1日で1分前後は狂うみたいです。時計補正ソフトいれてあるのに駄目。一度
補正ソフトを立ち上げなおすと合いますけど暫くすると元のずれに戻ってしまう。
でも、マシンをリブートすると正確な時刻に戻るんですよね。
 なんか内部の時計でなくてソフトで別に時計を作っているような気がしてなら
ないような動作....
 うちのようにクライアントまで24時間運転している人は少ないのでしょうけ
ど時計が狂うってことはAN HTTPを外に出しているときに困ることもありますよ
ね。まあ、数分程度なら目をつぶれるのでしょうけど。というより普通に使って
いても困ることが多いと思うけど。

 何か解決策はあるのだろうか....
 たまにハードディスクへの謎の集中アクセスがあったりするのも不気味ですけ
ど....


ぴゅあ pure@GalaxyCorp.com 1999/02/26 11:32

>雅 あきらさん
 ヘッダが壊れていると言っていますよね。ダウンロードに失敗したということ
です。再度ダウンロードしなおしてください。
 最近ネットワーク全体が重くなっている所為なのか新しいブラウザに問題があ
るのかユーザが急増して何処のプロバイダもサーバが過負荷になりつつある
のか、ダウンロードが中断されることが急に増えてきているように感じます。

>井上 良太さん
 確かv0.9のころだと結構前ですよね?Win95からWin98に変えたとか環境が変
わったことはありませんか?
 σ(^ー^)のところでは確認できていないので詳しくは判りませんがWin98に付
いてはトップページに書かれていますよね。
 と、あまり判らないσ(^ー^)が答えるものでもないですけど。(^^ゞ


井上 良太 ryouta@osk3.3we.ne.jp 1999/02/26 04:07

はじめまして。
an httpdを非常に有りがたく使わせて頂いております。

さて、バグレポートがどうか良くわかりませんが,ver1.12にしてから妙にリソースの低下が目立つのですが原因がわかりません。
秀丸エディタでperlのソースを書きかえたりしながらブラウザで確認を行ったりしているのですがver0.9のころでは、この現象は有りませんでした。
もしよろしければこの疑問にお答え頂けますでしょうか。お願いいたします。


雅 あきら akira@m2.iulnet.ne.jp 1999/02/26 03:57

すみません、こことは少し違うのかもしれませんが、
わからないので教えていただけると助かります。
Pw32i316.exeをダウンロードして実行しようとしたら、
WinZip Self-Extrater header corrupt.
Possible cause:bad disk or file transfer error.
というエラー表示が出るだけで、何もできません。
これはどういうことでしょうか。
おしえてください。おねがいします。


中脇 mx55vb@mcn.ne.jp 1999/02/25 21:30

>ふうせんさん
JAVAスクリプトを使ったページじゃないですか?
HTMLエディタによってはスクリプトの閉じタグを勝手に消してしまって・・・
さっき自分のページが真白に表示されてソースは出ているけど何故?? と原因究明にてこずりました。

その場合はhttpdを通さないで直接表示しても真っ白になります。

それ以前にも自分のページでその現象があったのですがその時はスクリプトを使っていませんでしたからそれ以外のタグの閉じ忘れの可能性もあるかも。(その時は原因究明をしなかった・・・)

そのあたりを一度確認されてはどうでしょうか??


中田昭雄 nakata@st.rim.or.jp 1999/02/25 20:56

仲間さん、TAKUさんへ補足
GNU for Win32 の方が世話なしですが、
>中田昭雄 nakata@st.rim.or.jp 1999/02/20 07:42
にもある通り、WWWBBSについては、gbook.8.htm
>中田昭雄 nakata@st.rim.or.jp 1997/11/29 20:15
も参考にしてください。
1年以上前なのでちょっとバージョンが古いですけど、書き替えの要領は同じはずです。


中田昭雄 nakata@st.rim.or.jp 1999/02/25 20:55

ゆうさん、
これは Netscape の 3.03, 3.04 あたりで出た症状ではなかったかと思いますが。。。
前は原因不明でした。
3.0x 台は今手元にないのでちょっと時間がかかるかもしれませんが、やってみます。


中田昭雄 nakata@st.rim.or.jp 1999/02/25 20:54

ふうせんさん、
ご指摘どうも。これも確認してみます。


中田昭雄 nakata@st.rim.or.jp 1999/02/25 20:53

MASAさん、
了解しました。簡単にはやってみたのですが、もう少し調べてみます。


TAKU takuyaf@yellow.plala.or.jp 1999/02/25 20:10

to 中田さん
ActivePerlに変えるかlocaltimeで代用しないと駄目ですね。
ActivePerlの性能はどんなものでしょうかね。後でダウンロードしてみます。

to 仲間さん
WWWBBS(version 2.3)のソースを見ると、180行目に
$ls = `ls`;
とありますね。下の方の過去ログを見てもらうと分かるとおり、私もこれに
引っ掛かりました。
中田さんの発言の 1999/02/20 20:43 に答えがあります。
これで動くと思いますよ。
私はWWWBBS(version 2.3)をPerl for Win32+user.exeで動作確認できました。
ただしマルチステーションボードは確認していませんが。


仲間秀夫 y-nakama@southernx.ne.jp 1999/02/25 19:19

はじめまして、私もAnHTTPdを使わせてもらっています。

ところで、1つ教えていただきたいのですが、
WEB裏技のCGIを使用しているのですが、miniBBS.cgi
は、正常に動作するのですが、WWWBBSやマルチステーションボード
のCGIが正常に動作しません
無効なまたは認識されない応答をサーバが返しました
と言うコメントがでます。
何か設定があるのでしょうか?


ぴゅあ pure@GalaxyCorp.com 1999/02/25 19:08

 取り敢えず簡単なところで....

>ティファさん
 フリーズするとはどういう状態になっているのでしょうか?
 全く応答がなくなって電源を落とさなければならないのでしたら色々と原因を探してみない
と判らないでしょうけど....
 ただDOS窓まで行くのなら原因を見つけるのは難しい(フリーズすることがおかしい?)とも
思えたりしますが。
 ところで3回ユーザに対して応答を求められるはずですがこれにはちゃんと答えているの
ですよね?これをフリーズと勘違いしている訳はないですよね。
 どういう状態でフリーズしているのか、どの程度のフリーズなのか、環境(マシン及びOS)
は何なのかを知らせていただけないとこれ以上は想像も出来ないのではないかと思います。


ティファ tifa@muh.biglobe.ne.jp 1999/02/25 17:19

Perl for Win32がインストールできません。
Pw32i316.exeを実行して解凍後、MSD-OSSプロンプトで
フリーズしてしまいます。なぜでしょうか。
ちなみにhttpdは正常にうごきました。


ゆう bamboos@hf.rim.or.jp 1999/02/25 14:16

POSTを実行するとPOSTを実行すると必ず一回だけ以下のメッセージが出てきます。

A network error occurred while Netscape
was sending data.(Network Error:)
Try connecting again.

その後リトライすると正常に動きます。
何故でしょうか?

HttpdはVer1.12、Netscape Ver3.02Goldを使用しています。


ふうせん Fu-sen. fu-sen@mtci.ne.jp 1999/02/25 11:03

どうも、ふうせんです。(はじめましてじゃなかったと思う(^^;

1.12 のバグレポート(らしい)です。
ファイル名を省略した場合に「index.html」として「html がない場合は htm を探す」をチェック。
それで index.html が実際にはなく、index.htm をファイル名省略して表示させようとするのですが、
今まではそれでいってたのに、1.12 では真っ白白助になります(^^;
(ソースではコードが出ているので、httpd の出力だと思うのですが……)

反応宜しくお願いします。


MASA masat@xa2.so-net.ne.jp 1999/02/24 23:18

中田さん、
エイリアス設定の件ですが、バーチャルホストは使用していません。
それと、\\sun\cをネットワークドライブに割り当てて、ローカルパスに
そのドライブを設定した場合は参照できます。古いバージョンに戻して
試してみたところVersion1.05では正常に動作することが確認できました。
1.06から1.09は判りませんが1.10では1.12と同様に404エラーとなりました。
ご参考までに。


中田昭雄 nakata@st.rim.or.jp 1999/02/24 21:15

Daichi 君、
何かわかったらお知らせ下さい。
errors.log の方は、CGIプロセス中で子プロセスを起動していると出続けるもののようにも思いますが。。。


中田昭雄 nakata@st.rim.or.jp 1999/02/24 21:15

MASA さん、
バーチャルホスト使用の場合、そのバーチャルホストのエイリアスに \\sun\c がないと 404エラーになりますが、そういうことはないでしょうか?
該当するバーチャルホストがないと最初のバーチャルホストの設定を使います。

確かめてみる過程で気がついたのですが、バーチャルホストでのエイリアスの設定で、エイリアスの数が同じで設定が違うものがあると、変更しようとした時にアクセス違反で落ちます。
これは次のバージョンで直します。

アクセスコントロールのバーチャルホスト別の設定はまだできませんが、別に設定できないと困りますね。次の次くらいにはできるようにしようと思います。


中田昭雄 nakata@st.rim.or.jp 1999/02/24 21:15

TAKU さん、
(times)[0] は、
($user,$system,$cuser,$csystem) = times;
とした場合の $user のことになります。
ActivePerl で (times)[1] 以下はどうなるのか確かめてはいませんが。


Daichi君 dnemk-b@emperor.vip.co.jp 1999/02/24 18:41

中田さん>
暗くなる現象ですがPOSTに[Perl.exe]を使わなかったら起こる現象だったはずなのですが
最近、その現象の再現がなかなかできなくなってしまったので
もう少し詳しく調べてみます。

同じく、[errors.log]に記述される例のエラーですがこれも
再現しにくくなりました(上記のエラーよりは再現性が高いですが)。
こちらも同じく調べて見ます。


Borland(Inprise)C++ Builder3 の登録はがき
まだ出してないんです。(やば)


MASA masat@xa2.so-net.ne.jp 1999/02/24 09:20

はじめまして。

エイリアスの設定について教えてください。
ローカルパスにネットワークコンピュータを"\\sun\c"のように
指定した場合なんですが、"Error 404"となって参照できません。
前のバージョンでは動作していた記憶があるのですが、
どんな原因が考えられるのか、どなたかお教え頂けないでしょうか。

それからもうひとつ、バーチャルホストを使用した場合の
アクセスコントロールについてです。
例えば、/privateに制限を設定している状態で、
バーチャルホストにも同名のディレクトリがある場合、
同じ制限がかかってしまうのですが、個別に設定することは
出来ないのでしょうか?

以上、よろしくお願いします。


TAKU takuyaf@yellow.plala.or.jp 1999/02/24 00:04

to Daichi君 & 中田さん

>ActivePerlの方ではサポートしているようです。
納得。Perl for Win32ではだめなんですね。Daichi君はActivePerlでしたよね。
timesは関数でしたね。勘違いしてました。


中田昭雄 nakata@st.rim.or.jp 1999/02/23 21:29

Daichi君へ、
うーむ、ちょっと手間取りそうです。
とりあえず Perl for Win32 に戻して、と言いたいところですが、下に書いた times などの問題もあるのでなんとも。
ActivePerl の perl.exe の方でも同じですか?

私もようやく先日 C++ Builder 3 を入れましたが、 AN HTTPD のコンパイルはまだ C++ 5.02 のままです。でももう Builder 4 の案内が来ていますね。


中田昭雄 nakata@st.rim.or.jp 1999/02/23 21:28

TAKUさん、
times は Perl for Win32 では サポートされていません(サポートされていない関数の一覧の中にあります)。
少し面倒ですが localtime とかで代用するしかないかなと思います。

ActivePerlの方ではサポートしているようです。


中田昭雄 nakata@st.rim.or.jp 1999/02/23 21:27

ぴゅあさん、
HTTPクライアントといっても 接続して GET /path HTTP/1.1 を出すだけならという気もします。


Daichi君 dnemk-b@emperor.vip.co.jp 1999/02/23 01:12

中田さん>
「Mon ... 1999 KillProcess: Got Process ID = 0, dwExitCode = 0」
のことですが、
なんにもしなくても(HTTPDを起動した後 パソコン触ってなくても)
HDDにアクセスしにいって秒間約20行も記述されていきます。
多分[ActivePerl]をインストールしてからのような気がします。
(Perl for Win32ではおきていません)

TAKUさん>僕の環境では問題なく動いているのですが??

ぴゅあさん & TAKUさん>
昔は(って3年ほど前か)DOSでアセンブラをやっていました。
(MASM Ver5.1だったような)
「なんてファイルサイズが小さいんだろう」なんて感動した覚えが。
いまはBorland(インプライズ)のビルダー3を使ってますが。

歳がばれちゃいますね。(って今高校3年で25日・・入試もうすぐなんだけど)
若いかな(笑)


TAKU takuyaf@yellow.plala.or.jp 1999/02/22 23:27

to 中田さん
こんなすばらしいオプションがあるのを見逃していました。
ちゃんと説明書を見ないといけませんね。
で、エラーですが
>Error 500
>CGI エラー - Content-Type ヘッダがみつかりません。
>CGI 出力メッセージ:
>times not implemented at B:\cgi_test\1021\minibbs.cgi line 265, chunk 1.
と出ました。line 265は、265行目でしょうか?その行を見ると
if ($FORM{'action'} ne 'remove') { $start = (times)[0]; }
とあり、「なぜここでエラー?」と頭をひねっています。
また、chunk 1と言うのはどういう意味なのでしょうか?

to ぴゅあさん
MZ、懐かしいですね。ほとんど記憶の彼方にいってました。talk機能があったPC-6001
(6601でしたっけ?)なんていうのもありましたよね。
プログラムの記録装置はカセットテープだったり・・・・・。
なんかトリップしそうです。(^^)
私はBASICのみで、マシン語には手を出せませんでした。いろいろな事情でPCから
離れてしまったせいもありますが。
主にCGの制作に凝っていて、中間色を作るのに試行錯誤したのを覚えています。
(16色しか表示出来ませんでしたから)

PC-UNIXならバリバリ動く中古で安いPCを買うのもいいですが、今もっている
98もかなり贅沢な環境(増設HDD3GB+メモリ96MBのMMX200KHz)なので
これで出来る限りやってみようと思っています。

って私もそんなに若くないのがばれちゃいますね。


ぴゅあ pure@GalaxyCorp.com 1999/02/22 22:44

>TAKUさん
 たまには脱線しても良いような気もしたり?(^ー^;)
 極端に離れたないようでなければきっと良いのでしょう。
 FM-7知ってますよ。MZ-80KにPC-8001....MZ-80Kはまだあったりします(MZ-40Kとかも)。
 年なのバレバレ(自爆)。
 当時はマシン語,BASICが中心でした。なかなかアセンブラとか出てこなくて。たぶん今でも
Z80は手でアセンブル,逆アセンブル可能でしょう(笑)。

 σ(^ー^)も元々はDOS/UNIX/OS-9とかかな?未だにWinはとっつきにくい....(~ヘ~;)
 それでも色んなサイトや「数少ない」良い書籍のお陰で基本的なことは学べましたけど。
 取り敢えずはC(DelphiやC++やMFCを使ったものが殆どで悩む....確認用にDelphiは手に
いれてみましたけど....何もマニュアルを持っていないのでチンプンカンプン)で書く
ダイヤルアップIPアドレスの取得方法をテストしたいところです。
 WSAStartup()でもマジメに理解しようと思うと解説が簡単過ぎて今一つ悩んだり....
 取り敢えず適当に動かして後でゆっくり調べれば良いんですけど。

 98でしたか....
 確かに98だと対応しているものは少ないですね。MINIXとかもありましたが。
 中古486マシンを手に入れる手も。
 秋葉か日本橋辺りでないと安く手に入れるのは難しいでしょうけど1万もしないで見つけられ
るんじゃないのかな?ふと探してみようかな?とか思っていたり。でも寝ているから店が開いて
いる時間に間に合わないことが多かったり(^ー^;)。
 要らなくなったサウンドボード,メモリとかを貰ったのでこの際思い切って探してみようかな?
とも思っていたりします。今のマシンとろいのでNT Serverだけじゃ力不足で....

 ふと、ある掲示板に行って思ったこと。
 どこかのサーバで動いているCGIが出力するHTML文書をCGIでファイル(標準入力?)とし
て直接取り出すことは可能なのだろうか....
 タイトルインデックスのフレームで何処まで読んでいるのか(&新投稿があるのか)が判断し
にくいので自前で管理することが出来ないのかなとか思ったり....
 HTTPクライアント並みのことをすれば可能なのでしょうが。HTTPクライアントは作りたいと
思いつつでかいので保留中。


中田昭雄 nakata@st.rim.or.jp 1999/02/22 21:37

TAKUさん、
Minibbs 10.* のエラーについては、AN HTTPD のオプションの 「CGI出力を検査」をオンにしても何もメッセージは出ませんか?

以下雑談。
私は UNIX の方が先で、UNIXを使っていたのは X11R5 が出た頃でした。
httpd も CERN のものを使っていて、これを Windows でも使いたいということで AN HTTPDを始めました。始めた当初の動作確認のあたりまでは UNIXマシン上です。
当時 Fnord や OmniHTTPd は雑誌の付録にありましたが、CGI/SSI の動作が不十分でした。
PWS は日本語版はまだ出ていなかった頃の話です。

最近米国では Linux が WinNT の有力対抗馬になっているらしいですね。
新聞記事で、WindowsプレインストールPCに PC-UNIXを載せる場合 Windows分の返金をするという話も出ていました。(日本では返金に応じない方針らしいですが)

AN HTTPD も PC-UNIX版を作ろうかと思ったり。


中田昭雄 nakata@st.rim.or.jp 1999/02/22 21:36

Wさん、ぴゅあさん、
絶対URLの // 以下はホスト名ですからパスのエイリアスで置き換えることはできません。

ダイヤルアップ環境でダイヤルアップ接続していない時に置き換えるのであれば、バーチャルホストでできないことはないと思います。

まず hosts ファイルで localhost の別名をたとえば
127.0.0.1 localhost www.honda.co.jp www.yamaha.co.jp
としておきます。LAN環境でPCのIPアドレスの別名でも同じです。

そのあと AN HTTPD のバーチャルホストを、たとえば、

  *                 *.*.*.*  80  D:\Web 
www.honda.co.jp *.*.*.* 80 D:\web\car\www.honda.co.jp
www.yamaha.co.jp *.*.*.* 80 D:\web\midi\www.yamaha.co.jp
とすることで、(たぶん)動作すると思います。
*.*.*.* は 127.0.0.1 でもこの場合は同じです。

ただし、ダイヤルアップ接続する時は hosts の別名は削除する必要があります。
また、上のバーチャルホストの設定は、そのように動作するようにしたつもり、であって、うまくいかないかもしれません。


中田昭雄 nakata@st.rim.or.jp 1999/02/22 21:35

Daichi君へ、
PerlIS の時 POST で画面が暗くなる件はもちろん仕様ではありませんが、少し調べてみないとわかりません。少々お待ち下さい。
errors.log の KillProcess は、そのときの話でしょうか?
これも即答できないので、確認してみます。


TAKU takuyaf@yellow.plala.or.jp 1999/02/22 18:26

to ぴゅあさん
#話題がこの掲示板の趣旨から外れていくようですみませんが<中田さん
PC-UNIXはどうもFreeBSDよりLinuxの方が設定が易しい「らしい」と聞きましたが、
私のPCは98マシンの為、パッケージが限定されてしまいます。うぅ・・。
LinuxPlamo98を検討しています。というか、これしか98にはなかったような・・・。

また書籍の紹介、ありがとうございます。私も
CGIのための実践入門Perl(技術評論社)や
図解でわかるPC-UNIXのすべて(日本実業出版社)
などで勉強していますが、BASICしか言語を知らなかった(FM-7とかご存知ですか?)私が
この世界に帰ってきたらすでにWINDOWSの世界。DOSの知識も分からないままCGIに惚れて
UNIXも覚えたほうがいいかな?という状態ですので、覚える事は山積みです。
気分は「リハビリする浦島太郎」といった所でしょうか。

しかしUnix系についてはWINDOWSにどっぷり漬かってしまった体では
なかなか取っ付きにくいものですね。WINの常識、UNIXの非常識 というのでしょうか。(^^)

そんな弱気になっている時にAnHTTPdが気持ちよく動いてくれるとホッとします。(フォロー)

to Daichi君
手持ちのMiniBBSはver10.0とver10.21がありますが、どちらも
「無効なまたは認識されない応答をサーバが返しました。」となりました。
これではどこがエラーなのかはログに出ないので、1つ1つチェックしている所です。
Type2のMiniBBSは通ったのに・・・・。(TT)

べつにver10.**にこだわるつもりはなかったのですが、なんかむきになっちゃいますね。(^^)


吉田 嘉津男 kazuo@core.cs.shinko-elec.co.jp 1999/02/22 17:45

吉田です。

中田さんへ
 亀レスですが、ログの自動削除の件、残念です。
 気長に待ちますので、がんばってください。それまでは手動削除でがんばります。


ぴゅあ pure@GalaxyCorp.com 1999/02/22 17:28

>Wさん
 やっぱりIE4は多少重く感じるでしょう。
 何か問題があるのでなければネスケの利用をお勧めしますけど。
 普通のマシンではそんなに差は感じられないかもしれないけど、少なくともσ(^ー^)のマシン
では雲泥の差として現れています。
 でも、さっきOE4を立ち上げたとき異様に速かったのは何故だろう....
 メインでは別のメーラを使ってて仕事用にOE4を残しているだけなので全部OE4から移行し
ちゃえば良いんだけど。
 なんでこんなにMSのソフトって重いのばかり?....

 フォルダをURLに置き換える件できるのだろうか....
 少なくとも実在するURLだと問題あると思うし
 AN HTTP Serverの付加機能??に付いてはまだチェックしていないので判らないけど、確か
に出来ると楽ですねぇ
 テスト用とアップ用でいちいちURL修正する手間がなくなるし
 でもそのURLって実在するものを使うことになる
 やっぱり無理だと思うけど....
 でしょ?中田さん


W washu@hiroba.net 1999/02/22 13:46

ありがとうございました。
ダイヤルアップアダプタを選択したところうまくいきました。

多少重かったりするのはIE4のせいでしょうか。

Webページの改装がすみしだい、設定をあれこれいじって
自分の環境を作ってみようと思います。

D:/web/car/www.honda.co.jp/ を http://www.honda.co.jp/ に
D:/web/midi/www.yamaha.co.jp/ を http://www.yamaha.co.jp/ に
というふうに任意のフォルダを任意のURLにあてることもできるのだろうか。


ぴゅあ pure@GalaxyCorp.com 1999/02/22 03:11

★Cygnusのこと
 最近は入れてないので記憶に薄いのですが何もしなかったような。
 確かマトモなインストール画面が出ましたよね。
 ふと、他のものと(解説用に取り込んであった画像を思い浮かべて)勘違いして、そういや
解凍のダイアログしかなかったよなぁとか思っていたのですが、さっき書籍のカキコしていた
ときにその本にちょっとだけ解説されていたのでパス設定の処理は抜けているのかなぁとか思
いつつ....
 でもσ(^ー^)が使っていたのはi386。i586ではパスを設定してくれないのか、σ(^ー^)の記
憶が確かでないのか。i386でパスを追加した記憶はなかったので。
 いずれにしてもちょこっと解説は書かなきゃと思うので参考にさせて頂きます。

 lsが動いたときの違和感(笑)。
 lsやcpくらいなら作るのも簡単でしょうけどね。いずれにしてもDOSの外部コマンドと同じ位
置付けにある感じですし(X68で小物コマンドを作っていた頃が懐かしい)。まあ捕らえ方とで
も言うのでしょうか。
 dir /wに似てるってことに対してはls -Lとか(だったかな?)を試してみると良いでしょ
う。よりUNIX感に浸れると思います。ちゃんとしたオプションはUNIXのマニュアルやUNIXの解
説サイトには必ず書かれている筈です。

>Daichi君
 ちゃんとしたレスは中田さんからあると思うのですが書いたついでに。
 Win98ではまだちゃんと動かしたことはありませんが(今はNT Serverの方に入っているのが
メインになっているので)仕様ではないでしょう。ActivePerlの不具合と言うのかWin98の問題
というのか。ActivePerlはダウンロードしただけで普段はISAPI,状況に応じてPerl.exeを使
っているのですが少なくともISAPI,Perl.exe共にそういった症状は見られなかったのでActivePerl
とWin98との間で何か起こっているのでしょう。
 Win98はどうも不安定。さっきはNT Serverからのパスワードの期限切れの通知で再ログイン
できなくなるしハングアップした上にWin98が立ち上がらなくなって仕事の途中だったから焦り
まくり。結局パスワードファイルを削除することで再ログインできましたけど。あとフロッピー
を抜くとブルーバック画面が出て固まったりとその他色々。Win95よりは異常終了は随分減った
感はありますけど色々とおかしいところが見られるのでActivePerlにも対応してない部分があ
ったりするのかも(推測でしかありませんけど)。確かWin98が出る前に作られているものでし
たよね?
 ActivePerlってexeでしたっけ?もしそうなら支障がなければ速いISAPIを使ってみるのも良
いでしょう(少なくとも今はPerl.exeを使っているなら)。ActivePerlがPerl.exeとは別にあ
るということはDLLなのかも知れませんが。尤もσ(^ー^)の環境だとPerl.exeは凄く重く感じて
しまうから支障がない限りISAPIを使っているということもありますけど。

 はぅ
 また無意味に長くなってしまった....
 仕事に追われてストレス溜まってる所為だろうか
 今も仕事中だったり....


Daichi君 dnemk-b@emperor.vip.co.jp 1999/02/22 01:16

中田さん>ありがとうございました。
[ActivePerl]を今使っています。
ところで、設定「POSTメソッドを除く」にチェックを入れないと
POST命令が出たときに一瞬(0.1秒ぐらい?)Win98の画面が暗くなりますが
仕様でしょうか?
僕はこれがいやなので、チェックを入れて[Perl.exe]を使っています。
それと、[error.txt]が一秒の間に10回ぐらい
「Mon ... 1999 KillProcess: Got Process ID = 0, dwExitCode = 0」
を書いていって、ファイルサイズが巨大になるのですがこれはどういうことでしょうか?

ぴゅあさん>私もTAKUさんと同じでインストールのときは
パスを追加してくれませんでした。
自分で「SET PATH=D:\NETWORK\CYGNUS\CYGWIN~1\H-I586~1\BIN;%PATH%」
と記述しました。まさかロングファイルネームが使えるとは。

TAKUさん>[user.exe]をインストールしなくても
version 9.?? までは動きます。インストールすれば
version10.21 は動くことを確認しました。
TAKUさんはインストールしても Ver10.??は動かなかったのですか?

僕もDOS窓で[ls]が動いたときにはなんか違和感が。
[dir /w]に似てますね(笑)

こんど[G-LIGHT]っていうBBS試してみます。


ぴゅあ pure@GalaxyCorp.com 1999/02/21 22:56

>TAKUさん
 FreeBSDは確か今一つハードディスク上の構造がσ(^ー^)の好みでなくて入れてみなかった記
憶があります。Linux(FreeBSDも同等だと思う)を使えばほぼ普通のプロバイダと同じ環境で
テストできるのだと思います。CGIのソースコードもURL以外まず直さなくて済むでしょう。

 自宅のサーバマシンにはRedHat Linuxが入っていますが(しかしNT4.0 Serverの裏にあ
るのでちょっと試しただけ)Apacheが入っていました。単にApacheとの接続を確認しただけで
その時はTAの場合どうやってインターネットと繋げるんだろうとか思いつつCGIとか使えるのか
などは確認しませんでしたがPerlのバージョンをプロバイダと合わせておけばまず問題なく移
行できるものと思います。Linux(UNIX)はWinとはまた違って知らなければならないことが沢山
あるので大変だと思いますが(UNIXは高度?なので覚えることが沢山あるのに対してWinは独自
の言葉を沢山使ってくれているのでそれを理解するのが難しい(苦笑))。
 でもそうなるとAN HTTP Serverの立場は?....
 まあAN HTTP Serverの場合は日本語で気楽に質問できるということが一番のメリットなので
しょう。尤もviなどはDOS時代からのエディタに慣れているとちょっと使いにくいかなという感
もありますし、HTMLエディタなどはWin上の方が良いものがあるのだろうと思うので、Win上で
ベースを作ってプロバイダのサーバへのアップ前の最終段階でLinux(FreeBSD)に持って行く
のも良いのでしょう。CGIを作りこんで行くとそのうちUNIXにも深く入って行くこともあるかも
しれませんから勉強してみて損はないものと思います。

 一応あまりお勧めではないのですが書籍を紹介しておきます。今はもっと新しい書籍が出て
いるのではないかと思いますが。
 日経BP
 フリーだから出来る Linuxで作るSOHOサーバ
 ISBN4-8222-2302-7
 \1700+税

 LinuxでWebサーバを外に出すのはWinに比べてマシンパワーも比較にならないくらい要求
してこないので良いのではと思います。管理はAN HTTP Serverに比べるとかなり苦労するでし
ょうが。インターネット(PowWow)上で知り合った友人もLinux(だったと思う)サーバで
テレホのみの運転をしています。

 σ(^ー^)もまだプロバイダ上のホームページとの連動ソフトを作っていないのでたまにしか表
に出していませんがWinNT4.0 Server上でAN HTTP ServerとWar FTP daemon(v1.70なので
日本語で開設しているサイトが見つからなくて設定は適当(^^ゞ)を動かしたりしています(きう
いサーバ(Nifty風チャット),IPLサーバ(音声の送れるチャット)も立ち上げてはいま
すが宣伝していないので利用者が....そりゃ当然)。

 因みにBiG-NETのサーバはLinuxだそうです。

P.S.
 ほかのサーバで動かなかったというのはUNIXとWinNTとの違いという場合もあるのでしょう
がPerlのバージョンも関係する場合があると思います。
 因みに以前紹介したことがあると思うのですが下記の書籍が役立つかもしれません。ただし
サンプルは殆ど載っていないので関数リファレンス程度にしか使えないでしょうが。Perl
プログラミングには他にも多くの書籍が出ていますので解り易いものを探してみると良いでしょう。
 プレンティスホール
 クイックPerl5リファレンス
 ISBN4-88735-054-6
 \2200+税
 σ(^ー^)はCのプログラミング経験も一応あるのでこの書籍と下記書籍だけで(全て)オリジナル
のCGIを書いています。Web上での特殊なテクニックに関してはフリーで配布されている
ソースコードを参考にさせてもらっていたりしますが。
 秀和システム
 入門Perl Perl for beginner's
 ISBN4-87966-751-X
 \2400+税


TAKU takuyaf@yellow.plala.or.jp 1999/02/21 19:52

to ぴゅあさん
残念ながら私のPCは、インストールの時パスを書いてくれませんでした。
PATH=%PATH%;A:\cygnus\cygwin-b20\H-i586-cygwin32\bin
で通ってくれたのでとりあえずこれでよし、としました。(^^)

#ローカルサーバとプロバイダのサーバ
(別の方へのレスでしたが・・・)
偶然にも今日、その様な事がありました。
つまりAnHTTPDを使ってローカル(WIN)でテストしたCGIが、プロバイダにアップ
したところエラーとなり使えなかったのです。
試しに別のプロバイダにアップしたら、こちらは動きましたが。
ネット上のサーバで動くのにローカルでは駄目、というケースは
今までによくありましたが、その逆の事があるのは珍しいかな?と思いましたが
ぴゅあさんの投稿文を見て納得しました。
ある程度の互換性があるとは言え、サーバのプログラムを直接動かす(と言う表現
は間違っているかもしれませんが)CGIですから、慎重にやらなければいけませんね。
下手をするとまわりの人達に莫大な迷惑をかけますからね。

一番いい方法は自分のプロバイダと同じ環境にする事ですが、個人レベルでは
まず不可能でしょうね。
それでも少しでも近づけたくてFreeBSDをインストールしてみましたが、設定が
難しくまともに使えるようになるにはまだまだ時間と知識が必要なようです。(TT)


ぴゅあ pure@GalaxyCorp.com 1999/02/21 16:49

>TAKUさん
 インストールで勝手にパスの追加をしてくれませんでした?
 path %path%;A:\cygnus\cygwin-b20\H-i586-cygwin32\bin
で実行したいプログラムのあるディレクトリ(フォルダ)までの(絶対)パスを記述すること
になります。本来パスというのはこの部分を指していた筈です。
 でも、長い名前は使えたのでしたっけ?空白文字が混じっていると駄目なのかな?またその
ときはダブルクォーテーションで囲めば問題ないのかな?ちょっとちゃんと確認していないの
で判りませんが試してみれば判るでしょう。
 オマケで。
 短い名前が必要な場合はそのフォルダのプロパティのMS-DOSファイル名のところを見れば判
ります。

>Daichi君
 多くのCGI(CGIと表現しておいたほうが通りが良いと思いますのでこれで統一しておきます)
はUNIX上で動作させることを目的として作られていると思います。最近は(といってもかなり
経ちますが)WinNTをサーバとするプロバイダも増えてきているのでそれぞれのOSで動くCGI
も出ていることとは思いますが。
 まず大抵の人が使おうと思うCGIでUNIX上で動かすことを目的としたものは(今のところ)
何等かの手を加えないと動かないことが多いでしょう。全てとは言いませんが。
 また、ものによりますが何も手を加えないでWin上で動かせるCGIはプロバイダのサーバ
(UNIX)上では何かしらの問題が発生するものと判断しても良いのではないでしょうか。CGI
としての環境はパソコン環境とは全然違いますので。また一般に配布されているCGIでもまだ
CGIとして動作させるには問題のありそうに思えるものが多くあるように思えます。
 注:CGIコード中でこの違いを吸収するようにしているものもありますので誤解の無きよう。

★串を挿す
 何故その必要があるのかと疑問に思いますが。ただ、それを利用して自分を隠して悪質な悪
さをする人が非常に増えているのでレスを控えておきましたが(「串を挿す」という表現の仕
方をする人はまずその傾向にあるように思われるのだが....)。本来そういうことをするのが
プロキシ(キャッシュ)サーバの目的ではありません?ので。
 あるプロキシサーバは一見「自分には」完全に自分が見えなくなるように見せるようです
が(そういうことを目的に作られているのだろうか?)、それでも相手側からは個人を特定す
ることができるようですので念のため。


TAKU takuyaf@yellow.plala.or.jp 1999/02/21 16:05

先ほどは失礼しました。user.exeのおかげでネットサーフレスキューの
簡易BBS -Type2- は、以下のものが無改造で動作確認出来ました。
version 1.34
version 1.33
version 1.32
version 1.12i
version 1.11js
(ただし、ファイルロックはnoを選ぶ)
簡易BBS version 10.**についてはエラーになってしまうので、まだ
通らないコマンドがあるようですね。Daichiさん。どれですか?(^^)

#しかしDOS窓でlsが通った時は感動しました。
#と同時にUnixコマンドがDOSで動く違和感・・・


中田昭雄 nakata@st.rim.or.jp 1999/02/21 15:38

TAKU さん、
そうですね。
だけではなんなので、ついでに、

PATH の中に並んだフォルダ(ディレクトリ)を順番に調べて 指定された実行ファイルをさがすわけです。
そういう意味ではこの PATH は サーチパス ですが、そのままパスと呼ぶので、ファイルのフルパスとかとちょっとまぎらわしいですね。

なお、Windowsの場合は PATH の中に . (カレントディレクトリ)は書かなくても真っ先に調べます。
UNIXでは PATHに . を入れないとカレントディレクトリを見ないので、よく ./test.cgi とか指定して実行することがおこなわれます。
(PATHに . を入れるのはモロモロの理由で避けるのがふつうのようです)


TAKU takuyaf@yellow.plala.or.jp 1999/02/21 15:02

PATH=%PATH%;A:\cygnus\cygwin-b20\H-i586-cygwin32\bin
でしたね。失礼しました。


TAKU takuyaf@yellow.plala.or.jp 1999/02/21 09:48

恥ずかしい質問ですが、パスの通し方は
path "%path%;A:\cygnus\cygwin-b20\H-i586-cygwin32\bin\ls.exe;"
path "%path%;A:\cygnus\cygwin-b20\H-i586-cygwin32\bin\cp.exe;"
のような書き方でいいんでしたっけ?


中田昭雄 nakata@st.rim.or.jp 1999/02/21 08:01

串をさしたい人へ
掲示板のIP表示が何のIPを表示しているかにもよりますが、普通は、文字通りプロクシサーバを通せばいいわけです。
その場合、一般的には、IPはプロクシサーバのIP(多段にした場合は最後のプロクシのIP)になります。


中田昭雄 nakata@st.rim.or.jp 1999/02/21 08:00

Daichiさん、
動いたようなのでいいのかもしれませんが、

minibbsでどれがそのまま動くかは、TAKUさんが、
>TAKU takuyaf@yellow.plala.or.jp 1999/02/19 15:29
で書いてくれていますので見てください。

今では、ActivePerl (Perl 5.005)の方がおすすめだと思います。
元になったPerlのバージョンなどが違うわけですが、簡単なCGIを扱う限りではその違いはあまり気にすることはないかもしれません。
プロバイダの方は Perl for Win32 (Perl 5.003) より前の Perl 4.0 だったりすることもあります。


れんとん travtek@cg.netlaputa.ne.jp 1999/02/21 03:46

中田さん、ありがとうございました。
ルータ自動接続の件、解決いたしました。
丁寧な解説まで頂いて、本当に感謝しております。


Daichi dnemk-b@emperor.vip.co.jp 1999/02/20 21:45

すいません動きました。

ありがとうございます。


Daichi dnemk-b@emperor.vip.co.jp 1999/02/20 21:35

Cygwin B20[user.exe]をインストールしました。
(PATHもいれました)
でも、やはり管理者キーが作れません(泣)
[ls.exe]が動いているのはタスクでわかりますが。


串をさすってやつ。 general@tokai.or.jp 1999/02/20 21:35

掲示板でのIPを変えたいのです。
串をさすってやつ。


Daichi dnemk-b@emperor.vip.co.jp 1999/02/20 21:03

レスありがとうございます

それじゃ、
10.21以前のバージョンは[GNU for Win32]なしで動くのですか?
(私の環境では、やはりどのバージョンも同じようなところでとまります。)

それと[Perl]は
[Perl for Win32]と[ActivePerl]のどちらのほうがよいのでしょうか。


中田昭雄 nakata@st.rim.or.jp 1999/02/20 20:48

Daichi君へ補足。
GNU for Win32 をインストールするなど、なぜそんな面倒なことになるかというと、それは minibbs.cgi がイケナイのです。
誤解のないように。


中田昭雄 nakata@st.rim.or.jp 1999/02/20 20:44

シュンさん、
リモートホストアドレスというのはどういう意味でしょうか?
自分のホストのIPアドレスやホスト名を変えたいということでしょうか?
LAN環境か、ダイヤルアップで接続する環境か、で答えが変わってきます。

AN HTTPD が表示するホスト名/IPアドレスのことでしたらあまり気にしなくて大丈夫です。
表示されるアドレス以外でも応答しますから。
(バーチャルホストを使う時はまた別ですが)


中田昭雄 nakata@st.rim.or.jp 1999/02/20 20:43

Daichi君へ、
Minibbsは10.21あたりだろうと思います。
そのバージョンでは、ちょっと下にも TAKU さんが書いているとおり、
>バージョン10.**は、「$list = `ls $ls`;」で躓くみたいですね。
>#これってディレクトリのファイル一覧を取得するUnixコマンドですよね。
です。

一番簡単な対処法は、Cygnus の GNU for Win32(の中にある日本の適当な ftpサイトから/archives/pc/gnu-win32/latest/user.exe) をインストールすることでしょう。
Cygnus のでなくても、ls.exe が入手できれば何でもいいのですが。

Perl はそのままでよいと思います。
「システムエラー1」が出るということは Perl はちゃんと動いているということですから。


シュン general@tokai.or.jp 1999/02/20 20:25

始めまして。シュンともうします。
リモートホストアドレスを変えるにはどうしたら良いのでしょうか?


Daichi君 dnemk-b@emperor.vip.co.jp 1999/02/20 17:43

はじめまして皆様

最近CGIをローカルで動作確認できると聞き、[httpd]を導入しました。
Perlはどれをインストールすればよいのか分からなかったので、
とりあえず[Perl for Win32]をいれました。

そして掲示板[minibbs.cgi]の動作チェックをしたかったのですが、
動かしてみると、最初にまずきいてくる
「管理者キーの入力画面」
でパスワードを入れると
「システムエラー1」
と表示され、先に進むことができません。
ソースファイルを見てみましたところ(Perlは分からないので多分)
パスワードを入力してOKを押して文字列のチェック(文字数など正しいか)
に行く前にすでに[ &lock1; ]の行でエラーに飛ばされてしまいます。
これはなぜか教えてもらえないでしょうか。

それと[Perl]はなにをインストールするのが最適でしょうか。

質問ばかりですみません。


中田昭雄 nakata@st.rim.or.jp 1999/02/20 07:43

れんとんさん、
オプション/一般の "リモートホストを取得" を "取得しない" にしてください。

"常時","CGI/SSIでは取得" だと、アクセスしてきたホスト名を調べるためDNSサーバに問い合わせをしようとするので時間がかかります。
ダイヤルアップルータを使う環境では、ここは"リモートホストを取得" ではなくて "自動ダイヤルアップ" だと思っていただければ。


中田昭雄 nakata@st.rim.or.jp 1999/02/20 07:43

えむけいさん、
なるほど。 WinNTで GET で標準入力の永久待ちになる、ということですね。
たしかに Win95/98 では大きさ0の標準入力を入れてやっているのでそうなります。
というわけで、それはNTでもできますので追加します。


中田昭雄 nakata@st.rim.or.jp 1999/02/20 07:42

TAKUさん
Cygnus の最近のバージョンはインストーラつきのようですから必要な設定はやってくれるはずです(再起動は必要)。
必要なのは、ls.exe, cp.exe などに PATH が通っていることです。
つまり、C:\AUTOEXEC.BAT などの PATH に、ls.exe などが置いてあるディレクトリのパスが追加されていればいいわけです。
DOSプロンプトで、C:\WINDOWS> で単に ls として動けばOKです。

書き替えの例は、
gbook.8.htm を "ls" で検索
gbook.16.htm を "$cp" で検索
してみてください。


れんとん travtek@cg.netlaputa.ne.jp 1999/02/20 03:50

はじめまして。

よく話題にあがる事で申し訳ないのですが、アクセス時(起動時ではなく)
にルータが勝手にダイヤルアップしてしまうのです。勿論、「ホスト名
アドレスを取得」のチェックははずしてあるのですが・・・。

ルータの設定で自動接続をオフにすると、今度は「CGI処理中」の
メッセージが30秒くらい続き、反応が返って来るのにやたらと時間が
掛かってしまいます。(ダイヤルアップのタイムアップ待ち?)
勝手に接続してしまった時は、何故かサクッと動きます。

素人の私ですが、どなたかこの現象についてわかる方がいらっしゃいま
したら、お教えいただけないでしょうか。


えむけい VYV03354@nifty.ne.jp 1999/02/20 02:25

 以前お話ししたPerl.exeが終了しなくなる現象ですが、POSTで投稿したときは正常に処理されました。GETでそのCGIを呼び出すと終了しなくなります。Windows98ではGETでも問題ありません。再インストールのついでに調べてみましたが、NTではサービスパックやIEのバージョンに関係なく発生するようです。
 私の掲示板はGETとPOSTで同じCGIを呼び出しているので、GETのときでも終了するようにしていただけるとありがたいのですが……。


丸山 maru-y@geocities.co.jp 1999/02/19 23:01

ダイヤルアップルータの件たくさんの回答ありがとうございました。
可能と言うことで一安心です。
これでダイヤルアップルータを使用してのANHTTPDを使用することが確認できました。
またお世話になると思いますがよろしくお願いします(^^)


TAKU takuyaf@yellow.plala.or.jp 1999/02/19 22:49

to 中田さん

やはり(1)か(4)が、一般的という事になるでしょうか?
私の場合はローカルでテストしてプロバイダにアップしています。
そういう方も結構多いのではないでしょうか?
そういう場合はやはり(出来合いのCGIを使う場合)(1)の方法が取れれば
楽ですね。

やっと「超」がとれそうな初心者の私には、(4)の方法は無謀な
チャレンジになりそうです。(^^;;
まあローカルやるので誰にも迷惑をかけないですけど。今はperlの本を片手に
問題の部分をプリントアウトしたものと にらめっこしています。
あぁ、なんてアナクロなんでしょ。(真剣に考える時は紙に書かないと気が済まないので。)

ところで(1)の場合、
Cygnus の GNU for Win32(必要なのは user.exe だけです。
cdk.exe は gcc などの開発環境を含んでいます。)
とありますが、インストールしたものをCGIの実行プログラムに切り替えれば
いいのでしょうか?


中田昭雄 nakata@st.rim.or.jp 1999/02/19 21:14

TAKU さん、
大変と思うかどうかは人によりけりかもしれませんが、
(1)ls, cp などの UNIXコマンドの Win32 版をインストールする
(2)DOSコマンドで代用する(ls = DIR /B, cp = COPY /Y)
(3)ls.bat, cp.bat などを作っておく
(4)ls, cp などを使っているところを Perlの関数でおきかえる
などの方法があります。

スクリプトをUNIXのプロバイダと共通で使いたい場合は(1)が一番簡単でしょう。
(2)(3)は、パス区切り文字を / から \ に変えるなど多少考える必要があります。
今後いろいろ改造や自作を考えているなら(4)をやってみるのがいいのではないかと思います。

画像アップロードに関しては、テキスト/バイナリモードの区別がない UNIXを前提にしていると抜けてしまうのですが、適切に binmode( ) を入れてやる必要があります。
binmode( ) は UNIXでは何もしない関数なので、スクリプトは UNIX/Windows共通で大丈夫です。

#WindowsNT の IIS が Apache の半数程度まで使われている時代ですから、CGIスクリプトも汎用性を考えて欲しいところです。
#もっとも IIS なら、ASP を使えということかもしれません。


TAKU takuyaf@yellow.plala.or.jp 1999/02/19 15:29

レスキューのMiniBBSの話題がちょっと前にあったので、いろいろな
バージョンで試してみました。

現在ダウンロード可能で、動作確認出来たもの(2月18日現在)
version 7.53
version 7.93
version 8.8
version 8.83t
version 8.92
version 9.06
(他、現在はダウンロード出来ませんが 8.82s、9.05も動きました)

簡易BBSのバージョン9.0*までは、ほとんど動きますね。
ただし、version 8.83tの画像アップロード機能は正常に動作しませんけど。
(画像が壊れるようです)
バージョン10.**は、「$list = `ls $ls`;」で躓くみたいですね。
#これってディレクトリのファイル一覧を取得するUnixコマンドですよね。
Type2は、パスワード登録−投稿までは動きますが、更新すると
「データが壊れています」のようなエラーがでて 使い物にならないです。(TT)
どのバージョンもType2は駄目みたいですね。

動かせないコマンドは、それなりのものを 代用させるか削除すれば
使えそうですが、ちょっと大変ですね。


中田昭雄 nakata@st.rim.or.jp 1999/02/18 21:46

Wさん、
ダイヤルアップネットワーク(モデムは適当に)をインストールするのがいいと思います。
あるいは、LANのアダプタを適当にインストールするのでもいいと思いますが。
「既存の...」は具合が悪かったような気がします。


中田昭雄 nakata@st.rim.or.jp 1999/02/18 21:45

ZEROさん、
了解しました。


W washu@hiroba.net 1999/02/18 16:53

はじめまして。
ネットワークにつながっていないマシンで CGI/SSI のテストをしたく思っています。

非常に低レベルな質問で申し訳ないのですが、TCP/IPプロトコルのインストールというのは
どのようにやるのでしょうか。

ネットワークのプロパティで追加->プロトコル、Microsoft, TCP/IPを選択した後ドライバ
をインストールするウィンドウがでてきます。ここでどれを選択すればよいのでしょうか。
試しに既存のなんとかというのを試しましたがうまくいきません。
TCP/IPの設定に問題があるのでしょうか。IPアドレス、サブネットマスク以外にゲートウェイ
やDNSの設定をしなければならないのでしょうか。

OSは95、LAN card も Modem card もささっていません。


ぴゅあ pure@GalaxyCorp.com 1999/02/18 03:49

>ZEROさん
 ルータに関する情報、物の良し悪しなど色々伺えることを期待しています。
 現状ではNAT機能をソフト的に実現したものがないのかと探してみたりはしているのですが....

 ただ、ここを使ってというのも気が引けたりするので、私の掲示板か、ぴかさんの用意してく
ださっている別館を利用してもらっても良いです(ぴかさんのところの方がサーバは軽い筈で
す)。
 AN HTTPと関係なくはないといえば全く関係なくもないとは思うのですが。


ZERO zero@officezero.co.jp 1999/02/17 22:30

中田さん
>NTの100%の件、それは朗報です。
>ただ、v1.12 に変える前のバージョンは何でしょうか?

V1.11ですただ、本日見たら100%になっていました。
4,5日かもつようになりました。前よりかなりなる確率が少なくなっていることは確かです。
また前は、100%なってもマウスでクリックしても動くのが五分ぐらいかかっていたのですが
前回の1.11から返答が返ってくるのが数秒(2,3秒)になっていますのですぐにサービスの
停止から起動とできますのでかなりいいと思います。

>ダイヤルアップルータで、サーバのポートも変えれば複数出られるのでは?
ポートを変えられれば出られるのですが・・友人のMN128の設定を見るかぎり
そう言う設定がなさそうなんです・・
シスコなどちゃんとしたルータならいけるんですが・・・
もう少し調べてみます。


中田昭雄 nakata@st.rim.or.jp 1999/02/17 21:37

ZEROさん、
NTの100%の件、それは朗報です。

ただ、v1.12 に変える前のバージョンは何でしょうか?
v1.10/1.11 だとするとちょっとどこの変更かわかりません。
後々のために把握しておきたいところですが。。

ついでに、
ダイヤルアップルータで、サーバのポートも変えれば複数出られるのでは?


中田昭雄 nakata@st.rim.or.jp 1999/02/17 21:36

A2さん、
ZEROさんの話にある通りプライベートアドレスの 192.168.1.1 では外からアクセスはできません。
グローバルIPアドレス指定で NATを通せばできるはずですが、NECのCOMSTARZでそれができるのかどうかは私はわかりません。 COMSTARZ ROUTER の仕様がちょっとみつかりませんでしたし。
下の丸山さん宛ての返答も参考にしてください。


中田昭雄 nakata@st.rim.or.jp 1999/02/17 21:34

吉田さん、
またまた残念でした。
メールでお知らせいただいた共有違反の問題は、私も再現できました。
全部のキャッシュファイルを調べおわるまで各ディレクトリをオープンしたままになっているのが問題のようです。途中で中断するとそれがそのままになっているのが原因のようで、確かに落ちてしまうのかもしれません。
こうなると、対策できますと約束できなくなってしまいましたが、わかったところからかたづけていこうと思いますのでよろしく。


中田昭雄 nakata@st.rim.or.jp 1999/02/17 21:33

丸山さん、
ZEROさんの訂正にある通りで、できるかできないかという質問の答えは「できる」です。

このあたりは、MN128-SOHO-FAQ では、

>Q11-7.AutoNAT機能を使用して接続している時にローカルサーバを外部に公開したいのですが、できますか?
>
>【A】通常、端末型ダイヤルアップ接続で相手先に接続した場合、相手先からこちら側のサーバを利用することはできません。しかし、IPアドレス変換(NAT)テーブルを登録すると、相手先からこちら側のサーバへのアクセスが可能になります。IPアドレス変換(NAT)テーブルの登録は、[IP設定]画面の[オプション]で行います。

とあります。

設定例では、Q11-9の中で、

>例) 静的NAT-端末型-(複数台同時接続)
>ip nat 1 192.168.0.2/*/www ipcp
>ip nat 2 */*/* ipcp

というのがそれに相当するのではないかと思います。

また、YAMAHAのISDNのページの中に資料として、NATとIPマスカレードという解説があります。

一通り機能を理解されたら、"ダイヤルアップ","ルータ","NAT","サーバ" などをキーワードにインターネットの中を検索してみるとよいかもしれません。ぴったりの実例があるかもしれませんから。


ZERO zero@officezero.co.jp 1999/02/17 16:31

中田さん
NTのCPU100%の件ですが、3日以内になっていたのが1.12バージョンではなりません。
公開日から4日経っても100%になりません。
やはりファイルの書き込みなどそういう事を変えていてだいたのでしょうか?

本当にありがとうございます。
報告までに


ZERO zero@officezero.co.jp 1999/02/17 16:27

>ぴゅあさん

>やっぱりルータでも関連付けは不可能なのですか。

すみません、ちょっと調べていたのですが、ダイヤルアップルータでもNATの設定がありました。
NATの設定で、192.168.0.2は表にたつよとか設定をしてあげればだせますね。
嘘つきでしたすみません(^_^;

ただ、全員はでれません。1台だけですね。


ぴゅあ pure@GalaxyCorp.com 1999/02/17 16:04

>ろいちゃん
 Win95/98ではUNIXでいうところのパーミッションが存在しないので全ての人にかかります。
 当然メンテナンスを行う場合はRead Onlyを解除してやる必要があります。
 あまりないこととは思いますが念のため他人からの書き換えを防ぐという意味です。
 Win95/98を使う限りはrは全て有効,wはプロパティシートで設定(Read Only),xは存在し
ないと言うことになります。xに付いてはAN HTTP Serverが勝手に処理してくれます。
 Win95/98ではrwxのうちwのみが存在すると考えれば良いでしょう。

 なおパーミッションに関しての説明はUNIXのことです。
 WinNTではこれに相当することが可能です。


ろいちゃん roychan@geocities.co.jp 1999/02/17 15:21

ぴゅあさん>
>AN HTTP Serverを使う限りはパーミッションは関係ありません(筈)。
>表に出すのであれば書き込みが目的以外のファイルはプロパティでRead Onlyにしておくのが
>良いかもしれませんが。

あのー、ウィンドウズのファイルのプロパティからRead Onlyにするということでしょうか?
もしそうだとしたら、そのばあい、そのアクセス権限は、自分・グループ・ユーザのうち
どの人に対してもかかってしまわないのでしょうか。
なんか、設定がUNIXに比べウィンドウズは、すごく雑な感じがするのですが、
また、xの設定は、ウィンドウズでは不可能ではないかと思うのですが、一体どうなって
いるのでしょう。
なんだか、少し混乱しています。よろしくお願いします。


ぴゅあ pure@GalaxyCorp.com 1999/02/17 14:57

>ろいちゃん
 AN HTTP Serverを使う限りはパーミッションは関係ありません(筈)。
 表に出すのであれば書き込みが目的以外のファイルはプロパティでRead Onlyにしておくのが
良いかもしれませんが。

 パーミッションに関して簡単に。
 直接実行するCGIソースコードファイル
  -rwx---r-x(705)または-rwxr-xr-x(755)
 実行するCGIソースコードファイルに取り込まれる(require)CGIソースコードファイルなど
 (上の705/755と同じでも良い)
  -rw----r--(604)または-rw-r--r--(644)
 書き込みが行われるデータファイル
  -rw----rw-(606)または-rw-rw-rw-(666)
 読み込みのみ行われるデータファイル
  -rw----r--(604)または-rw-r--r--(644)
といった感じです。

 -111222333(-rwxrwxrwx)と表したとして
 111 : 自分自身がメンテナンス(FTP転送ソフトで処理する)するための権限の設定
 222 : 同一サーバ内の他のメンバーのアクセス権限(可能なら---(0)とする)
 333 : ユーザがインタネ上よりアクセスする権限(自分でもインタネ上からは一般ユーザとなる)
という構成になります。

 なお、r,w,xは
 r : 読み出しを許可する
 w : 書き込みを許可する
 x : 実行を許可する
ということです。

>ZEROさん
 やっぱりルータでも関連付けは不可能なのですか。
 ルータの導入もいずれはと思って調べてみようかと思っていましたが。
 やはり今の環境(LAN+プロキシ/ファイアウォールサーバ)という構成が一番良いのでしょ
うか。ただ、今の自宅の環境(普通の方とは比較にならないくらい貧弱)ではもっとサーバを
強化する必要はありますが。


ろいちゃん roychan@geocities.co.jp 1999/02/17 13:46

今日、はじめてインストールしてみました。簡単なcgiが動かせるところまでは、何とも
なかったのですが、いくつかのファイルが必要なcgiを動かそうとすると、パーミッション
(755とかいうやつ)がそれぞれのファイルで違うのですが、どこからどのように手を
着ければよろしいのでしょうか。非常に、初心者の質問で申し訳ないのですが、よろしく
お願いします。また、実は、Apacheでも同じところでひっかかりました。何か、根本的に
理解がおかしいのでしょうか。


ZERO zero@officezero.co.jp 1999/02/17 09:52

どうもZEROです
ダイヤルアップルータの件が話題になっているようなので書かせて頂きます。

基本的にダイヤルアップルータで情報発信は無理ですね。
なぜかと言いますと、ルータが公開されたIPアドレスを一時的にもらってるからです。
内部につながったパソコンはプライベートIPアドレス(内部IPアドレス)のため、
違うセグメント(違う島、違う場所)が違うからです。
もちろんWEB発信もできないですが、ネットワークゲームでのホストも出来ません。
ただ、直接パソコンが出てない為に、nukeなどのコマンドはききません。
先程言ったように違うセグメントだからです。

ではこの辺で。


A2 b982364@cc.matsuyama-u.ac.jp 1999/02/17 00:09

NEC COMSTARZ ROUTERを使ってますが、ルータから
外に出られない・・・。何かいいアドバイスください。
192.168.1.1のまま、外部からアクセスできない・・・。


吉田 嘉津男 kazuo@core.cs.shinko-elec.co.jp 1999/02/16 23:04

中田さんこんにちは。

やっぱり、今回も死んじゃいます。(TT)
残念。とりあえず,ワトソンログは別途メールで送付します。

なかなか難しいんですね。ファイルアクセス関係は・・・
とりあえず、キャッシュ自動削除は無しで運用しています。

余裕のあるときに対応お願いします。m(__)m


丸山 maru-y@geocities.co.jp 1999/02/16 21:41

初めて投稿します。
私もANHTTPDを使用して自宅にて情報発信をしようと考えているのですが一つ疑問に感じたところがあったものでわかる方がおられたら教えてください。
ダイヤルアップルータを使用した場合にも、通常のPPP接続と同様に自宅のパソコンから
情報発信できるのでしょうか。
現在自宅のPCはPPPで使用していますが現在ダイヤルアップルータを使用してのLAN
環境にしようと計画中です。
そんなことは当たり前にできるとか、できないとかのレスを入れていただけると大変うれしいです。
ネットワーク初心者なものでぜひ教えてもらえればうれしいです。
みなさんよろしくお願いします。


中田昭雄 nakata@st.rim.or.jp 1999/02/16 21:09

辻さん、
最新バージョンでも問題はあります。

レスポンスで、Date: や Last-Modified:を返すときの日付が、たとえば
Date: Tuesday, 16-Feb-99 12:00:56 GMT
という書式なので、ブラウザが 16-Feb-00 を 1900 年と解釈するようだとキャッシュに影響が出ます。

わかってはいてそのままなのですが、3月までには
Date: Tue, 16 Feb 1999 12:00:56 GMT
という書式に直すつもりでいます。


tsuji@bd3.hnes.nec.co.jp 1999/02/16 18:02

はじめまして
AN HTTP Serverについての質問です。
最近、世の中では2000年問題が騒がれていますが、
AN HTTP Serverは、問題ないのでしょうか?


岡本圭介 ksk@pop17.odn.ne.jp 1999/02/15 22:55

> 岡本さん、
> Win32APIのうち、プロセス/スレッド制御やプロセス間通信、ファイルアクセスなどのAPIを
> 使うという意味なのか、
そのとおりです。言葉が足りなくてすいませんでした(^^;

> あるいは、ウィンドウ操作を標準入力経由でやってしまう、というも
> のなのか。。
これはこれで面白いかも…。でも、未熟なのでまだまだですね(^^;

# バージョン1.12ですが、Windows98+IE4.01Sp1では、すべて大丈夫でした。


中田昭雄 nakata@st.rim.or.jp 1999/02/15 21:05

岡本さん、
CGIではローカルテスト以外ではウィンドウアプリケーションは使えないと思うので、Win32APIを使ったCGIというのがちょっとよくわかりませんが、それだけに面白そうなので試してみたいです。

Win32APIのうち、プロセス/スレッド制御やプロセス間通信、ファイルアクセスなどのAPIを使うという意味なのか、あるいは、ウィンドウ操作を標準入力経由でやってしまう、というものなのか。。


岡本圭介 ksk@pop17.odn.ne.jp 1999/02/14 23:34

いつも、お世話になっています。
バージョン1.12今、落とさせていただいています。

ところで、CGIについてなのですが、Win32APIを使ったCGIを、
作っているのですが、試していただける方は、居られないでしょうか?
あと、すでに「Win32APIでのCGIは、任せとけ」な方、質問したいのですが。
どちらの方でも良いので、居られたらメールください。

ここのBBSの趣旨から外れてすみませんでした(^^;;


中田昭雄 nakata@st.rim.or.jp 1999/02/14 20:49

うさこさん、
CGI中でメールを送るのは、sendmail を使うものが多いようです。
sendmail は UNIXでの名前なので、Windowsでは Windows用のsendmail相当ソフトを入手してインストールする必要があります。
ここの その18 などのページ内を "sendmail" を検索してみてください。

IISで動く CGI は大体そのまま動くと思います。うまく動かないものがあったらどんなCGIかを教えてください。
ただし、凝った ISAPI や ASP は今のところ動きません。


うさこ saori@special-email.com 1999/02/14 18:02

何度もすみません。

IISで使うCGIのテストをAN HTTPDで行いたいのです。
どういう風に設定すれば、IISと同じ環境が作れるのでしょうか?
どなたか知っている方がいれば教えていただけませんか?
よろしくお願い致します。


うさこ saori@special-email.com 1999/02/14 16:02

続けてすみません・・・

CGIでメール送信するにはどうすれば良いのですか?
知っている方がいれば教えてください。
よろしくお願いします。


うさこ saori@special-email.com 1999/02/14 15:33

お返事遅くなってごめんなさい。

中田さん>
fly.exeが、見事に動きました。どうもありがとうございました。


中脇 mx55vb@mcn.ne.jp 1999/02/14 13:58

>大石さん

どんなアンケートをするのかよく分からないんですけど、この投稿ページみたいなメール送信
フォームだったらWeb裏技さんとこからメールデコードのスクリプトをもらってきてsendmail
のパスとPerlのパスと自分のメールアドレスを自分に合わせて設定してformタグのACTIONを
デコードスクリプトのURLにすることによってメールフォームはできます。

Webページ上で統計を取っていくアンケートだったらそういうフリーのスクリプトを探し出して
(自分で作って)自分のプロバイダに合わせて設定を書き換えて使う。ということになりますね。

フリーのスクリプトはhttp://www.big.or.jp/~atsushi/cgisearch.htmlなんかで探してみてはいかがですか??


大石 batten@osk3.3web.ne.jp 1999/02/14 12:38

ぴゅあさんアドバイスありがとうございます 
HPビルダーの3を使っています、
そのアンケートのページをどうしたらいいのかわかりません
3WEBのサーバにどうしたらいいのですか?
よかったら手順を教えて下さい。
http://www2.osk.3web.ne.jp/~batten/


ぴゅあ pure@GalaxyCorp.com 1999/02/13 12:12

>大石昭次さん
 HTML文書のフォームに関してとCGIです。
 Winならホームページビルダー3(2000は未確認)に簡単なサンプルがついていたりしますよ。


大石昭次 batten@osk3.3web.ne,jp 1999/02/13 11:55

パソコン暦3年生です、HPを開設して半年です
現在CGIでアンケートを取りたいのですが
何から始めたらいいかわかりません。
わかる方教えて下さい。
http://www2.osk.3web.ne.jp/~batten/


吉本 bass@lyra.vega.or.jp 1999/02/12 22:02

返事が遅くなってしまいました
>特にご希望がない限りカスタムにするつもりはありませんでしたが、どうします?
どっちかな?と言う興味でお聞きした程度なので今のままで十分です。はい>中田さん


中田昭雄 nakata@st.rim.or.jp 1999/02/12 21:24

toshiさん、ぴゅあさん、
情報ありがとうございます。
Microsoftについていくのは大変だ、ということですね。 MSの新しいソフトをインストールするのは慎重にならざるを得ません。
ヘルパーは苦肉の策だったわけですが、IE5でひっくりかえされてしまったようです。IE4と共存できるとのことなのでやってみます。


中田昭雄 nakata@st.rim.or.jp 1999/02/12 21:24

松村さん、
どうもありがとうございます。
自作のCGIが完成したら是非公開してください。


toshi s695320b@stcc.nagasaki-u.ac.jp 1999/02/12 16:23

さらに補足。

あくまでもCGIでリソースが減少していないように見えるということです。
その他の原因不明のリソース減少は起こっているようです。


toshi s695320b@stcc.nagasaki-u.ac.jp 1999/02/12 15:15

一応補足しておきます。

先ほどの環境はWin98+IE5(IE4を共存)+OE4です。
この環境にしたあとで、IE5をアンインストールしてIE4の環境に戻すと
ヘルパープロセスはオンにしても特に問題は発生しないようです。

# ちなみにOE5は日本語処理にバグが多いと以前から知っていたので、
# 私はインストールしたことは一度もないです。


ぴゅあ pure@GalaxyCorp.com 1999/02/12 13:39

 いちおう....

 私もトップページに入るだけでIEでもハングアップさせられてリブートを余儀なくさせられる
サイトに出会ってしまって(ネスケに対してバグを利用してハングアップさせるサイトもある)
IE5だったら大丈夫だよという何を根拠にしているか判らない言葉から一応β版であることを意
識しつつもアップデートしてみました。
 しかし、Outlook Express(今更使う必要もないんですけど)がOE4からの変換に問題がある
のかエラーが通知されてまともに使えないのでOE4に戻しました。その後、IE5もシステムを不
安定にさせていたので戻してしまいました。
 現在OE4は非常に重くなってしまいました。まあ、うちの環境レベルの人はまず居ないと思う
ので問題のない範囲なのでしょうが。IE4と共存するを選ぶことで元の環境に戻すことはできた
ものの一部のDLL等は更新されたままのように思われます。それでも元に戻してOE4がマトモに
動いてくれるまではかなり苦労してしまいました(忙しいときにするものではない....)。
 あと、Win98が完全にシャットダウンされないことが多くなってしまったことかな?
 確かにIE5にアップデートすることでかなり内部的に変更、修正?が掛かるようです。
 ただ、IE5だと良いのかというだけでどんどんアップデートする人も増えるのだろうな(ICQ99a
が未正式?に公開されたことによりインストールする人が急増してトラブルが多いと言うのも例
のひとつですが)ということで一応私の場合の参考事項として載せておきました。

 なお、Win98側ではAn HTTPd自身の情報収集用に入れてはありますが運転はしていないので
リソース問題に付いては確認できていません。
 しかし、Win98が全体的に重くなってしまった....(/_;)


taxi taxi@ryukyu.ne.jp 1999/02/12 13:31

中田さん

>中田昭雄 nakata@st.rim.or.jp 1999/02/10 21:14
>現在のところ、プロクシで通すのは HTTP, FTP, SMTP, POP3 だけですね。
>Proxy/キャッシュ機能に特化させたものを別プログラムに分けるということは考えていないでもないです。

>ちょっと約束はできませんが、プロクシ/キャッシュを強化した場合、
>HTTPサーバ機能をあわせて1プロセスというのはあまりよくないので。

うれしいです、unixでは有名なdelegate は、win版もありますがwin95での動作が
安定しなくて困っていたのでした。
別プログラムの方がすっきりするかなと。ぜひお願いします。


松村一登 kmatsum@tooyoo.l.u-tokyo.ac.jp 1999/02/12 13:05

今,自作の Perl のプログラムを CGI 化しようと悪戦苦闘しています。
AN HTTP は CGI を研究室のサーバにアップロードする前の試運転の
ためにと思ってダウンロードさせていただきましたが,たいへん重宝
しています。こういう良質のソフトを無料で使わせていただけること
に対して感謝の気持ちでいっぱいです。


toshi s695320b@stcc.nagasaki-u.ac.jp 1999/02/12 11:45

Win98にInternet Explorer 5.0 beta2(以下IE5.0b2)を導入してAN HTTPDを
使用した場合、ヘルパープロセスをオンにしておくとCGIがほぼ確実に誤動作するようです。
例えばAnother HTML-lintを使用した場合は、perlが落ちてエラーが頻発しました。
また、npc.cgiというカウンタのCGIを使用した場合は、画像を表示できずに
IE5.0b2が固まってしまいました。

仕方なくヘルパープロセスをオフにして上記のCGIを動かしながら
リソースメータを眺めていたのですが、Win98+IE5b2の場合はCGIプロセスの
終了後にきちんとシステムリソースが解放されているように見えます。
ごくまれにシステムリソースが解放されていないように見えることがありますが、
その場合でもIE5.0b2を終了するとリソースが完全に解放されているように見えます。
よって、リソース減少はWin98+IE4特有の症状のように思われます。

以上参考まで。

# IE5.0b2はフォーム入力にバグ(最終行でのカーソルキーの動作が変)
# があるようで、コメント入力に苦戦しました。最後で無駄に改行しておいて
# あとでそれを取り除くようにすれば入力しやすいようです。


OTA otam@cityfujisawa.ne.jp 1999/02/11 17:06

うまく動きました。

こんなことまで・・
お伺いするのを
少し躊躇したのですが
ありがとうございました。


中田昭雄 nakata@st.rim.or.jp 1999/02/11 15:00

OTAさん、

(1)簡単な方法
minibbs のバージョンによって違うかもしれませんが
$reload = './minibbs.cgi';
で大丈夫のはずです。
ただし、設置URL以外からの投稿をチェックしないように
$ref_axs = 0;
とする必要があります。

上記チェック以外では $reload は form action で使うだけなので、相対指定で大丈夫だと思います。
投稿チェックは HTTP_REFERER と $reload を比較するので http:// から始まるURLである必要があります。

(2)少し面倒な方法
もちろん、毎回IPアドレスを調べて $reload をセットしてもいいわけです。
たとえば、

$host = $ENV{'SERVER_NAME'};
($name, $aliases, $addrtype, $length, @addrs) = gethostbyname($host);
($a, $b, $c, $d) = unpack('C4', $addrs[0]);
$reload = "http://$a.$b.$c.$d/~otam/bbs/minibbs.cgi";

などで、その時のIPアドレスがはいると思います。
複数のインタフェースがあるときは $addrs[0] でなく $addrs[1] などがダイヤルアップのIPアドレスであることもあります。
こちらだと投稿チェックを 有効(1)にしても大丈夫ですが、gethostbyname でちょっと時間がかかると思います。


OTA otam@cityfujisawa.ne.jp 1999/02/11 10:03

またまた質問なんですが
CGIですが・・・いいでしょうか
どなたかお宜しく願い致します。

1.Anhttpd+minibbs(簡易掲示板)で使用OK

 minicgiは以下の設定です。
***************************
$title = '簡易BBS';
#◆このスクリプトをURLで設定 
#$reload = 'http://設置するURL/minibbs.cgi';
$reload = 'http://111.222.333.444/~otam/bbs/minibbs.cgi';
#◆画面の「終了」リンク先をURLで設定
#$modoru = 'http://ホームページなどのURL/';
$modoru = 'http://www.cityfujisawa.ne.jp/~otam/index.html';

注1)111.222.333.444はダイヤルアップ接続時に
  取得したIPアドレスです。
******************************

2.(Anhttpd+minibbs+PWS補完計画)で使用NG
             
  出来ること:掲示板の入力画面の表示と終了
  出来ないこと:掲示板の書き込みとマスターキー変更
  注2)PWS補完計画(フリーソフト)

minicgiは以下の設定です。
***************************
$title = '簡易BBS';
#◆このスクリプトをURLで設定 
#$reload = 'http://設置するURL/minibbs.cgi';
$reload = 'http://?.?.?.?/~otam/bbs/minibbs.cgi';
#◆画面の「終了」リンク先をURLで設定
#$modoru = 'http://ホームページなどのURL/';
$modoru = 'http://www.cityfujisawa.ne.jp/~otam/index.html';
***************************
この設定の設置するURL?.?.?.?をどのように設定したら良いか
分かりません
ためしに1)www.cityfujisawa.ne.jp/~otam/bbsminibbs.cgi';
     または
2)../
   などを設定してみましたが
いずれも1)、2)にとんでしまい111.222.333.444のアドレス
にはいってくれません。

注2)PWS補完計画(ver2.01)
   このソフトは、Windows95またはWindowsNT4.0で PWSなどの
   個人的なサーバを使用する時に面倒な IPアドレスの
   アナウンスを補完してくれるなフリーソフトです。
   ◆自動FTP機能
   PPP接続が完了してIPアドレスが割り当てられると 自動的に
   それを検知して IPなどを書き込んだHTMLファイルをプロバイダ
   のFTPサーバにPUTします。

どなたかよろしくお願いします。


中田昭雄 nakata@st.rim.or.jp 1999/02/11 08:07

Mickyさん、
ログフォーマットがコモンログフォーマットになっていないのは間違いです。早速直します。

が、吉本さんの言われるように現在のフォーマットで利用している人もいらっしゃるでしょうから、「標準」を year:hour にして、「カスタム1」を 現在の year hour にしようと思います。

今のところ httpd.log 以外は特にご希望がない限りカスタムにするつもりはありませんでしたが、どうします?


中田昭雄 nakata@st.rim.or.jp 1999/02/11 08:04

ぴゅあさん、
そうですね。現状ではWinGateなどを使うというのが正しい選択でしょう。


吉本 bass@lyra.vega.or.jp 1999/02/11 07:34

以前(と言ってもずいぶん前ですが。。)ここで質問させてもらった 吉本と言います
下で Mickyさんがログフォーマットについての話題を出しているので便乗して。。(^^
の前に。。Mickyさんへ
>([11/Feb/1999 00:37:09 +0900]であり[11/Feb/1999:00:37:09 +0900]ではない)
この件は、httpd.log の事ですよね?もしそうなら Analog ver 3.xで解決します
#ver 3.0 ではログ形式を任意に設定可能#とReadmeに書いています
DEFAULTLOGFORMAT (%S - - [%d/%M/%Y %h:%n:%j] "%j %r %j" %c %b)
で自信はないけどログ解析は出来ると思います。
後、[ua.log]と[referer.log]ですが。。これは、今のところ?
どうしてもぶつかってしまうと思います(違うかな?)なので
[ua.log]か[referer.log]のどちらかと、[httpd.log]で解析するのが良いと思います
#間違ってる事言ってたら指摘して下さい>皆さん

で、ここから僕の質問
AN-HTTPD のオプション -> ログに ログフォーマット 標準 カスタム
の実装予定(ですよね?)がありますがあれは[httpd.log]に対してだけする予定
なのでしょうか(何となく位置的に、そんな気がしたもので。。)
もうすでに話題になっていたらごめんなさい


Micky ohata@din,or.jp 1999/02/11 00:39

はじめまして、私もAnHTTPdを使わせてもらっています。

ところで、1つ疑問があるのですが、AnHTTPdが生成するアクセスLogですが、
デフォルトで西暦のあとにコロンではなく半角スペースが記録される
([11/Feb/1999 00:37:09 +0900]であり[11/Feb/1999:00:37:09 +0900]ではない)
のは特別な目的がある仕様なのでしょうか?
AnaLogなどで解析する際に置換しなければいけないのは面倒くさいので。


ぴゅあ pure@GalaxyCorp.com 1999/02/10 21:41

 以前何度かプロキシ/ファイアウォールサーバWinGateを使っていることを書きましたが、
An HTTPdのプロキシ機能とどう違うのか調べていないので判りませんが、WinGateを利用する
という手は駄目ですか?
 RealPlayerは気にしたことがないので違いはわかりませんがWinGateにRealAudioプロキシ
サーバが含まれています。
 現在、An HTTPd,WinGate,War-FTPdを稼動させています。


中田昭雄 nakata@st.rim.or.jp 1999/02/10 21:14

taxiさん、ピセスさん、
現在のところ、プロクシで通すのは HTTP, FTP, SMTP, POP3 だけですね。
Proxy/キャッシュ機能に特化させたものを別プログラムに分けるということは考えていないでもないです。

ちょっと約束はできませんが、プロクシ/キャッシュを強化した場合、HTTPサーバ機能をあわせて1プロセスというのはあまりよくないので。
また、ローカルテスト機能専用版を分けるということも考えています。
各プロセス(プログラム)をまとめるプログラムを作って総合サーバにするのと同時に各プログラム単体でも使用可能にするという構想です。
将来的には他のサーバプログラムも必要に応じて組み入れて、というところまでいくと、いつになることかわかりませんが。


中田昭雄 nakata@st.rim.or.jp 1999/02/10 21:11

gunji さん、
どうもありごとうございます。
「これから」という時に参考にさせていただきます。


taxi taxi@ryukyu.ne.jp 1999/02/10 15:50

ども、キャッシュ機能に引かれていろいろいじっているところです。

>というのも現在、LANでつないだコンピュータをインターネットに
>接続する際のプロクシとしてもこのAnhttpdを利用しているのですが、
>どうやってもRealPlayerが蹴られてしまいまして。

こちらでは、キャッシュだけでデスが使えています。
RealPlayerG2で、プロトコルをHTTPのみにすると使えました。
(ポートを使うものはだめなようです)

Proxy,キャッシュ機能の特化されたものを作るご予定は無いでしょうか。


TigerCat tigercat@mcn.ne.jp 1999/02/10 10:59

久貝さんこんにちわ。
賛否両論ではありますが、telnetもどきなら、
がまさん作のtelnet.cgiがあります。
Infoseekなどで「がま教」とか入れれば、
ホームページがヒットするのではないかと
思います。
ただし、実際にCGIを設置するとなれば、
他人にサーバのUNIXコマンドを開放できて
しまうため、大きなセキュリティホールです。
よっぽどサーバのセキュリティ保持ができて
いれば問題ないかも知れませんが・・・(^^;


ピセス picez@geocities.com 1999/02/10 10:03

中田さんへ
素早い対応、ありがとうございます(^^)

話は変わるのですが今後、Anhttpdのプロクシ機能を強化することは
考えてらっしゃいませんでしょうか?

というのも現在、LANでつないだコンピュータをインターネットに
接続する際のプロクシとしてもこのAnhttpdを利用しているのですが、
どうやってもRealPlayerが蹴られてしまいまして。

WWWサーバの機能とはあまり関係ないとは思いますが、
もし可能であればこちらの方の機能強化もよろしくお願いいたします。


gunji rsc@kyosai.or.jp 1999/02/10 00:23

ここの今までの過去ログを検索となれば、新しいスクリプトを
作らなければなりませんが、これからということであれば、

http://www.c-5.ne.jp/~hamachan/cgihtm/bdscrv40.htm
http://www.ikamera.com/keiji/title.cgi

の二つの掲示板が、過去ログ自動作成、過去ログも含めた検索機能
を持っています。
ご参考までに......。


中田昭雄 nakata@st.rim.or.jp 1999/02/09 21:28

ぴゅあさん、
ログ整理の件、よろしくお願いします。

また、別途 AltaVistaの検索機能を使えば比較的簡単に過去ログを含めて検索できるということをメールで教えてもらいました。
まずはそれを組み込もうかとも思っています。


中田昭雄 nakata@st.rim.or.jp 1999/02/09 21:27

久貝へ、
CGIのセキュリティについては、
インタラクティブページの作り方
The WWW Security FAQ
などや、そこからリンクされているページなどが参考になると思います。
とりあえず何がどう危険なのか把握してから判断してください。


中田昭雄 nakata@st.rim.or.jp 1999/02/09 21:27

ピセスさん、
了解しました。確認して直すようにします。


ぴゅあ pure@GalaxyCorp.com 1999/02/09 14:52

>久貝さん
 確かにそれは可能ですが絶対に形にするべきではありません。
 100%セキュリティを考えられたCGIを作ることができるなら構いませんが。

>中田さん
 何度も書いたままになっていますが、ここのログの整理のことは考えています。
 ただ、今はめちゃめちゃ忙しいし、確定申告も控えているので(今年は知人の補助まで頼まれ
てきてしまったりして)、それが終わってからゆっくりと作業に入らせていただきます。
 しかし、自分のサイトの更新も全くできていない....

 うちの掲示板に来られている方、ご迷惑をおかけして申し訳ありません。
 最近は23時以降でなく22時頃からもアクセスが難しくなっているような....
 昼間でも稀にサーバが動かないことがあるようです。
 対策を考えますので暫く我慢してください。
 また、22時頃から3時頃までの書きこみはなるべく控えてください。
 最悪全てのログが焼失してしまう可能性があります。既に先日消えています。
 ここなどは重くても動くんですけどねぇ....困ったものです。
 再度プロバイダにサーバ増強を強調しておくつもりです。


久貝正己 Masami.Kugai@nifty.ne.jp 1999/02/09 12:32

BZGさん、ありがとうございました。

プロバイダのほうでも、open関数を使うやり方で、うまくいきました。
sendmailの実行もできました。

感謝します。

あと、これは思いつきですが、フォームにUNIXコマンドを書いて「送信」を押すと、
そのコマンドがサーバで実行され、標準出力の結果が、ブラウザで表示されるという
cgiスクリプトが考えられそうです。

そんなのがあったら便利なんですが、どこかにあるんでしたら教えていただければ
うれしいのですが。

なんとなく自分でも作れそうなのですが、ちょっと時間がない。。^^;

PS:かすいさん、別のやりたかたのご教授ありがとうございました。


ピセス picez@geocities.com 1999/02/08 21:55

中田さんへ
Re:キャッシュOFFならいけますか?

実験してみましたがやはり

>550 pub: not a plain file.

という表示が出て、親ディレクトリへはあがれませんでした。
どうやらanhttpdのftpプロクシ共通の問題のようです・・・


中田昭雄 nakata@st.rim.or.jp 1999/02/08 21:37

道添さん、
ここのページも過去ログを含めてキーワード検索ができればいいですね。
どなたかがやってくださるといいのですが。。。


中田昭雄 nakata@st.rim.or.jp 1999/02/08 21:35

TigerCat さん、
そういうソフトをどこかで見たような気がしますが思い出せません。
確かにサーバを作ればいいのですが。
AN HTTPD もデバッグ中はリクエスト/レスポンスをエラーログに出したりしています。
それをオプションにすればいいわけですね。

とりあえずのPOSTについてだけ言えば、

(1)POST /path HTTP/1.1
(2)各種ヘッダ
(3)空行
(4)標準入力に渡す内容

という構成です。(4)はメールでいう本文(Content)部分ですね。
GET の場合の ? 以下の内容がはいります。

もっとも簡単なブラウザもどきは telnet だと思います。
telnet < input というスクリプトでかなりいけるのではないでしょうか?
PerlやJavaでも実例があったと思いますし、MFCを使うならそれ用のクラスがあったと思います。


中田昭雄 nakata@st.rim.or.jp 1999/02/08 21:35

いどっとさん、
面白いCGIができたら是非公開してください。


中田昭雄 nakata@st.rim.or.jp 1999/02/08 21:34

ピセスさん、
キャッシュOFFならいけますか?
まあ、自分で調べればいいのですが。。。


中田昭雄 nakata@st.rim.or.jp 1999/02/08 21:34

WinBee さん、
拝見しました。ここらでひとつ本でも書きませんか?


中田昭雄 nakata@st.rim.or.jp 1999/02/08 21:33

久貝へ、
そうですね。プロバイダの方ではシェルスクリプトは実行できないかもしれません。
自分の Linux でやるものと思っていました。

書き込みのダブりは消しました。


かすい kasui@flux.gr.jp 1999/02/08 16:11

TigerCatさん>

要は、HTTPプロトコルをお知りになりたいということでしょうか??

それなら、RFC2068をお探しになれば、HTTP/1.1が規定された文書が
手に入りますが……。


道添 透 obira@ce.mbn.or.jp 1999/02/08 13:59

はじめまして 道添@小平町役場です。

田中さんのANHTTPD使用させていただいております。
実は、LANでつながったほかのPCからANHTTPDにアクセスするとルータがダイヤルアップしてしまい、非常に困っておりましたがこのページにその解決方法として適当なものがあったので一安心しております。(まだテストはしてませんが…^_^;
(モデムかインストールされているPCからのアクセスのときにダイヤルアップするようです。)

これを探すのにすべてのページを眺めてしまい、大変な時間ロスとなってしまいました。(まる2日位)

これからも参考とさせていただきますのでどうぞよろしくお願い致します。

ちなみに使用したきっかけは、公開しているホームページを庁内LANで職員に見せているのですが、アクセスカウンタが動かないと注文がついたためです。(しょーもない理由だなぁ〜)


TigerCat tigercat@mcn.ne.jp 1999/02/08 12:13

したの書込みですが・・・
そっか、自分でサーバプログラムを作ればいいだけですね。(;_;)
なんと、おろかな質問だったのでしょう。(i_i)
しかし、「めんどくさい」という更に愚かな発言をしてしまうと、
何かいい別手段を教えてくれる方が現れるのでしょうか・・・
パケットをモニタする手段とか・・・?


TigerCat tigercat@mcn.ne.jp 1999/02/08 12:02

こんにちわ。本当にいつもお世話になっております。
いつも妙な質問ばかりで大変恐縮なのですが、今回もまた
わけのわからない質問です。m(_ _)m
とうとう私も、ブラウザもどきのプログラムを書くハメに
なり、さっぱりピッパリわかりもしないのに、とりあえず
動かさねばなりません。
そこで既存のブラウザやサーバがどのようにソケット通信
をやりとりしているのか、知りたくなりました。
この通信のやりとりを「ハック」しちゃう方法ってある
んでしょうか。
要は、ネスケでURLをhttp://www.st.rim.or.jp/~nakata/
と打った瞬間、サーバの80番に文字列を送ってるはずですが
それをどうにかして見たいんです(^^;;;;;
ひとまずの目標は、サーバのポート80番をたたいて、
フォーム内容をPOSTしてしまう部分がわかりません。
引数与えるGETでなくて、直接POSTを発行したいわけなんです。
(だからわざわざブラウザもどきを作るハメになりました。)
う〜、やはり意味不明でしょうか。


久貝正己 Masami.Kugai@nifty.ne.jp 1999/02/08 11:58

多重の書きこみで掲示板を汚してしまって
もうしわけない。<(__)>


いどっと k5-tada@eva.hi-ho.ne.jp 1999/02/08 09:15

お答えありがとうございました。
1.12楽しみにしています。

CGIの面白い使い方?
私は、自宅のパソコンで、Anhttpを利用して、CGIで遊んでいます。
面白い使い方として、世の中に色々ある、画像管理ソフトには不満が多かったので
CGIを利用して、画像を管理するプログラムを作って遊んでいます。
VBとかCでプログラムを書けないので、そんなことしています。
CGIはソースが多く提供されているので、いろいろ応用できて楽しいです。

つまらないことを書きましたが、中田さん、まだまだがんばってください!


ピセス picez@geocities.com 1999/02/08 08:22

はじめまして。
久しぶりにanhttpdを入れてみたんですが、ずいぶん使いやすくなりましたね(^^)

ところでftpプロクシについて問題が出ていまして、
キャッシュ機能をONにしてftpに入った際、親ディレクトリへあがれないのです。

どうやら、<A HREF="..">タグの最後にスラッシュが入ってないのが
原因なのではないかと思うのですが・・・

是非次期バージョンでの改善をお願いいたします。


BZG makorin@apionet.or.jp 1999/02/08 07:58

どもです。

中田さん>
 タグの修正、ありがとうございます<(_ _)>

久貝さん>
 >上の方法はだめでした。Serverエラーとなってしまった。
 はい。私のところでもエラーになります(^^;
 LSの出力が大量になると、処理できないようですね。
 ただし、open 関数を使用するときちんと出来てます。

では


かすい kasui@flux.gr.jp 1999/02/08 04:42

WinBeeさん>

拝見させていただきました。とてもわかりやすいですし、PDFだから
HTMLなんかより、断然きれいですね。(^^)

とはいえ、やっぱりPDFだから印刷してから見た方が良いかなぁ。
いや、それは、うちが15インチと画面が狭いのもあるのですが。(^^;;


かすい kasui@flux.gr.jp 1999/02/08 04:23

(lsや単純なコマンドに関していえば、)わざわざ外部コマンドを呼ばなく
ても、サブルーチンをこしらえておいて呼び出したりすれば事足りると思い
ますが……。(^^;;

ディレクトリの一覧だけなら、ディレクトリ系の関数で出来ますし、それに
詳細情報も必要なら、ファイル数が多いと重くはなりますけど、lstat()
なんかを使えば良いですし。

下のサブルーチンは、以前、duもどきを作った時のものです。
「&dir($path);」などと呼び出せば、ディレクトリを配列で返してくれます。

sub dir{ 
local($_)= shift;
local(@dir);
if (-d $_){
if(opendir(DIR, $_)){
@dir = readdir(DIR);
closedir(DIR);
}
}else{
@dir= ($_);
}
@dir;
}
ちなみに、その duもどきは、http://village.infoweb.ne.jp/~kasui/cgi/du.pl?srs-x
に置いてありますが、動作デモは公開していません。

設定は、UNIXサーバで実行する場合は、1行目の perlの正しい場所と、
3行目の「$pwnam= '';」にユーザ名を入れて下さい。ただ、最初は
Infowebに特化して作っていたので、Infowebの場合は無変更で動きます。

それから、AN-HTTPD(およびWindows系サーバ)の場合も無変更で構いま
せんが、AUTOEXEC.BATに、1行、「SET OS=WIN」と追加して再起動して
ください。これは「SET OS=WIN95」とか、WINで始まれば何でも良いです。
(それか、13行目を「$opt_dos= 1;」にしてください。)

あと、この du.plに関しては、速度と安全性は保証できませんのであしからず。
特に公開サーバに置かれる場合はご注意下さい。安全性というのは、動作の
問題よりも、不用意にサーバで動かすと「誰でもディレクトリを覗くことが
できるようになる」という問題およびそれに起因する問題に関してです。


WinBee mutoh@cyberoz.net 1999/02/08 03:23

ご無沙汰しております、以前WindowsでCGIのHPを上げていたものです
かなりの間休んでおりましたが、新しいガイドブックを作成しました
初心者向けの内容、PDFファイル約200k、
ダウンロード版のみの公開ですが諸先輩方の感想などいただけると幸いです
http://www.cyberoz.net/city/winbee/index.htm

これからも宜しくお願いします


久貝正己 Masami.Kugai@nifty.ne.jp 1999/02/07 23:46

中田君、

> test.bat は DOS/Windows のバッチファイルですから、UNIXでは動くはずはあ
> りません。

それはわかっているのですが、test.batの起動と同じように、
htmlファイルを書いてみたら、lsのファイルが開くだけでした。^^;
当然の結果でしたが。。


>
> UNIX では シェルスクリプトがこれに相当するでしょう。
> CGIで動くような拡張子をつけて実行権をつければ動きます。
>
> #!/bin/sh
> echo Content-type: text/plain
> echo
> pwd
> ls -l

この方法を試してみましたが、うまくいきませんでした。おそらく
プロバイダ側の制限にひっかかっているのでしょう。あるいは、sh
の場所が違うのかもしれません。

> コマンドの実行&表示は
>  $ls = `ls /usr/bin`;  #実行
>  print $ls;       #表示
>  でも可能ですが、使うコマンドによってはとても長い出力になりますので
>  open 関数とパイプを使ったほうがサーバに優しいようです(^^;
>
> では

BZGさん、上の方法はだめでした。Serverエラーとなってしまった。

open関数を使う方法はためしていません。

うまくいかないのは、プロバイダの制限かもしれません。

とりあえず、教えてもらった方法の全部を、自分のLinuxサーバで
試してみようと思います。

どうもありがとうございました。


中田昭雄 nakata@st.rim.or.jp 1999/02/07 20:33

fly のサンプル(cgi-perl-example.pl)を紹介の意味も含めて Windows用に書き直したものを書いておきます。
とりあえず動くためだけの変更しかしていません。
-----------------------------------------------------------------
#!/usr/bin/perl

print "Content-type: image/gif\n\n";

$flyprog = "/myHttpd/fly/fly";
$infile = "/myHttpd/fly/tmp_fly.$$";
$outfile = "/myHttpd/fly/tmp_out.$$";

open(FLY,">$infile");
print FLY "new\n";
print FLY "size 256,256\n";
print FLY "fill 1,1,255,255,255\n";
print FLY "arc 128,128,180,180,0,360,0,0,0\n";
print FLY "fill 128,128,255,255,0\n";
print FLY "arc 128,128,120,120,0,180,0,0,0\n";
print FLY "arc 96,96,10,10,0,360,0,0,0\n";
print FLY "arc 160,96,10,10,0,360,0,0,0\n";
print FLY "fill 96,96,0,0,0\n";
print FLY "fill 160,96,0,0,0\n";
print FLY "string 0,0,0,10,240,giant,Hello, World!\n";
print FLY "string 0,0,0,100,10,medium,Don't worry, be Happy!\n";
close(FLY);

`$flyprog -q -i $infile -o $outfile`;

open(FOO, "$outfile");
binmode(FOO);
binmode(STDOUT);
read(FOO, $output, 2048);
print "$output";
close(FOO);

unlink($infile);
unlink($outfile);

exit(0);
-----------------------------------------------------------------


中田昭雄 nakata@st.rim.or.jp 1999/02/07 20:32

ぴゅあさん、
Win98でAN HTTPD のCGI/SSIのリソース減少はヘルパープロセスをオンにしないと確実に起こります。
その他のリソース減少についてはわかりませんが、Win98の問題というのもあるらしいですね。


ぴゅあ pure@GalaxyCorp.com 1999/02/07 19:35

>うさこさん
 あ それでもflyを使わなければならないほど複雑なことをしなければならないものなのかな?
 flyは名前は知っていますけど、現物は知らないので....
 ふと、単純にGIFファイルを並べたのでは?とか思ったり....
 確かに先のサンプルソースでは内部でGIFファイルを合成したりしているから何か意味がある
のだとは思いますが。


ぴゅあ pure@GalaxyCorp.com 1999/02/07 19:31

>うさこさん
 ちょっと変則的?な方法ですけど、GIFを処理するサンプルがありますが見てみますか?
 flyを使わないものです。
 ソースはものすごく簡単なので理解にはさほど時間は掛からないでしょう。ただ、私がざっと
見た限りかなり汚いソースなので、少し読みづらいとは思います(これでもIBMの製品サンプル)。
 ざっと見た限りではWinでも動くはずと思います。

 パブリックカウンタに反映したい場合はGIFファイルの加工を行う必要がありますが、Perlで
も簡単にプログラムを書けるでしょう(たぶん)。バイナリファイルの扱いはread()/write()
関数で良いのかな?試したことがない。(^^ゞ
 たぶんそんなに難しい作業は必要ないと思います(パブリックカウンタに添付されているGIF
ファイルの情報が色々入っていなければ)。
 参考までにGIFファイルの解説したサイトを紹介しておきます。たまたま、見かけただけで読
んではいませんが。(^^ゞ

 GIF Info

 ファイル構造だけがわかれば良いんですけど、わかるかな?
 サンプルソースを見て使われているGIFファイルと形が同じなら簡単に対応できると思うので
すが。

 もし、サンプルが必要ならご連絡ください。

>中田さん
 先日思いきってメイン開発環境をWin98に変えてみたんですけど....
 AN HTTPは資料作りのためにインストールしましたけど立ち上げてないので当然デーモンとし
てWin起動時に動いているわけないですよね(NTでもサービスとして登録していなければ)
 なんか、普通に使っていてもリソースが食われて行くような感じがあります。取り敢えず、い
つもお世話になっている曽田さんのところのMemViewで様子を見ていますけど。Win98での
リソース減少はWin98自身のもんだいということも?
 だぶん、運転されている方は長時間かなりの頻度で処理される状態にあるのでしょうから、通
常のブラウジングに比べると減少が大きく見えるのかも?という気もしてきてみていたり....

 それから、話は外れますけど、パブリックカウンタの内容を確認してみようと思ってアーカイバ
のDLLを入れようと思ったらNTと同様にSYSTEM32フォルダが追加されていますよね?<Win98
殆ど空っぽですけど。これはNTと同様に16/32ビットDLLに合わせて入れる場所を変えるんでし
ょうか?Win98の情報は殆ど持っていないので....

 めちゃめちゃ話は外れますけど、トップページのカウンタが666666だと思ったら668666
でした(爆)。そういうのは、ここでは流行っていませんね。(^^ゞ
 でも、その後数日しか経っていないのに20000アクセスを超えている。すごいもんです。

 くだらない話にスペースとってごめんなさい。


中脇 nakawaki@wcsnet.or.jp 1999/02/07 18:08

>うさこさん
http://www2.meshnet.or.jp/~nir/npc/にflyを使うんじゃなくC言語の画像カウンタがありますよ。こんなの

自分でコンパイルしなくてもWin用にコンパイルしたバイナリがあるので試してみてはいかがですか??

それとプロバがコンパイルを許していない場合でも多種のUNIX向けのバイナリもあるのでプロバのウェブページにも使えます。(サンプルのページがそうです)
Cなので動作速度も速いです。いいですよ、これは。


中田昭雄 nakata@st.rim.or.jp 1999/02/07 15:59

うさこさん、
Web裏技のスクリプトは UNIX用ですからおそらくそのままではだめでしょう。
>中田昭雄 nakata@st.rim.or.jp 1999/01/31 19:59
にも書いた通り、Windowsで画像データを扱うときは、入出力をバイナリモードにしないとうまくいきません。


中田昭雄 nakata@st.rim.or.jp 1999/02/07 15:58

久貝へ、補足。
test.bat は DOS/Windows のバッチファイルですから、UNIXでは動くはずはありません。
UNIX では シェルスクリプトがこれに相当するでしょう。
CGIで動くような拡張子をつけて実行権をつければ動きます。

#!/bin/sh
echo Content-type: text/plain
echo
pwd
ls -l

とか。


うさこ saorut@geocities.co.jp 1999/02/07 15:05

こんにちわ。
またまた、解からない事がありましたので、質問させていただきます。
web裏技さん
の、パブリックカウンタを勉強がてらに動かしてみようと
しましたが、どうしても、画像が表示されないんです。
カウントはされているみたいなんですけど・・・・。
もちろん、fly.exeは入れてあります。
winでは、動作しないんでしょうか・・・?
どなたか分かる方いらっしゃったら、よろしくお願いします。
くだらない質問かもしれませんけど・・・。お願いします。


中田昭雄 nakata@st.rim.or.jp 1999/02/07 07:34

ここのページはタグが中途半端に有効なので、タグを表示する場合、できれば &lt; を使ってください。
少なくとも、<A HREF="...">, </A>, <PRE>, </PRE> は有効です。
BZGさんの TITLE, PREタグ は表示するように直しました。

CGIの一般的な話は、ここでやってもらってももちろんかまいませんが、CGIメーリングリストというのもあります。UNIX + Perl の話が多いようです。
また、ぴゅあさんが、 http://www3.tky.3web.ne.jp/~takasuka/pure/PeacefulPark/BBS/bbs.html でもどうぞとおっしゃってくださっていますので、 こちらもご利用ください。


BZG makorin@apionet.or.jp 1999/02/07 02:40

うにゃ。TITLEタグとPREタグが消えちゃいました(T_T)
でも一応使えます(^^;


BZG makorin@apionet.or.jp 1999/02/07 02:36

こんばんわです。

久貝正己さん>
 >perl で書いたCGIで、サーバ(UNIX) のコマンドを(例えば 'ls' )実行し、
 >その結果の標準出力をブラウザで見るには
 こんなのはどうでしょう。

=== ls.cgi ===
#!/usr/local/bin/perl  #<−もちろん、変えてくださいね

print <<'HTML_END';
Content-type: text/html

<HTML>
<HEAD>
<TITLE>LS</TITLE>
</HEAD>
<BODY>
<PRE>
HTML_END

#以下、コマンドの実行&表示
open(COMM, "ls /usr/bin |");  #<−見たいパスをどうぞ
while (<COMM>) { print; }
close(COMM);
#ここまで

print <<'HTML_END';
</PRE>
</BODY>
</HTML>
HTML_END

exit;
=== ls.cgi 終わり ===

 コマンドの実行&表示は
 $ls = `ls /usr/bin`;  #実行
 print $ls;       #表示
 でも可能ですが、使うコマンドによってはとても長い出力になりますので
 open 関数とパイプを使ったほうがサーバに優しいようです(^^;

では


久貝正己 Masami.Kugai@nifty.ne.jp 1999/02/06 23:09

中田君、久貝です。

いよいよLinuxもインストールでき、CGIもいろいろやっています。

ちょっと教えてほしいのですが、perl で書いたCGIで、サーバ(UNIX)
のコマンドを(例えば 'ls' )実行し、その結果の標準出力をブラウザで見る
にはどうしたらいいのでしょうか?

perlの本があれば調べれてわかるかもしれませんが、とりあえず聞くことにしま
した。

httpdのダウンロードファイルに、
cgisample.html があり、test.bat の実行例がありましたが、それはサーバが
Windowsだからうまくいくようですね。サーバがUNIXの場合、UNIXのプログラムを
実行するにはどうしたらいいのでしょうか?

CGIの質問で恐縮ですが。。

お世話になります。<(_ _)>


中田昭雄 nakata@st.rim.or.jp 1999/02/06 20:14

えむけいさん、
AN HTTPD では、WinNT と Win95/98 での標準入力の扱いが違うのでありうる話ですね。
調べてみます。
標準入力を空とみなすと強制終了が必要になりますので、そうなってしまっているのかもしれません。


中田昭雄 nakata@st.rim.or.jp 1999/02/06 20:14

toshi さん、
確かに両方ないのが普通なのだと思います。

Pragma: no-cache は出したければCGIで返すようにするのがいいのでしょうね。
Last-Modified で現在時刻を返すのは、確か JavaScript で LastModified が欲しい、という要望に応えたものでした。

両方ともオプションではずせるようにしようと思います。


えむけい VYV03354@nifty.ne.jp 1999/02/06 19:36

 WindowsNT4.0+SP4+IE5βの環境ですが、標準入力から何か読み込むCGIを走らせると「Begin Waiting for process to finish...」とhttpdのタイトルバーやツールチップに出たきり戻ってこなくなります。タスクマネージャでPerl.exeを強制終了しなくてはなりませんでした。
--------------------------------------
print "Content-Type: text/plain\n\n";
print "QUERY_STRING=$QUERY_STRING\n";
while (<>) {
print;
}
--------------------------------------
のような単純なスクリプトでもだめです。まったく同じスクリプトがWindows98+IE5βでは何の問題もなく動作します。


toshi s695320b@stcc.nagasaki-u.ac.jp 1999/02/06 17:04

AN HTTPDでは、CGIのときは勝手に「Pragma: no-cache」を
付けてしまう(?)ためキャッシュさせることができないので
例えばAnother HTML-lintを使用する際に不便なのですが、
これを付かないようにすることはできないのでしょうか?
AN HTTPDはCGIのときにLast-Modifiedを付けるので、
Pragma: no-cacheはなくても特に問題ないと思うのですが。


中田昭雄 nakata@st.rim.or.jp 1999/02/06 17:02

お知らせ
次のバージョン(v1.12)は 2月14日頃になりそうです。
組み入れる主な項目は、以下の3つの予定です。
(1)バーチャルホスト対応
(2)キャッシュの削除法の変更
(3)キャッシュの302の扱いまわりの改善


中田昭雄 nakata@st.rim.or.jp 1999/02/06 17:01

naruko さん、
ブラウザを「オフライン」にするとテストはできません。
ブラウザは「オンライン」にしておく必要があります。
「オフラインで単体テスト」は、ダイヤルアップ接続しないという意味のオフラインです。

errorcode=32, Broken pipe は、その前におかしな動きをしたCGIがあると出るかもしれません。
Windowsを再起動しても出るかどうか確認してみてください。
応答のなかったCGIがあってその後出始めるとかいうことはないでしょうか?


naruko naruko@aay.mtci.ne.jp 1999/02/06 15:23

はじめまして。

「httpd」DLして早速設定してある程度形になってきたなぁって思ったのですが
オフラインで単体テスト可能とのことですがおいらのPCは何故かオンライン接続しないと
うまく行きません(T-T)

さらに
perl C:\www\naruko\public_html\tel\chatkingden.cgi ", errorcode =32, Broken pipe
となることがしばしば・・・
なんか設定ミスしてるようなのですが理由もわからず困ってます(^^;;;

どうかよいお知恵をよろしくお願いしますm(_ _ )m


yamada yamada_izumi@msn.com 1999/02/06 08:28

ここです

などといってテストをお願いしましたら
アクセスされる方が大勢いらして
うれしいやら驚きやらです(*_*)(@_@)
OKでしたか?
中田さんのHTTPdますます快調になって
ゆきますね・・・
私事ですみませんでした。


中田昭雄 nakata@st.rim.or.jp 1999/02/05 20:56

えーてぃーさん、
ブラウザからリクエストを出す時点でのエラーのように思いますが、ちょっとわかりません。


中田昭雄 nakata@st.rim.or.jp 1999/02/05 20:56

いどっとさん、
申し訳ない、お答えが抜けてしまいました。

現バージョンでは、検出したホスト(IPアドレス)にかかわらず、すべてのIPアドレスで HTTPサービスをおこないます。
許可するIPアドレスは指定できません。

次のバージョンでバーチャルホストをサポートする予定ですので、そうなれば指定可能になります。


ぴか hikaru@msf.biglobe.ne.jp 1999/02/05 15:50

中田さん、お世話になります。

ver1.11になってからWin98環境下でリソースの減少もなく快調に動作しています。

現在、ノートパソコンに Win98+ANHTTPD
デスクトップパソコンに Win95+ANHTTPD or Linux+Apache といった環境で
CGIプログラミングを楽しんでいます。

「ANHTTPDがなければ、CGIプログラミングなど出来なかっただろうなぁ」
「ANHTTPDはこれからも手放せない」
と、いうのが実感です。

サポート・バージョンアップなど、大変だとは思いますが
お体に気を付け、頑張って下さい。

PS.お返事は不要です (^^)


吉田 嘉津男 kazuo@core.cs.shinko-elec.co.jp 1999/02/05 12:34

中田さん>
 キャッシュについては、何か糸口が見えたようですね。
 お忙しいと思いますが、よろしくお願いします。 

ぴゅあさん>
 どうもです。サーバについていろいろ相談させてもらってありがとうございます。
 いまだ解決に至っていませんが・・・。でも大変助かります。
 今後もよろしくお願いします。


ぴゅあ pure@GalaxyCorp.com 1999/02/05 11:57

>鶴田博美さん
 ほんとにちょっとしたことなんですけど
 Perlのソースコードの1行目にある'#!'という書き方は特別な意味があるんです
 PerlのソースコードだとPerlを使ってねと伝えるという意味が
 その他のコメントの部分は'#'だけでかまいません
 別に間違いではないですけど
 ちょっと知ってればという程度のレスでしたm(__)m

 CGIに関して私の掲示板をお貸ししますといってから、かなりのアクセスが増えているようで
す。実際に相談にきてくださったのは吉田さんだけですが。
 でもお力になれているのかどうか....(^ー^;)
 うちの掲示板重くて申し訳ありません。プロバイダのCGIサーバがあまりに非力というのか
何処かで重いCGIが動いているのか....
 今のところ23時から2時,3時頃まではまずCGIが実行できないのでご了承ください。一番
利用される時間なんですけどね。来月中には増強されるということではありますが。
 入れないからなのか覗いているだけなのか、質問が多いようなら(質問ばかりだと私も対処で
きなくなるので代わりに答えてくれる方もいれば。私では解らないことも当然ありますし)ジオ
にもホームページを持っているので取り敢えずそちらに掲示板を作るかレンタルして凌ぐかも考
えたりはしますが。
 アクセスできない方、ごめんなさい。
 私のサイトは特に公開もしていないので、たぶんここから来られたのだろうということで書か
せて頂きました。


えーてぃー akihiko@sainet.or.jp 1999/02/05 01:03

はじめましてー
httpdはCGIのテストなんかでよくつかわせていただいてます。
ただ最近きになることが・・・・
ある日突然いつものようにテストしようとおもってローカルサーバに
アクセスしたら「ブラウザ エラー ブラウザが不正なリクエストを送信しました」ってでてつかえないんですよ
なんにも設定変更してないんすけどね・・
誰か原因わかるかたおねがいします(^^;


鶴田博美 fwik7688@mb.infoweb.nejp 1999/02/04 21:34

田中さん、ぴゅあさんレスどうもありがとう御座いました。お礼を書くのに遅れてしまいました。結論としては、flock()の先頭行に#!をつけてコメントとしてしまえばとりあえず他の部分に関してはテストも出来るそうなので実行してみます。また疑問などあったときには書き込みしますので、そのときはまたお付き合いしてください。
ps
ここは本当に勉強になるところですね。レスも早いので、レスに追いついていけませんです(汗)。
では、失礼します。


ぴゅあ pure@GalaxyCorp.com 1999/02/04 09:13

 ごめんなさい
 これらはマイクロソフトのダウンロードページで入手できます。


ぴゅあ pure@GalaxyCorp.com 1999/02/04 09:04

 An HTTPdとは直接は関係ないことですけど....

 Win95のダイヤルアップネットワークがアップデートされています。
 暫く覗いていなかったのでご存知の方も多いのかと思いますが。
 かなりのアップデートが行われているようです。
 不具合を感じている方はアップデートしてみるのも良いかもしれません。
 また、TCP/IPなどに関してもアップデートが掛かっているようなのでダイヤルアップ接続を行
っていない方にも有効であるかもしれません。
 ただし、当然新たなバグもあり得るわけで、万が一問題が発生した場合は再インストールによ
り元に戻す覚悟をした上で行った方がいいと思います。
 また、ダイヤルアップネットワークのプロパティを確認しておく必要があります。項目が増え
ています。
 私のところではネットワークへの接続に異常に時間が掛かっているようです。また、アップデート
時に全く関係ないと思われる壁紙の設定が変更されました。

 もう一つ、これはもっと前なのでしょうがIME98にSR1が出ています。IME95/97からIME98に
変更すると正常に動作しないソフトがありました(対応策は見つけられましたが)。残念ながら
SR1でそれが解決されているわけではなく実質的には特に変わりがないようです(というか通知
されている問題が出ている方向けでしかないようですが)。
 Win98の方はWindows Updateにて。

 直接的には関係ない内容でしたが、もしかするとAn HTTPd絡みで解決されるものもあるので
はないかということで記録させていただきました。


yamada yamada_izumi@msn.com 1999/02/03 21:54

中田さあん(^_^)/

ごめんなさい(^_^;)

すみませんでした<(_ _)>


中田昭雄 nakata@st.rim.or.jp 1999/02/03 21:52

yamadaさん、
一分違いでしたね。下のリンクもOKになっています。


yamada yamada_izumi@msn.com 1999/02/03 21:48

ごめんなさい_(._.)_
httpが抜けちゃって・・・
も一度インプットさせてください。

ここです

今度はエラーにはならなかったでしょう(^_^)v


中田昭雄 nakata@st.rim.or.jp 1999/02/03 21:47

yamadaさん、
このページに書いていただいたリンクに http:// が抜けていましたので補っておきました。
とりあえず。


中田昭雄 nakata@st.rim.or.jp 1999/02/03 21:45

ZEROさん、
それはよかったです。
念のため、Dr.Watsonのログは送っていただけますか?
何がどこで落ちたのか知っておきたいので。


中田昭雄 nakata@st.rim.or.jp 1999/02/03 21:45

吉田さん、
残念。やっぱり方式を変えないといけないみたいですね。

V1.11 では、キャッシュを削除する前に全部数え上げてから時刻順にソートして古い方から上限以下になるまで削除するようにしています。
そして途中で HTTPリクエストがあったら作業を中断するようにしていますが、そこが問題のようです。

メインスレッドの中でタイマーイベントで作業をしているので、これを別スレッドにして、かつ排他処理を入れようと思います。


中田昭雄 nakata@st.rim.or.jp 1999/02/03 21:42

岡本さん、
POSTメソッドならQUERY_STRINGではなく標準入力になりますが、いずれにしろ、送られる内容はブラウザに依存します。
HTTPサーバは、その書式には関係しません。
FORM の ENCTYPE が multipart/form-data のときは、';' や改行が はいりますから、それでいいはずです。
ただ、汎用性を考えるとすれば、ブラウザ依存なので、UNIXやMac上のブラウザからの時に改行コードがどうなっているかは調べておいた方がいいかもしれません。


中田昭雄 nakata@st.rim.or.jp 1999/02/03 21:42

鶴田さん、
Win95/98では、flock( ) を使えるようにすることはできません。
ぴゅあさんの言われている通り、前に # をつけて、無効にするのが一番簡単だと思います。

symlink( ) を使っているようなら、WinNTでも使えません。これも無効にすることになります。

flock( )やsymlink( ) ではなく ロックファイルを使う方式なら使えるはずです。
ロック動作が完全ではありませんが。


yamada yamada_izumi@msn.com 1999/02/03 21:24

自宅サーバを立ち上げてみました。
テストしてみてください(*_*)
ここです
間違いがありましたら何とぞご指摘をお願いいたします。


ZERO zero@officezero.co.jp 1999/02/03 20:14

中田さんへ
メーリングリストのサーバの件ですが、行けました。
問題はexeの後に?をつけることと、メーリングリスト名の指定が必要だった事です。
すみません、お騒がせしました。


吉田 嘉津男 kazuo@core.cs.shinko-elec.co.jp 1999/02/03 19:44

中田さんこんにちは。

遅くなりましたが,本日早速Ver1.11を入れてみました。
起動開始して、8時間ほどですが,3回ほど一般保護エラーが発生しています。
とりあえず,Dr.Watsonのログファイルがありますので,送付しようと思っています.
もう一度落ちたら、またキャッシュ削除なしでしばらく様子みようと思います.

何か調べれることがありましたが,ご連絡ください.


いどっと k5-tada@eva.hi-ho.ne.jp 1999/02/03 18:52

こんにちは、httpdをローカルで使用して、cgiのデバッグに使い始め、今では社内のイントラ、社外のwwwにも活用しています。
さて、弊社のwwwは、dns,mail,webを1台のPCでまかなうというさびしい使用ですが、先日専用線接続先を変えてから、wwwサーバ内部のIPの受け渡しがうまくいっておりません。
そこで質問です。このPCには4個のIPが1枚のカードに振られているのですが、httpdがhttpサービスを許可するIPアドレスを指定することができるのでしょうか?
ホストを検出としてしまうと、違うアドレスを取得してしまいます。
よろしくお願いいたします。


岡本 圭介 ksk@pop17.odn.ne.jp 1999/02/03 17:53

こんにちは、はじめまして。

ここには、よく来ているのですが、自分の質問したい内容に関しては、
すでに答えが載っていることが多い(全部かも)ので、書き込みしてませんでした(^^;

今回、ちょっとわからないことが出たので、質問させてください。

WindowsのAPI32をつかってCGIを作ろうとしているのですが、
POSTメソッドを使って、INPUT type="file"にして、ファイルを取得しようとしている
のですが、QUERY_STRINGの区切り(?)が、'&'ではなく、';'だとか、'0d0a(リターンコード)'
になっているようなのですが、本などで調べると'&'だと、書いてあるので、
どうすればよいか悩んでいます。
AN HTTPDの仕様でなかったら、'0d0a'で解決するのですが、仕様ならば別の方法(汎用的な)を
考えないといけないので、ご存知の方がいたら、よろしくお願いします。

#CGIに関しては、まったくといっていいほどの素人なので、馬鹿な質問をしていたらすみま
せん。


yonetani yone@ncc.or.jp 1999/02/03 15:58

中脇さん、中田さん、解決しました。
ホスト名を取得しないにしたらちゃんとなりました。
どうもありがとうございました。


ZERO zero@officezero.co.jp 1999/02/03 09:24

中田さん

本当にお忙しい所すみませんです。厄介なことをいいまして。
Dr.watsonのエラーログを宜しければ送付させて頂きますがどういたしましょうか?

お手数をおかけしてすみません。


yamada y_izumi@mtj.biglobe.ne.jp 1999/02/03 07:13

びゆあさん 智猫さん
どうも有り難うございました。
とりあえずお礼まで・・・・


ぴゅあ pure@GalaxyCorp.com 1999/02/03 06:39

>yamadaさん
 重複して余計な補足になってしまいますが....
 確実な情報が多い方が確信も得られると思いまして

 以前ナンバーディスプレイ契約をしたときにTAは対応したファームウェアにアップデートして
あったのでアナログポートに対してナンバーディスプレイ有効の設定をしていました。
 結果として留守電がすぐに切られてしまう現象が起きていました。調べてみるとTAを通して
ピー,ポー...というFAXのような信号が来ていました。
 これはTAがナンバーディスプレイに対応して動作しても電話機端末には信号を送ってはいけな
いという指示をもらいました。
 今は中間にアダプタを入れてあるのでTAにナンバーディスプレイ有効の設定をして使っていま
す。ただ昨日は何故か繋がっても数秒で切れるという現象が暫く続きましたが。

 ということで智猫さんのおっしゃっている通りの原因であろうということでHTTP daemonとは
関係ない内容でしたが補足させていただきました。
 原因が判断できないうちはやはり色々な情報を会得して判断できる知識を得ることも重要かと
思いましたので。


智猫 asuka-s@venus.dti.ne.jp 1999/02/03 04:24

yamadaさん。

>128のISDN1回線でアクセスしてます。
>windows98です。95の場合の時はあまりなかったように
>思いますが、かかってくる電話がすぐつながらないで
>ファックスが送られるような音を立てます。
>2度目にはつながるようですが、

win98やAnHTTPDを疑うよりも、ISDNターミナルアダプタ(TA)の設定で、
電話機を接続しているアナログポートの設定を確認してはどうでしょう?
この症状はアナログポートをナンバーディスプレイの設定にして、
ナンバーディスプレイ非対応の電話機を接続しているときの動作とおもいます。


ぴゅあ pure@GalaxyCorp.com 1999/02/03 00:12

>鶴田博美さん
 何処で配布されているものを使われようとしているのか判らないので詳しくは答えることがで
きませんが。
 通常、排他(ロック)処理等はそれが実現できない環境ではコメントアウトしてテストするし
かないでしょう。flock()関数を使ったもの,シンボリックリンクを利用したもの,ファイルを
作成するものなどあったと思います。前2者に付いては今のところWindows環境ではテストでき
ないでしょう(シンボリックリンクはMS系でないDOS環境で見たことがあるので何処かに存在し
ているのかもしれない)。
 実際、ローカルテストではこのテスト自体で確実に機能していることを確認することは適当な
ツールを用意するなどしないと大変だったりすると思います。
 実際には、間違いなく記述してある(機能する)ことを期待してテスト項目から外しておくこ
とになると思います。今のところflock()関数などはこれに含まれます。
 ロックファイルによる排他制御などの場合は(手法も色々あるでしょうが)大抵普通の関数を
集めて1つの処理をする関数となっていることが多いと思いますので、テストできる範囲で調整
することもできるでしょう。完全にその処理を信用すれば、その処理(関数)をコメントアウト
しても良いというか、何処かコメントアウトしてテストから外すことになると思います。
 一応、一般に公開されているものは十分なテストをしてあると期待させられるレベルであると
思う(思いたい)のでローカルテストではそれを信じて必要とされている項目の設定が正しく行
えて正しい動くというレベルでのテストなのだと思います(本来そうであって欲しい)。従って
ローカルでテストできない部分は(他の処理に影響を与えないことの確認も必要ですが)外して
テストすることになるでしょう。
 なお、実際のサーバでも、その環境によって使えない手法も存在するので、まずそれを確認
する必要があります。折角ローカルでテストがうまく行ってもサーバ上で動かせなかったとな
ると悲しいものがありますから。

 どうしても長くなってしまう癖が....
 「使えない部分はコメントアウトしてください」の一言で片付くことなんですけど

>中田さん
 なるほど
 それから、CGIの起き場所が判らないという方には2通りの答え方をしなければならないとい
うことですね。σ(^ー^)はずっと自分のプロバイダに近い(実際にはサーバが完全に分離され
ているので全く違うといえば違うのですが)方法だけで説明していたので考えなければ。


yamada yamada_izumi@msn.com 1999/02/02 23:53

128のISDN1回線でアクセスしてます。
windows98です。95の場合の時はあまりなかったように
思いますが、かかってくる電話がすぐつながらないで
ファックスが送られるような音を立てます。
2度目にはつながるようですが、このことと
HTTPdの設定とが関係して居てのことでしょうか?
たとえばリモートホスト取得を常時にしておくから
とかと関係がありますか?


鶴田博美 fwik7688@mb.infoweb.ne.jp 1999/02/02 22:34

ぴゅあさん、どうもありがとう御座いました。
今日、たった今、サンプルのbbsが見れました。原因は、ファイルの置き場所が、悪かったようです。本人もイマイチ分かっていなかったりします。
それと、flockについて詳しく知りたいのですが、どの様にすればflockに対応させれことが出来るのですか?現在使用中のアクセスカウンタ(フリーで、配布されているもの)をlocalで試してみたかったのですが、lockfileを使っているものなのでlocalではテストが出来ないとたしか、何処かに書いてありました。よろしければアドバイスをください。


中田昭雄 nakata@st.rim.or.jp 1999/02/02 21:18

YONETANIさん、
これも中脇さんの言うとおりで、
オプション/一般の "リモートホストを取得" のところを "取得しない"にするのがよいでしょう。

あるいは、C:\Windows\hosts を作るというやり方もあります。Windows では hosts ファイルが優先のようなので。
具体的には、C:\Windows にある hosts.sam を拡張子のない hosts にリネームすれば、
127.0.0.1 localhost
というエントリはあるので、127.0.0.1(localhost) アクセスについてはDNSを見にいかないと思います。
ご自分のPCのIPアドレスとホスト名を追加すれば、それもOKです。


中田昭雄 nakata@st.rim.or.jp 1999/02/02 21:17

どうもさん、
中脇さんがお答え下さっている通り、できる場合とできない場合とがあります。
グローバルIPアドレスであっても外からのアクセスができないようになっているLANもあります。
LANの管理者に聞いてみるのがよいでしょう。
一般に、会社組織のLANでは、外からのアクセスはできないようにしているのが普通だと思います。


中田昭雄 nakata@st.rim.or.jp 1999/02/02 21:17

ZEROさん、
了解しました。時間ができたら私の方でもやってみます。


中田昭雄 nakata@st.rim.or.jp 1999/02/02 21:16

ぴゅあさん、
CGIスクリプトの存在を確認するのが先ですので、エラー500の解決後に 404 が出ることはありません。
/cgi-bin が別にあるのはおっしゃる通りプロバイダ対応です。
拡張子 .exe の GET での扱いだけが /cgi-bin 特有です。


中田昭雄 nakata@st.rim.or.jp 1999/02/02 21:16

えむけいさん、
ちょっと今すぐ難しさの程度はわかりませんが、なんとかやってみます。


中脇 mx55vb@mcn.ne.jp 1999/02/02 20:48

ホスト名を取得する」にするとアクセスのたびにドメインネームサーバにアクセスに行ってしまいます。
つまりダイヤルアップ接続のユーザの場合はプロバにあるDNSに接続しようと電話をかけてしまうのではないですか??
ホスト名は取得しない」にしておくと多分解決すると思います。

>LAN接続の場合
そのマシンにグローバルIPが割り当てられている場合は外部からのアクセスが可能ですが、プライベートIPを割り当てられている場合はプライベートIPからグローバルIPへの変換をルータとかで出来なければ無理でしょうね。
そういう場合はもちろんJAPANICに割り当てられたグローバルIPを持っていなければなりませんが。


YONETANI yone@ncc.or.jp 1999/02/02 18:28

何度もすみません。
下のほうで話題になっていた起動するとルータが電話をかけてしまう
件ですが、拝見して「ホスト名/アドレスを取得」やブラウザの「LANで接続」も設定してあります。
私の場合、起動するときではなくてアクセスする時に
電話をかけています。
どうか、よろしくおねがいします。


どうも miler-g@geocities.co.jp 1999/02/02 17:51

初心者質問で申し訳ありません。
LAN接続のマシンから、LANの外に公開することはできませんか?
なんか、制限がかけてあるかもしれないと聞いたことはあるんですが....


YONETANI yone@ncc.or.jp 1999/02/02 17:35

はじめまして。
初めて投稿します。私もanhttpd1.10及び、Perl for Win32の導入をしようと思い、ここへたどり着きました。ローカルでCGIのテストがしたかったのです。
そこで、質問なのですが、インストールして動かしてみると
確かにCGIは問題なく動きました(感動です!!)
ですが、私の機械はRouterで2台つないでいるのですが、
ローカルでアクセスしているのにプロバイダにアクセスしています。
どうにか防ぐ方法はないでしょうか?


ZERO zero@officezero.co.jp 1999/02/02 13:23

中田さん。
ありがとうございます他のディレクトリに入れて、exeの後に?を入れる事によって
動いてるようにみえました。
ただ、今度はDr.watsonがでてアプリケーションエラーがでてしまいました。
何かうごいてるんですが、エラーがでますね・・
どちらが悪いのか分からないですね。すみませんです。
とりあえず今の所はやめておきます。


ぴゅあ pure@GalaxyCorp.com 1999/02/02 03:34

 ★注意★
 このメールアドレスはジオCOMのメールサーバがおかしいらしく今のところ使えません。
 途中で消滅してしまう(サーバからのエラーメールが返らない)場合が多いので注意してく
ださい。
 現在、他のメールサーバを借りる準備中です。めーるあどれすは変わりません。
 まず送ってくる人もいませんが。

 最近、この手のPerlがらみのトラブルが重複して多い傾向にあるようですね。

>鶴田博美さん
 [オプション]-[一般]の[一般]タブでPerl.exeをフルパスで指定すれば解決します。
 何が起こっているかというと、Perl.exeが見つからないために実行できないと言ってきてい
るわけです(500)。
 Perlソースコードファイルが見つからない(URLが違う、または格納する場所を間違えている)
という場合は404となります(筈)。
 その他のPerlに関するトラブルは過去の記事を参照してください。まだ、このページ内の比較
的日付の新しい位置に残っています。
 と思うのですが、パスの表示'C:\www\turuta\localusr_html\bbs\bbs.cgi'がなんか変です
ねよ?
 ドキュメントルート,public_htmlディレクトリ,cgi-binディレクトリの指定とディレクトリ
構造はどうなっているのでしょうか?
 先の指定を直しても第2のエラーが出そうに思えたりしますが。
 ドキュメントルートが'C:\www\turuta',public_htmlディレクトリがlocalusr_htmlに指定
されているのかなと思えたりしますが、bbsディレクトリ以下はcgi-binディレクトリ内に入れ
るのが良いでしょう。中田さんの設計意図がつかめていないので何とも言えませんが。
 このとき、index.htmlはhttp://SERVER-IP/USERNAME/,bbs.cgiは
http://SERVER-IP/cgi-bin/bbs/bbs.cgiのように指定することになるでしょう。
 別にlocalusr_htmlの下にbbsディレクトリを入れてもhttp://SERVER-IP/USERNAME/bbs/bbs.cgi
としても動きますが、これで動くのに対して何故cgi-binディレクトリが指定できるのかという
疑問もあったりします。たぶんcgi-binディレクトリ内でCGIを実行する形のプロバイダに対応
させたオマケの機能と考えれば納得できますが。
 なお、Perlソースコードの1行目の#!行は無視して良いです。このとき、同プロパティタブ
内の「#!の行を調べる」のチェックを外しておく(デフォルト)必要があります。


鶴田博美 fwik7688@mb.infoweb.ne.jp 1999/02/02 01:36

はじめて書き込みします。
私も初心者ながら、anhttpd1.10及び、Perl for Win32の導入をしました。localでのcgiのテストの為と言う事です。で、現在、index.htmlファイルはブラウザでの表示が出来たことを確認できましたが、いざ、*.cgiを読み込むと、ブラウザの表示に【Error 500
CGI エラー - 以下のコマンドラインを実行できません : "perl C:\www\turuta\localusr_html\bbs\bbs.cgi "】と出てしまい実行できていません。何処がおかしいのでしょうか?こんな質問の仕方しか出来ませんが、どうか教えてください。
追伸>>スクリプトの#!usr/bin/perlのところなんですが、ここは、自分のパソコンのperlのあるところのフルパスを書くのですか?因みに、C\www\Perl\bin\perlなのですが、こう言ったディレクトリ構成であれば、スクリプトの1カラム1バイト目は、書き換える必要あるのでしょうか?よろしくお願いします。
        


えむけい VYV03354@nifty.ne.jp 1999/02/02 01:33

 302は利用しないようにしていただいた変更の副作用で、「xyz/」があるとき「xyz」にアクセスすると無限ループになるという現象はほとんど起きなくなりました。

 いったん「/」なしでアクセスしてhttpdのキャッシュへ入れ、直後にブラウザのキャッシュをクリアしてもう一度「/」なしのURLでアクセスするとまだ問題があります。たとえば私のサイトのトップページにはスタイルシートを使っているのですが、この方法でアクセスすると2度目はスタイルが一切反映されません。ログを見る限りでは、「http://member.nifty.ne.jp/emk/style.css」を取りに行くべきところで「http://member.nifty.ne.jp/style.css」を取りに行こうとしてNot Foundになるようです。

・サーバに「xyz」を要求したら302が返ってきて、かつキャッシュにディレクトリ「xyz\」がある場合は、ディレクトリを消してまでキャッシュしたり「xyz\.cache_welcome」にキャッシュしたりしないで、単になにもキャッシュしない

・Cache Onlyでかつキャッシュにディレクトリ「xyz\」があるときは「xyz\.cache_welcome」を直接返すのではなく302の応答をデッチあげる

という風にしていただけるとほぼ理想的なのですが、難しいでしょうか?


中田昭雄 nakata@st.rim.or.jp 1999/02/01 21:19

ZEROさん、
doweb.exe は普通の EXEファイルのようですね。
"First copy DOWEB.INI and DOWEB.EXE in your executable (usually called CGI-BIN directory)"
とありますから、その通り /cgi-bin 以下においてあるなら .exe のまま動くはずです。
/cgi-bin 以外にあるのなら、doweb.exe? と最後に '?' をつけるか、doweb.cgi と拡張子を変えるか、ということになると思います。


葭森圭介 xx7k-ysmr@asahi-net.or.jp 1999/02/01 15:08

田中様 びゆあ様 かすい様
丁寧なご指導有り難うございました。
お答えを参考にトライした結果、autoexec.batにperl.exeまでのpathが通っていれば
easy.cgiを置いてあるディレクトリで
C:\>該当ディレクトリ>perl -cw easy.cgi
でよいこともわかりました。
また、かすいさんから教えていただいた*.shtmlによる方法は、unixへのログインが出来ないプロバイダの時に、
役に立ちそうです。
どうも有り難うございました。
葭森圭介


OTA otam@cityfujisawa.ne.jp 1999/02/01 11:59

中田 様

すいませんでしたan httpd の紹介に書いてるの
回答頂き有難うございました。

社内のLAN内からCGIのテストが出来ました。


ZERO zero@officezero.co.jp 1999/02/01 11:13

どうも中田さん、最新バージョンのリリースお疲れ様です。

CPU100%の件は大変ご迷惑かけます。
exe形式のCGI?を動かす件なのですが、私の所にEMWACというメールサーバが立っております
そのソフトを使用してメーリングリストを開いていましたが、emwacのソフトでのバグで
返信がおかしいと言ったエラーがおこります。
そのために、Dolistと言うemwacのメーリングリスト専用アドオンソフトを入れました。
設定はちゃんとできて、MLが流れているんですが、そのDolistと言うソフトにさらにアドオンし、
web上からMLの内容など見れると言った設定が出来るんです。
そのソフトがdoweb.exeと言うのですが、設定通りに設定し、いざ、web上から見ると
exe形式でしたらIE4で見ようとするとダウンロードするんです。
そのために、どうすればいいのか教えて頂きたく掲示板に書かせて頂きました。
拡張子をdoweb.cgiに代えてwebから見るとなにか動いているようにはみえるんですが、
そのような感じで、代えていいものか分からないんです。
宜しければ教えて頂けないでしょうか?
Dolistの場所はこちらです
http://www.povlab.org/dolist/doweb.asp


ぴゅあ pure@GalaxyCorp.com 1999/02/01 06:20

 たびたび追記ごめんなさい。

 記憶ではAN HTTPも半角スペースが入っていると正常に動作しなかったように書かれていたと
記憶しています。そのためにAN HTTPを入れるフォルダ名を確かに修正しましたので。


ぴゅあ pure@GalaxyCorp.com 1999/02/01 06:16

>林拓美さん
 あら ISAPIでも使えましたか。
 以前試していたときにPerl.exeでないと使えなかったような記憶がありましたので。
 失礼しました。

 Perlはパスの中に半角スペースが入っていると正しく動作しません(ちょっと前に中田さんも
書かれていますよね)。何処かに注意書きがあったと思うのですが。長いファイル名は問題ない
と思いました。
 早く時間を作ってTipsとして載せたいものです。


林拓美 takumi@rd.mmtr.or.jp 1999/02/01 01:35

DBMの件で質問したものです。

>ぴゅあさん

>Perl.exeの方を使うようにすれば(ISAPIを使用するチェックを外す)使えた筈です。

このチェックをはずしてみたのですが、相変わらず No DBM on this machineの様な表示が出ました…。

そこで試行錯誤するうちに原因がPerlのPATHに長いファイル名が入っているということが原因だということが分かりました。

AnHTTPdの場所 C:\Program files\httpd → C:\httpd
Perl for Win32の場所 C:\Program files\Perl → C:\httpd\perl
Autoexec.batのPATHの記述
PATH=C:\Progra~1\httpd\Perl → PATH=C:\httpd\Perl
と変えたら、DBMがちゃんと使えるようになりました。ISAPIのチェックは入ったままでも動作しました。

No DBM on this machineという表示から何か(Perl.exeのような)別のアプリケーションが必要かと思っていました。

これからはDBMを思う存分使っていきたいと思います。どうもありがとうございました。


これ以前のコメントへ