morioka さん、
たしかにおかしいかもしれませんので、調べてみて直します。が、1.20 では間に合わないかもしれません。
nishigaki さん、
(1)エイリアスの具体例
たとえば、ドキュメントルートは C:\www だとします。
C:\www\readme.html にアクセスする URL は http://127.0.0.1/readme.html です。
別のドライブ D: に D:\perl\docs というのがあって D:\perl\docs\perl.html というファイルにアクセスしたいとします。
そのときは、(パス)エイリアスとして、仮想パス /perldoc のエイリアスとしてローカルパス D:\perl\docs と指定しておきます。
すると、http://127.0.0.1/perldoc/perl.html というURLで D:\perl\docs\perl.html が表示されます。
C:\www 以下以外のドキュメントにアクセスするための方法のひとつがエイリアスです。
(2)ユーザ認証の具体例
たとえば、
認証名: Private
パス: /secret
認証ユーザ : nishigaki, higashi
とします。
「認証名 パス 認証ユーザ/グループ」のところは、
Private:/secret: nishigaki, higashi
となります。
そして「ユーザ/パスワード」のところで、
nishigaki と higashi にパスワードを設定しておきます。
設定すると(パスワードのところは暗号化されて)、
nishigaki: 78mn6yfUv9fM
higashi: e34NOTB.QjkPA
などとなります。
以上で準備完了で、
http://127.0.0.1/secret/himitsu.html
と /secret 以下のファイルにアクセスしようとすると、
「Private(127.0.0.1)に対するユーザ名とパスワードを入れてください」
というダイアログがブラウザ側に表示されます。
そこで正しいユーザ名 nishigaki とそのパスワードを入れると himitsu.html が表示されます。
ユーザ名/パスワードが正しくないと再度上のダイアログが表示され、キャンセルすると 認証エラーになります。
認証名(ここではPrivate)は、違うパスで違うユーザに認証させる場合にそれらを区別するための名前です。
なお、上の例で 127.0.0.1 は自分のPCで実験する場合の話で、他からアクセスする場合は PC の IPアドレスかホスト名になります。
はじめまして、森岡ともうします。こんにちは
いつもAnhttpd(1.19f)を愛用していますが、少し気になった点がある
ので報告します。
JavaScriptを使って、ファイルの最終更新時間を表示するスクリプトを
書いたのですが、Anhttpdを通してブラウザ(IE5orNN4)で表示すると、いつも現在の時間を
表示してしまいます。尚、Linux+Apacheという環境では、思い通りに
ファイルの最終更新時刻を表示してくれる為に、Anhttpdのバグかな?
と思いました。
またこの問題は、スクリプトを直接HTMLファイルに書きこんだときは、
きちんとファイルの最終更新時間を表示してくれますが、HTMLファイルから
.jsファイル(application/x-javascript .js)を、読みこんだ時に限定して
起こることが分かっています。
#Anhttpd1.2を楽しみにしています。
それでは
(ちょっと古い話ですが)MZさんへ
cgiをhtmlとして出力する方法ですが、cgiを実行するプログラムにperlではなく
cat(もしくはそれと同様の動作をするもの)を指定するのはどうでしょうか?
CGIの動作チェックには使えなくなりますけど。
index.html以外のページにアクセス制限を設定したいのですが、エイリアスとユーザ認証の
設定がよくわかりません。何か具体例でアドバイスをお願いします。
えむけいさん、
Host: 以外もヘッダの大文字小文字について区別しないようになっていないのが大半なので、この機会に直します。
Location: の方は、空行以降の Location: をヘッダとしてしまうという話ですね。これも直します。
もろもろ直すべきところが山積みになってしまいました。
次のバージョン 1.20 は、今週末はきつくなってしまったので 10月3日をめざしています。
しばらくお待ちを。
print "Content-Type: text/html\n\n";
print "Location: https://www.nifty.ne.jp/\n\n";
のようなCGIスクリプトを書くと、なぜかAnHTTPDの返すステータスコードが302になります。
ブラウザから見るとLocation:ヘッダがないのでNetscapeはそのままページの中身(「Location:」)を表示するようですが、IEではエラーになります。
Proxyとして使っているとき、ブラウザからの要求にすべて小文字の「host:」ヘッダが含まれていると、AnHTTPDはこれを認識できずにサーバへ転送するとき「Host:」を補完してしまいます。結果として「Host:」ヘッダが重複するわけですが、そうなるとApache/1.3.4などはNot Foundを返すようです。
HTTP/1.1ではヘッダの大文字と小文字は区別しないことになっています。
水原さん、
エラーメッセージの CGI では、302応答(Location)でその CGI を実行するのでアドレス表示はそうなってしまうと思います。アドレス表示を変えずに実行させるのはできないことはないと思いますが、ちょっと面倒そうです。
三木さん、
PWSは ASP が使える、のが最も大きな相違点だと思います。あと FTP 機能も一緒になっていますね。PWSでは、perl.exe を使う普通の CGI がちょっとやりにくいかもしれません。
Windows98で同時ログイン数の制限があるのかどうかはっきりしませんが、 AN HTTPD にも最大スレッド数の制限があります。
はじめまして。(だよな?)
CGIのチェックに重宝させてもらっております。
CGIとは関係ありませんが、エラーメッセージにcgi/ssiを使うと、
指定した(404ならば存在しない)ページではなく、実際に開いているページの名前がアドレスの部分に表示されてしまいますが、何とかなりませんでしょうか?
本日、AN HTTP Server をインストールさせていただきました。
プログラムが小さいのに、機能が豊富なのにびっくりしました。
Windows98には、Personal Web Server というのがありますが、
もっとも大きな相違点は、同時ログイン数に制限がある(PWS)
か、ない(AHS)かだと思うのですが、そういうことなのでしょうか?
中田さん、レスありがとうございます。
実はですね、中田さんのレスの内容を確かめようと思い、試して見たら、
保存ダイアログではなく、きちんと再生されるようになっていました。
昨日と今日の違いと言えば、Windowsを再起動したぐらいのことなのですが、
もしかして、ネスケがきちんと動いていなかっただけなのかもしれません。
お騒がせしてすみませんでした。
また、ご返事ありがとうございました。
Lundiさん、
ファイルの保存のダイアログに MIMEタイプが出ると思うのですが、それは audio/x-wav になっているでしょうか?
MIMEタイプの表示がない場合は、オプションのログで トレースにチェックを入れて実際にどんな Content-type を返しているか確認してみてください。
すいません。
テストです。
はじめまして。
昨年頃からHTTPdを使わせて頂いております。
ずっと、1.15bを使っておりましたが、久しぶりにこちらに来たら、
1.19fになっていましたので、さっそくダウンロードしました。
さて、質問なのですが、ネットスケープで、拡張子が.wavファイルのものを開こうとすると
ファイルの保存のダイアログが出てきてしまいます。
IEだと音声が聞けるのですが、これはネスケの仕様なのでしょうか?
http://localhost/... ではなく、http://www...(通常のWebサーバ)の場合は
ネスケでもきちんと聞けるのですが...
よろしかったら、教えていただけないでしょうか?
ちなみに、オプションのファイルタイプで、wavのMIMEタイプをaudio/x-wavなどとしてもだめでした。
>ぴゅあさん
ネットスケープのばぐは知りませんでしたが、どちらにしてもあのレンダリング結果では
使う気がうせちゃいます。W3Cに反抗してるのかな(笑)
gekko(geckoだったかな?)には期待してますけど、あまりに出るのが
遅すぎるような。HTTPDと関係無いことですんません。
あ....
ちょっと判り辛かったかな?
「.」で始まるファイルについて書いたのでした。
半角文字を使ってしまったから(全角で書かなかったよなぁ?<ぢぶん)判り難かったかも。
それから余談ですけどIEを使っているときESCキーで投稿が消えてしまうのは(何度か)
右クリックメニューの「元に戻す」で取り戻すことができることが判りました。
うっかりリンクとかクリックしてしまって他のページに飛んでしまったら戻ってもダメみたい
ですけど。
ネスケではこんなことないのに....
しかしネスケを入れるか悩みちう....
そうそうもひとつ余談ですけど
ネスケでスタイルシートに失敗してた
今日回ったサイトでたまたま見かけたところにはネスケのスタイルシートにはバグがあるとか
直接はAN HTTP Serverに関係ないことですけど
失礼しました。
しかしやはり何度も内容ごとにここの情報を整理したいと思いつつ....
もうちょっとです。新しいサイトが動き出すの
はぁ なんか書き過ぎとまた後悔しつつ
じみへんさん、
そうですね。どうしても不明なところは遠慮無く聞いてください。
えむけいさん、
たしかに。ローカルパスにして両方 8.3 にして比較しないといけませんね。
>グリムさん
ん?質問の意味が解らない(^ー^;)。
まあうまく行ったようなので良しとして
★.で始まるファイル
確か以前に.で始まるファイルが作れないだったか何かの質問があったような記憶があるので
すがちょっと.htaccessをいぢっていて作れることが判ったので書いておきます。自分のとこに
書いとこうかなと思ったけど。
まずエクスプローラなどから新規作成メニューのテキスト文書で「新規テキスト文書.txt」とか
を作って名前の変更メニューで直そうとした場合はエラーとなってファイル名を作ることが出来
ません。これでσ(^ー^)も.で始まるファイル名は作れないのかと思ったのですが。
作る方法はいくつか。
・UNIXサーバからダウンロードしてくる場合はそのまま保存できます。編集も可能。
FTPクライアントFFFTPはダウンロード/アップロード共に対応しています。徐に試してみるま
でいちいちファイル名を変えるように指定して転送していた....
・DOSプロンプトから作ってやる。
COPY,ECHOコマンドで直接ファイルが作れます。
その後DIR,TYPEコマンドなどで直接ファイル名を指定することもできます。
・先の「新規テキスト文書.txt」を編集後「名前を付けて保存」でファイル名を指定してやれば保存
できます。以後はちゃんとした名前で扱えます。これはメモ帳でも可能でした。
大した情報ではありませんけど一応....
やっとApacheでのユーザ認証も何とか理解(プロバイダ上での話ですけど)
解説しているところはいっぱいあるけど嘘ではないけど間違った理解をしてしまいそうなとこ
ろがちらほら....
Linuxと格闘ちう&新しいプロバイダがLinuxなのでちょっとAN HTTP Serverから離れていた
り
しかし前以上にHTTPdにはまり込めているはいるような
UNIXとWinでのCGIの違いを知るには良い状態なのかも
うちのマシンパワーではきっとまだApacheよりAN HTTP Serverでテストした方が速いのだろ
うけど....
今月も(X WINDOWだけのために....)新しいマシンを組むのが良いか直接環境ファイル
を理解してから来月にでも組んでみるのが良いか....
さてさてどんどん深みにはまりつつありこんなに多くのことが一度に頭の中に入ってきてて良
いのだろうかと思いつつ....
ごめんなさい。なにか勘違いしてたみたいです。
ちゃんと動きました。
お騒がせしてすみませんでした。m(_ _)m
>ぴゅあさんへ
原因がわかりました。どうも、設定自体が間違っていたようです。
答えていただいてありがとうございました。
また、分からないところが出てきてしまったので、再度質問させて頂きます。
複雑な?掲示板を動かす場合、jcode.plまでのパスrequire 'jcode.pl';
など設定する項目がCGIに入っているのですが、
オフラインでCGIを動かす場合、ここの設定はどのようにしたらいいのでしょうか?
>中田様
原因が分かりました。PERLのパスが違っていたようです。
お騒がせしました・・・・・m(_ _)m
その後も違うエラーが出ていますが後は自力で解決するよう
がんばります。行き詰まった時は再度相談にのってください。
8文字以上の名前のディレクトリにユーザ認証をかけていても、8.3の別名のほうでアクセスすると認証をすり抜けてしまいます。
かえるさん、
メールで「けなす書き方をしない」とわざわざ断っておられたのでちょっとめずらしいと思いました。
じみへんさん、
そうですか。。。
そうするとそのCGIが本当にヘッダだけ出しているのかもしれませんね。
UNIXコマンド等に依存して出力しているとすると何も出さないのかもしれません。
単純なCGIでも同じエラーになりますか?
中田さま
掲載許可ありがとうございます
けして けなしたりする内容ではないので ご安心ください
では よろしくお願いします
コンピュータ悪のマニュアル編集長 かえる
>中田様
オプション/一般の「CGI出力を検査」にチェックを入れて再度やってみてください。
とのアドバイスをいただきまして、喜んでチェックを入れようとすると・・・・
すでに入っていました。(^^;)
ブラウザはIE4の方がいいのでしょうか。
もしやと思ってちらっと見て来てはいました www.rim.or.jp
でも見た時点では何も通知はなかったようでした....
まあ 良くあることですから....
ちょっと情報集めしています
良かったら後でメールしてみますので考えてみてください>中田さん
ってここでも過去に取り上げられたこともある「インターネットって安全?」って話ですけど。
随分書きまくって疲れたので少し遅くなるかもしれませんが。
nob-a さん、
PHPの(少なくとも基本機能は)使えます。
postgreSQL についてはよく知りませんが、PHPがインタフェースを持つなら使えるでしょう。
PHP でなくても利用できるのではないかと思いますが。たとえば Perlとかでも。
ASP は(まだ)だめです。 仕組みがはっきりわかっていないので。
ぴゅあさん、
「仮想プライベートネットワーク」というとVPNですね。 Microsoft と銘打っているとすると、またちょっと違うのかもしれませんね。
インターネットを専用線として使用できる、とかいうものだったと思いますが、具体的にはよく知りません。
Microsoft ネットワーク は プロトコルは IP ではないですよね。
Windows ログオンの意味はあまりよくわかりませんが、ネットワークプロトコルを全部はずしても可能だったように思いますから、ネットワークとは別にそのPC(Windows)へのアクセスというだけなのではないでしょうか。。?
www.st.rim.or.jp でディスクの障害があったそうです。 stドメイン機材障害のお詫びと復旧のお知らせ。
キャッシュサーバから一時的に www.rim.or.jp のお知らせに飛ばすとかすることはできなかったのでしょうか。。
長時間アクセスできない時は www.rim.or.jp へ行って、障害のお知らせなどが出ていないか見てください。
AN HTTPDを使わせてもらってます。
最近DB連携WEBを勉強してますが、AN HTTPDではPHPもOKですよね。
という事はpostgreSQLを使えるという事になりますか?
また、ASPはどうでしょう?
ACCESSと連携できればいろいろ勉強になるのですが、、、
中田様
早速のコメント、ありがとうございました。
なんだか ここしばらく、http://www.st.rim.or.jp/サーバが見えなくて、
お礼が遅くなってしまいました。申し訳ありません。
いまだにユニコード出力は再現できておりませんが、AN HTTPDの
問題では どうやらないようなので、WINのほうを色々いじくってみます。
書こうと思うのに全くリムネットのサーバが応答しない....
12時間も経過してしまった...
>グリムさん
スタンドアロンを離れてから長い時間が経ってしまったというより最初からダイヤルアップ
接続+TCP/IPの環境だったので確かな説明ができないかもしれないということで控えていましたが
たぶん中田さんが現れるのも夕方頃だろうと言うことで....
参考になれば良いですが....
そのままTCP/IPをインストールしてみてください。たぶんインストールだけで何の設定も要ら
ないんだと思います(IPアドレスの設定とか)。LANボードが入っていなくてもたぶん大丈夫な
のだと思います。
インストールの仕方は既に何処かで普通に使われていればご存知だと思いますが念のため。
ダイヤルネットワークによる設定は当然出来ないと思うのでコントロールパネルのネットワーク
を起動して追加ボタンでプロトコルの中のMicrosoftのTCP/IPを追加するだけだと思います。
何しろ想像だけで書いているのでこれだけではダメなのかもしれませんが。
一応スタンドアロンで動作させる場合この他にダイヤルアップアダプタを追加してTCP/IPを
バインドするという形になるのでこのダイヤルアップアダプタが存在しない状態というだけの違い
の筈です。たぶんこれでうまく行くのではないかと思うのですが。
たぶんMicrosoftネットワーククライアントは入れなくても良いんだと思います(TCP/IPから
バインドするような使い方をするようだが)。
>中田さん
ついでですけど(^ー^;)。
前からたまに見かけるMicrosoft仮想プライベートネットワークアダプタって何をしてくれる
ものなんでしょうね?Winのインストールの仕方によっては勝手に追加されていることもあるよ
うですけど。あとWindowsログオンって....
普段はMicsoftネットワーククライアントのままで別に何か問題が起こっているわけでもない
のでわざわざ知る必要もないことですが。やはり知識としては知識のひとつであるしと思ったり。
★お願い★ ちょっと宣伝?
ここで募集(お願い)することでもないのでσ(^ー^)の掲示板の方に書いてありますがモデム
の入手に付いて情報をお持ちの方がいらっしゃいましたら是非ぴゅあ資料館のGUESTBOOK(広告
バナー付きの訪問者カウンタの右/広告バナーの上部中央に入り口があります)へ尋ねて来てく
ださい。ちょっとそろそろ各サイトの役割も明確にしていかなければならないとも思っているの
ですがこちらで情報のお願いをしています。
また特に訪れていらっしゃる方もいらっしゃらないようですが以前書きましたとおりPerl他に
関してぴゅあの部屋 in SiliconValleyの電子掲示板(良い名前を募集中)を皆さんに開放させ
て頂いています。いずれリンクを張ってくださるかもしれないということですがこの場を借りて
一応再度お伝えしておきます。現在「Linux格闘記」なぞを仮執筆したりしてごちゃごちゃして
いますが(^ー^;)。
またもし利用されることがあったとしてもσ(^ー^)自身CGI/SSI,Perl等のベテランには程遠い
ものがありますので解答の側でも皆さんにご協力をお願いできればと思います(σ(^ー^)自身知
りたいことも沢山ある)。
また様々な情報交換がなされることにも期待しております。σ(^ー^)自身まだまだ多くのこと
を学ばなければならないと思っていますので。
URLをご覧になれば判る通りジオJP提供の掲示板を改造してそのまま利用させて頂いています。
ちょっと使い辛いこととは思いますがご了承ください。
新しいプロバイダでの準備もそろそろ始めていますので何か考えようとは思っています(新し
いプロバイダ側では外部からのリンクが可能である(本人のサイトである場合に限って)という
ことを確認できていますがジオJPの方で外部のサーバとリンクを張るのは何処まで許されるの
かということも多少気になってはいますが。尤もリンクだけで構成されている場合はダメという
ことのように理解していますが。ただしそういう形をとるかどうかもまだ検討中の段階ですが)。
ちょっと余計な話で長くなってしまいましたが新しいモデムを増設してみるかどうか決めかね
ていますので何か情報を頂ければ幸いに思います(そろそろ56Kモデムも導入してみたいという
こともありますがTAの内線機能を使えば特別な電話回線エミュレータ?を用意しなくてもモデム
を使ってサーバ/クライアント構成の通信ソフトも開発できるのではないかと思って)。
またちょっとばかりここをお借りして申し訳ありませんでした。
はぅ また半分以上のカキコが突然消えてしまって焦ってしまった(>_<)。
編集メニューには元に戻すってないし....と思ったらフィールド内の右クリックメニュー
に元に戻すってのがあったので思いっきり戻しまくって助かりました(T_T)。
またくぢけるとこだった....
httpdをダウンロードさせて頂いたのですが、
使い方が良くわかりません。
ネットに接続しないで、CGIを動かしたいのですが。
「サーバソケットを作ることができません。TCP/IPプロトコルをインストールして下さい」
とは、どのようにしたら良いのでしょうか?
初心者に近いもので・・・(^^;)
宜しければお教え下さい。
Neoplanet というのは、IE3.02以上必須でIE4.0以上推奨というブラウザですよね。
Mozilla には plug-in でコンパチで、MacOS や Linux には対応中、と書かれていてなんだかよくわかりません。
IE5 はやめとけと言っても何か無力なので、サーバにしろCGI/HTMLにしろIE5でちゃんと動作/表示できるようにしないといけない、という方向が(少なくとも今のところ)正解なんだろうと思います。
連打で AN HTTPD が保護違反でフリーズするのは対処するつもりです。
暇だったので、超簡単なカウンタをIE5でctrl+R(リロード)を高橋名人ばりに連打
しまくったら一般保護違反でフリーズ。再起動したら、同じカウンタがダウンロードダイアログ
がでて実行されない。前にも(カメヤマさんの)同じような事例があったのでContent-typeをtext/plainからtext/htmlに変えてタグつきで出力したらうまくいった。でも、
NeoplanetのMozillaレンダリングエンジン(β版)で試したらtext/plain
のままでも大丈夫だった。と、やっぱり、IE5はやめといたほうが好いんですかねぇ?
その前に連打なんかするなって?そのとうりです!(笑)
ぴゅあさん。
かさねがさねありがとうございました。
おかげさまでなんとかなっとります。
またご迷惑をおかけすることもあるかと思いますが、
その時はまた宜しくお願いします。
軽井沢より(嘘だけど)感謝をこめて(こっちはホント)...hammer
Interfaces Maker さん、
いや、どうも。
DOM って Document Object Model の DOM ですか? 本は私は見たことはないです。
ううっ。そんな事にきずかなかったなんて・・・
アホな質問ですんませんでした。>中田どの
慌ててたもんで。かなり思考力がヘボまっていた様です。
でも、いつの間にいじったんだろ?き、記憶が・・・
PS DOMの本ってないのかなァ。
ぴゅあさん、
flock は WinNT では動くことになっています。
WinNTでは Win32APIの FileLockEx() が使えるので。
Windows用の Perl で動かない関数は Perl のドキュメント(FAQやRelease.txt)にありますが、flock など Win95/98 でのみ動かないものはちゃんとした一覧にはなっていなかったかもしれません。
UNIX用の Perl を Windows に移植したものなのだからある程度の制限がつくことは当然で特にOSの機能に依存したものは移植が難しい、という話なのでしょうが、そのあたりはどこかにちゃんと書いておかないといけない御時勢になったようです。
また、755とかのパーミッションは UNIXのもので Windows にはないこととか、スクリプト先頭の #! 行の意味、とかもそうですね。
もっとも、最近は Linux/FreeBSD + Apache で試すことの方が簡単になったと言えるのかもしれません。
Interfaces Maker さん、
オプションの「表示/インデックス」の「動作形態」のところを「トレイ上」にしてください。
Win95/98/NTでは起動すれば「常駐」になりますから、「表示形態」というべきかもしれませんね。
るーしーさん、
そうですね。自己解凍の .exe などはダウンロードするようにしたい、ということからそうなっています。
/cgi-bin 以下以外では ? がなければダウンロードになります。
また何かありましたらどうぞ。
じみへんさん、
CGIで何かおかしい時はまず、オプション/一般の「CGI出力を検査」にチェックを入れて再度やってみてください。
それなりのエラーメッセージが出ると思います。
こんにちは。
FAQやRead.meにも載ってないんですが、常駐の可否を設定する項目
ってありましったけ?エイリアスの設定なんかした後にwinが不安定になったので
再起動したら、(スタートアップに登録してあるのに)タスクトレイに入らず
タスクバーの上に乗っかってしまいます。普通に起動してもやっぱりタスクバーに
入らない。なんで?何か要らんことしちゃったのかな?
>じみへんさん
(そのエラーは'script produced no output'と同じでしたっけ?ちょっと眠くて頭が..
..←v4.51だったかな?だとこう出る:flock()を生かしてみた。あれIE4.01SP2と同じ
メッセージ?hammerさんはIE5.0?IE5.0は悪さをしてくれるので現在いえかなり当分確認不可能)
そうであればhammerさんと同様にWinで使えない関数が呼び出されているためだと思います。
なおプロバイダのサーバで稼動済みであるからおかしいとは思えないのではなくプロバイダ
のサーバで動いている場合Winでは動かないことの方が多い(自分で意識して作ってあれば別
ですが。またそういうコードもある)ので(先の理由より)。
>中田さん
NT4.0ではflock()使えましたっけ?
使えなかったような記憶が遠い昔にあるんですけど(Win95でテストしていたのかな?)
マシンを新しくしてサーバを移したついでにOptional Pack(つまりはIISとか)を入れて
みてありますが....?
何故か動いたから使えている筈....
>るーしさん
そうですね。
普通に何処かでダウンロードするときで解るように.exeはそのままダウンロードになります
(例:ここのトップページのAN HTTP Server)。
'?'を付けるとCGIと見なされる(で良いのかな?)ので実行できるようになります(GETメソッド
でパラメータを渡そうとする)。
ちょっと頭が働いていないようです。ごめんなさい。
おやすみなさい。
CGI勉強のためにDLさせてもらいました。
ブラウザで確認するとき、
exeファイルがなぜかダウンロードしてしまう現象で悩まされましたが、
○○.exe?とやって解決しました。
度々質問するかも知れませんがよろしくお願いします。
はじめまして。AN HTTPをインストールしました。
そこで質問ですが、ネットスケープナビゲータで見ようとすると
(IEでも同じだと思いますが)
「ドキュメントにデータが含まれていません。あとでやり直すか
サーバの管理者にお尋ねください」というエラーが出ます。
このエラーってどう対処したらいいんでしょう。
CGIのページを開くと出るようです。
そのページは特におかしいとは思えず(プロバイダのサーバで稼働済)
途方に暮れています。誰かヘルプ ミー!!
>hammerさん
西に頭向けてなくて良かったです(爆)。
さてflock()はWinでは使えません。
コメント(それが1行になっているなら'#'を先頭に書いてやる)とすれば特に問題なく動く
筈です。どんなときに問題になるかというと同時に複数の人がそのCGIを呼び出したときです。
AN HTTP Serverをインターネット上に出す場合は適当な処置が必要でしょうが開発段階や単
に自分で動かすだけなら問題はないでしょう。わざと同時に動かしてみようなんてことをしなけ
ればですが。
ぴゅあさん
>東の方です、ってどこに住んでるか知らんけど
よかった。私は西の方ですがベッドは南北方向においてあるんで・・・
部屋の模様がえしなくてすんだですよ。(^ ^)
ところで、AN HTTPD119fでCGI(Ninja Search Engine v2.75。
http://www.cinovi.com/cgitips/searchengine/よりダウンロード)
の動作テスト(URL登録をやってみた)をしたのですが、
Error 500
CGI エラー - Content-Type ヘッダが正しくありません。
CGI 出力メッセージ:
flock() is not available on Win95!
というメッセージが出てうまくいきません。スクリプトを見ると、
たしかにそれらしき場所にflock(***)というスクリプトはあるみたい
です。一応CGI自体は動作してるみたいだったので、試しにアップ
ロードしてみたら、プロバイダのサーバ上では問題なく動作したので
問題ないといえば問題ないんですが・・・。
Win95/98上で何か換わりになるコマンドなり、回避方法なりが
あれば、教えていただけないでしょうか。よろしくお願いします。
中田様、お返事ありがとうございました。
無事動きました。
とても快適です(^^)。
どうもありがとうございました。
ryo さん、
AN HTTPD でコンテンツのユニコードについて設定する部分はないと思います。
関係するとすれば、ファイルタイプのところの htm,html の MIMEタイプで text/html の後に何かつけていたかくらいでしょうか。。? あるいはブラウザ側の設定とか。。。??
ユニコードで出すのはやってみたことがないので、ちょっとわかりません。
いそいそさん、
とりあえず取得するのは内部用IPでも、そのまま外部用のIPでもアクセスできます。
つまり、PCにリクエストが到達しさえすれば、取得したIPにかかわらずどのIPアドレスでもOKです。
したがって、特にそれ以上設定しなくても、外部からその外部用IPアドレスにアクセスすればそのまま応答するはずです。
(バーチャルホストでIPアドレス別の設定をすれば応答内容は変わりますが)
miyake さん、
制御コードを入れてしまうのが、ぴゅあさんの言うとおり Win のインストーラだとすると、同様の問題で悩んでいた人もいたかもしれません。
そういう意味でも原因がわかってよかったです。
片桐さん、
エラーメッセージのファイルはローカルディスク上のフルパスで指定してください。
ドライブ文字: から始まりパス区切りは \ で、という意味です。たとえば C:\home\messages\401.html という感じで。
それでも同じでしたら再度お知らせ下さい。
httpd1.19fをwin95で使わせてもらっていますが、
よく解らない事態が発生したので、ご教授をお願いします。
今までユニコードHTMLを含むコンテンツをhttpdにて
出力させており、もちろんきちんと出力されていたのですが、
このたび95を再インストールし、httpdをも再導入したところ、
ユニコードHTMLが正常に出力されなくなってしまいました。
(「文字化け」ではなく、サーバから送られる
データそのものが化けている)
従来の設定は95と運命を共にしてしまいましたので、
自分がどのような設定でユニコードHTMLをhttpdから
出力していたのかが判りません。
これは95側の問題でしょうか、それともhttpdの
設定を洗い直すべき問題なのでしょうか。
まず、すばらしいANHTTPDを開発してくださった中田様にお礼を申し上げたいと思います。
職場で、大変助かっております。ありがとうございます。
ところで、職場で、最近また新しいNTサーバ(NT4.0 Server)を導入しました。このサーバは、プロキシサーバを介してイントラネットを構成するために、LANカードがイントラネット内部用と外部接続用の2枚がインストールしてあります。
このマシンでANHTTPD(1.119f)を起動すると、IPアドレスとしてイントラネット内部用のIPを取得してしまいます。外部用のIPアドレスを使うように設定するにはどうしたらよいのでしょうか??
お忙しいところ恐縮ですが、お応えいただけると大変幸せます。よろしくお願いいたします。
いそいそ
こんにちは、miyakeです。
修正していただいたファイルを保存して、試してみました。
type \autoexec.bat でパスの表示もされましたし、再起動後、
perl -version でバージョン表示もされました。
AN HTTP Server のPerlのパスもPerlだけで、CGIは正常に動作
しました。
ぴゅあさん、中田さん、どうもありがとうございました。
少し知識が増えてうれしいです。
それに胸のつかえが取れたって感じで、これでやっと仕事も
手につきます。(大げさかな?)
それにしても自分の専門分野以外のものを理解しようとするのは
大変な労力がいりますよね。
またわからないことがあったときには、これに懲りず、
どうぞよろしくお願いいたします。
>hammerさん
東の方です。ってどこに住んでるのか知らんけど・・・。(爆)
失礼しました。遊んでしまって。(^^ゞ
こんにちは、AN HTTP を使わせていただいています。
ありがとうございます。
ちょっとわからないことがあったので、投稿します。
主にチャットのCGIに利用させてもらっているのですが、ある状態で、ユーザ認証をしているディレクトリに入ろうとすると、「インターネット サイト http://127.0.0.1/ninsho/ を開けません。要求されたヘッダは見つかりませんでした。」というエラーメッセージが出てしまいます。
いろいろ試したところ、「表示/インデックス」項目の中のエラーメッセージのチェックボックスをオンにしておくと、先ほどのエラーが出るようです。
エラーの際に表示するHTMLファイルには、
/home/messages/401.html
といった感じで指定してあります。
チェックボックスをオフにしておけば、エラーは出ませんでした。
これは、AN HTTP のバグなんでしょうか?
それとも、どこか設定の仕方がおかしいのでしょうか?
使用しているバージョンは、1.19eです。
ブラウザには、IE4.02を使っています。
よろしくお願いします。
ぴゅあさん。IE5の設定とドキュメントルートの設定について
お答えいただいて大変ありがとうございました。
CGI実行プログラムの指定も間違ってたんで(恥)、だいぶ苦しみ
ましたが、なんとか自力で解決しました。おかげさまでCGIの
ローカルテストができます。
あんな貧相な質問に丁寧にお答えいただいて、もうなんといって
お礼を申し上げればよいやら・・・。今後ぴゅあさんの方角に足
を向けて寝ません。ってどこに住んでるのか知らんけど・・・。
>中田さん
miyakeさんの件はやはり^Zの所為でしたがσ(^ー^)の見たところどうも^ZをいれたのはWinの
インストーラの仕業ではないかと思います。特に編集したことがなければですけど。
どうもperlのインストーラはこの^Zを取り除いて追加するなどというような細かいことはし
ていないらしく単にEXTEND(古いですね。最近UNIX COBLを扱っていたりするので(^ー^;)。BASIC
で言えばappend,Cでは"a",ECHOコマンドやPerlでは">>"と言ったところかな)で末尾に追加
しているようです。
syseditで何行もpathの追加が見えていたのならsyseditではメモ帳などと同じように^Zを無
視して表示するのでしょう(というよりメモ帳と同等の処理をしているのだと思う)。もしかす
ると^Zは■として見えていたのかも知れませんがこれがどういう意味を持っているかはそれなり
の経験をしていないと何であるかは判断できないと思うので仕方ないでしょう。でもこれで少し
は疑えるようになったとは思いますけど。
あと^Zをデフォルトで付けてしまうエディタは例えばMIFESではなかったかと思います。付け
ないように設定できたかどうかは忘れましたが。
しかし未だにあっついです(T_T)。
昼間は36度、今でも32度。今日の最高気温もたぶん30度を越えていない筈。
横浜の方に住んでいる人は寒くてガタガタ震えてるってかなりくしゃみしてましたけど。
窓全開で外より暑いσ(>_<)の部屋って....
ぴゅあさん、
とりあえずなら、DNSサーバをたてなくても hosts ファイルでいけますね。
(WinNTでは \windows\system32\drivers\etc\hosts)
Samba も何冊か本が出ていたように思います。
miyake さんには A:\AUTOEXEC.BAT をメールで送ってもらったのですが、どうもやはりDOSのEOF(^Z)がはいっていたようで、
-------------------------------
@ECHO OFF
SET DMIDIR=a:\necdmi
path "%path%;B:\www\perl\bin;"
(以下略)
-------------------------------
となっていました。
これを TYPE すると、
-------------------------------
@ECHO OFF
SET DMIDIR=a:\necdmi
-------------------------------
までしか出ないわけですね。
しかし、今時 EOF を入れてしまうエディタというのはなんでしょう。。?
SET DMIDIR の前に path の行を追加してもらえばよかったのかもしれません。
>中田さん
ありがとうございます。
DNSの解説もちゃんと探してみなきゃですね。
ブラウザからIPアドレスでなくてホスト名でURLが指定できるようになると単に見た目だけで
お遊びみたいなものですけどやっぱりできると面白く思ったりします。
ICQに関する問い合わせを多く貰っているのですがポート4000は?ポート53は?とかいう話も
あったりするので一応目にしたことから推測して答えを出したりしていますがちゃんと確実な理
解をしておいた方が良いですし。
しかしこの程度の知識でしかないのにネットワーク管理の依頼が来ていたりします。管理者が
居ないからということですがかなり規模が大きいらしい。ましてや一人で管理するらしい。依頼
してくる方もくる方ですけどまあ最初からベストを望んでいないだろうということで正式に依頼
がきたら焦らずのんびりやろうかなと思ったり。開発よりは地味な感じもしますけど面白そうな
世界でもありますし。
sambaなど余計なことを書いてすみません。AN HTTP Serverと同様にサーバのひとつであ
るということで(^ー^;)。
でも書いたお陰で解決しました。書いた後、久々の夜遊び(爆)に出掛けたのですがふと電車の
中で考えるきっかけになりました。でTCP/IPで通信していることとTCP/IPをバインドしていな
いことを思い出しました。これでは見えるわけがないですね。バインドしたらちゃんと見えまし
た。しかし故意にバインドしないようにしていた訳で適当に立ち上げてあるファイアウォールも
まぢめに勉強しなきゃです。まあそんなに深刻なことでもないでしょうけど(と思ったとたんに
来るのが災難であったり....)。
と、メールにしておけば良かったかもですね。でも何も関係なさそうな話から誰かの何かのき
っかけになったりというのも起こり得る世界なわけで....とも思ったり。早く新しいぴゅあ
の部屋を作り始めて前々から計画しているテーマ別掲示板も作らなきゃですね。誰も来ないのが
ぴゅあの部屋グループ(謎)の掲示板ですけど(~_~;)。
当分続くLinuxとの格闘は新しいサイトができるまで電子掲示板の方に書いていこうかなと思
っています。今更のようなLinux格闘記ですけど。
ぴゅあさん、
私は別途書いてから投稿してます。
Samba は UNIX用NetBIOS(?)のSMBサーバですよね。ちょっと古いバージョンを古いUNIXにインストールしてみたことはあります。
DNSは、named を動かせばいいわけですね。 named.boot で primary, cache くらいが必須だったと思いますが、DNS(bind, named)の解説を見たほうがよいでしょう。
自ドメイン以外は本当の named へ問い合わせるよう設定できるはずです。
ICQは TCPおよびUDP のいくつかのポートを使うのではなかったかと思います。
miyake さんのは何でしょうね。 type で出ないとなると ^Z が入っているくらいしか思いつきませんが。
うう 跡もう少しで書き終わりというところで確認のためにフォルダオプションの表示プロパティ
を変えたら書いていたものが全部消えてしまった....くぢけ気味.... 短くなって
良いだろうけど
これはある意味多くの機能を含んだための障害と言っても良いのだろうけど
>中田さん
ありがとうございます。
sambaと格闘しているときに-aオプションを見つけられました。
Linuxをインストールするだけでネットワーク上(Win側)にlinuxマシンが見えるようになる
ということでそれ以上の詳しい説明が見つけられていないのでまだまだ格闘は長く続きそうです
が(samba以前の問題なのかもしれない)。
※イントラネット上で仮ドメインを作れるとやはり書いてあったがインターネットと(そのま
で)切り分けて使えるのだろうか。できるようなことを書いてあったりするが未だ成功して
いない。DNSがいまいち(どういうものかは解っているつもりだけどどうすれば良いのかか
が)解らないけど....
何故かまたpingが動くようになったのですが何故か応答を返さなかったりしました。因みに
205.188.255.11(ポート53を使っているらしい)を調べようと思ったのですが。icq.mirabilis.com
(他icq1〜icq5)はポート4000を使っているらしい(53も?)。
さっき起きてからメールを受信しても異常に応答が速くなっているのはなんでだろうという気
もしていたりしますが(ちゃんとメールの受信ができるのでちゃんと動作している筈だが5箇所
を巡回するのに5秒も掛からない。朝までは倍以上)。投資してやっと環境を強化したので速く
なってくれたのは嬉しいですが。
>miyakeさん
まず心配しないようにフォローしておきます。
消えてくぢけたので簡単にしておきますが。
type autoexec.batと打つと....はそれで正解です。左端に出ているプロンプトはA:\WINDOWS>
となっている筈ですからA:\WINDOWSにあるautoexec.batを探しに行こうとしますがそこにはな
いのでそう表示されます。autoexec.batはルート(A:\)にあるのでtype \autoexec.bat或い
はtype a:\autoexec.batまたcd \と打ってルートに移動した後にtype autoexec.batとしなけ
れば表示することは出来ません。
A:type autoexec.batと打つと....はA:を付けたことによってtypeコマンドが外部
コマンドであるとして実行しようとするので内部コマンド(command.comの中に組み込まれている)
であるtypeコマンドは呼び出されずtypeというプログラムが見つからないと言ってそのメッセージ
が返されています。ので正しい結果です。
※内部コマンドと外部コマンドの違いはくぢけたので省略しておきます。
DOSプロンプトは、Windowsの[スタート]メニューから....はそれで合っています。
因みにσ(^ー^)が説明するときは上記の場合はDOSプロンプト(DOS窓と呼ぶ人も多い)、MS-DOS
モードは「MS-DOSモードで再起動して」と言い分けています。この他にも純粋な(完全にWinと
は別の)MS-DOSというのもありますが。
さて....
2で編集した結果がtype \autoexec.batで表示されないというのはおかしいですね。
ちゃんと保存(上書き保存)したでしょうか。再度「編集」でちゃんと編集した結果が保存さ
れているか確認してください。保存してあれば編集(直)後にtype \autoexec.batでその内容
が表示される筈です(その後再起動するとsetコマンドでも出てくるようになる筈)。
autoexec.dosがあるということですがこれは関係していない筈です。最近はちょっとこの存
在があやふやになってきていますが(純粋な)MS-DOSの上にWinをインストールしたときに現れ
てくるのだと思います。Win95だと違うかも知りません(Win95には存在している)がWin98では
「MS-DOSモードで再起動」しても(Winで使われている)autoexec.batが読みこまれるようです。
が、PC-98xxでは違うかもしれません(いずれにしてもDOSプロンプトで見ているので気にしな
くて良い筈です)。
もしメールへのファイル添付が解るならCONFIG.SYSとAUTOEXEC.BAT(A:\にあるもの)を送
ってみてください。もしかしたらCONFIG.SYSか何かしているのかもという気もしないではあり
ません。またCONFIG.DOSやAUTOEXEC.DOSもあるなら付けてもらっても良いでしょう。その他
CONFIG.***,AUTOEXEC.***があるようでしたら拡張子をリストアップしてみてください。
そのとき表示メニューのフォルダオプション(Win95ではオプション)の表示プロパティシート
で「すべてのファイルを表示」し、「登録されているファイルの拡張子は表示しない」は表示するように(チェックを外す)してください。これを追記しようと思って確認しようとしたらこ
の文章が消えてしまった....
ぴゅあさん、
ping -a で ping前にホスト名が表示されると思います。
もちろんDNSサーバを見にいくはずですからネットワーク接続がおかしいとだめでしょうけど。
たかし@ばばさん、
なるほど。私も残念ですがしかたありません。
miyakeです。
道添さん
>だとすれば、DOSプロンプトから
>A:
>type autoexec.batと打ったらどうでしょう?
・type autoexec.batと打つと
ファイルが見つかりません。 -autoexec.bat
というメッセージが出ます。
・A:type autoexec.batと打つと
コマンドまたはファイル名が違います。
というメッセージが出ます。
道添さん。
>DOSプロンプトはwindowsからのです。
>不確かな記憶ですが、MS-DOSで起動した場合とwindowsで起動した場合の
>AUTOEXEC.BATは違うものを使用するはずです。
>とすれば、MS-DOSで起動した場合のpathにPerlのpathがないのもうなづけます。
>windowsのDOS窓から下のようにタイプすると多分pathは通っていると思います。
DOSプロンプトは、Windowsの[スタート]メニューから[プログラム]を選択して、
その中のMS-DOSプロンプトを選択したのですが、これとは違うのですか?
>ちょっと気になったのは、perl -versionとタイプしたときのperl と -versionの間に
>スペースは入っているのでしょうか?
>入っていなければ件のエラーメッセージが出て正解となりますが......
perlの後スペースを入れて-versionとしています。
ぴゅあさん
>Perlは確かにb:\www\perl\binに存在してちゃんと動いていますので取り敢えずはAN HTTP
>Serverの方にはフルパスで書いておけば動くはずです(動いていますよね?)。
はい、動いています。
ぴゅあさん
>残された対処法として....
>1.syseditでAUTOEXEC.BATのウィンドウがアクティブになった状態で(全部を書き戻して
>くれるのかアクティブになっているものだけなのかは判らないので)ファイルメニューの
>上書き保存をしてみる。
>その後DOSプロンプト(MS-DOSモードで再起動ではないですよ。Winのままの状態でです。
>AUTOEXEC.BATしかない−AUTOEXEC.DOSはない−ということなのでそこを間違って操作して
>いるとは思えませんが)でtype \autoexec.batをやってみてください。pathが追加されてい
>ればWinを再起動すればDOSプロンプトでperl -versionとしただけでもその出てきた
>メッセージが表示される筈です。
1を試してみましたが、>2.DOSプロンプトでedit \autoexec.batとしてpathを追加して保存してみてください。
@ECHO OFF
SET DMIDIR=a:\necdmi
と表示されただけで、パスは表示されませんでした。
それと、AUTOEXEC.DOSはAドライブにありました。
AUTOEXEC.DOSをメモ帳で開いてみると
REM [Header]
@ECHO OFF
REM [CD-ROM Drive]
REM MSCDEX.EXE /D:OEMCD001 /L:Z
REM [Display]
REM MODE CON: COLS=80 LINES=25
REM [Sound, MIDI, or Video Capture Card]
REM SOUNDTST.COM
REM [Mouse]
REM MOUSE.COM
REM [Miscellaneous]
REM FACTORY.COM
とありましたが・・・。
なんかどうも22時頃は書けないですね。
これが投稿できるのは何時になることやら。
明日は幕張の最終日なので今日こそ早く寝たいし....
NT Serverの調子が悪いのだろうか?再構築したばかりなのに
確かにネットワーク上のコンピュータを検索しようとするとNT Server上からだけは異常に重
いけど....
>中田さん
ネットワークで思い出しました。グローバルIPアドレスからホスト名を取得するコマンドって
Win標準でありましたっけ?うちの掲示板のCGIをちょっと改造すれば良いのでしょうけど。
ただUDP専用のポートでしか使っていないかもしれないIPアドレスから取得できるのだろうか?
というよりその辺の基礎が成っていないから考えるとぐしゃぐしゃになるんですけど。
何故かまたNT Serverからのpingが機能しなくなってるし....当然なのかそれが機能しな
くなるとクライアント側からも見れなくなっている。前は見えていた筈?なのに。
これはICQが接続できなくなったという問い合わせから何とか解決されたんですけど(たぶん
ある筈の)ホスト名を確認しておきたいからです。そうしないとまたサーバのIPアドレスが変
わるとIPアドレスを探さないといけなくなるのです....
>miyakeさん
原因不明ですが確かに正しいAUTOEXEC.BATを見ていますし、それとsyseditの中身が違うと
いうのも変ですね。確かに先日のsetコマンドの結果はそのtypeコマンドで見たAUTOEXEC.BAT
によって設定されたもののようです。といっても追加されたPerlへのパスがあるかどうかだけ
の違いですが。
Perlは確かにb:\www\perl\binに存在してちゃんと動いていますので取り敢えずはAN HTTP
Serverの方にはフルパスで書いておけば動くはずです(動いていますよね?)。
パスの件はDOS/VとPC-98xxでAUTOEXEC.BAT周りに違いがあるとも思えませんし、ちゃんとで
きているという方がいらっしゃるのでPC-98xx版のWinのバグでもないのでしょうし。
残された対処法として....
1.syseditでAUTOEXEC.BATのウィンドウがアクティブになった状態で(全部を書き戻してく
れるのかアクティブになっているものだけなのかは判らないので)ファイルメニューの上書き
保存をしてみる。
その後DOSプロンプト(MS-DOSモードで再起動ではないですよ。Winのままの状態でです。
AUTOEXEC.BATしかない−AUTOEXEC.DOSはない−ということなのでそこを間違って操作してい
るとは思えませんが)でtype \autoexec.batをやってみてください。pathが追加されていれ
ばWinを再起動すればDOSプロンプトでperl -versionとしただけでもその出てきたメッセージ
が表示される筈です。
2.DOSプロンプトでedit \autoexec.batとしてpathを追加して保存してみてください。後は
1.での確認方法と同じです。
ただしPC-98xx版ではeditコマンドがないかもしれません(或いは名前が違う?seditだっ
たか??)。その場合はエクスプローラでAドライブのルートを見て(マイコンピュータでA
ドライブのフォルダを開いてでも良いです)マウスの右クリックメニューから編集を選んで修
正してみてください(こっちの方が手っ取り早いかも。ただエクスプローラとかの使い方の解
らない人も実際多く居るのでということでいくつかの編集方法を挙げておきました)。
ん〜。後は何かあるかな?
取り敢えずこのくらいを試してみてください。
駄目だったらまた考えてみるということで。
AN HTTP Serverにフルパスで指定して動作したならそんなに焦ることはないです。取り敢え
ずAN HTTP Server上で使っている限りは問題となることはまずないでしょうから。
なんか環境の状態が気持ち悪いですけど....
下に追加!
DOSプロンプトはwindowsからのです。
不確かな記憶ですが、MS-DOSで起動した場合とwindowsで起動した場合のAUTOEXEC.BATは違うものを使用するはずです。
とすれば、MS-DOSで起動した場合のpathにPerlのpathがないのもうなづけます。
windowsのDOS窓から下のようにタイプすると多分pathは通っていると思います。
ちょっと気になったのは、perl -versionとタイプしたときのperl と -versionの間にスペースは入っているのでしょうか?
入っていなければ件のエラーメッセージが出て正解となりますが......
はずしてたらすいません。
miyakeさん
だとすれば、DOSプロンプトから
A:
type autoexec.batと打ったらどうでしょう?
私が見る限りでは、Perlは正しくインストールできていると思います。
これで、pathが通っていれば、あとはANhttp側の設定だけだと思いますが....
突然のカキコすいませんでした
miyakeです。
DOSプロンプトではプロンプトは、A:\WINDOWS> と表示されています。
DOSプロンプトで
・type \autoexec.bat と打つと
@ECHO OFF
SET DMIDIR=a:\necdmi
と表示されました。
syseditから開いたautoexec.batの中身とは違って、pathすべて書かれていません。
(最後の行に追加したpath "%path%;b:\www\perl\bin;"も)
・b:\www\perl\bin\perl -version と打つと
This is perl,version 5.003_07という表示がされました。
Copyright 1987-1996,Larry Wall
+suidperl security patch
Win32 port Copyright (c) 1995-1996 Microsoft Corporation
All rights reserved.
Developped by ActiveWare Internet Corp.,http://www.ActiveWare.com
Perl for Win32 Build 316 - Built 09:44:44 Mar 13 1998
Perl may be copied only under the terms of either
the Artistic License or the GNU General
Public License, which may be found in the Perl 5.0 source kit.
ご回答、ありがとうございます。 もの凄く残念ですが仕方ありませんね。
まぁ先の例は説明を判りやすくするためのもので、現実にあのような状態が
起こっている、ということではありません(と、思います)。
どちらかというと巨大なJPEGファイルを送信中に多量の要求を受信する様な
流れではないかと思われます。
私のところは七人ほどのアマチュアの絵描きさんがpageを構築していまして
その造りも各人次第ですし、すでにServer側の事情で変更させる事が可能な
状況にはないので、とりあえず現状維持、ということになります。
というか、OCNエコノミーでは回線が細すぎて飽和状態なので外部レンタル
でサーバを立てようと思い、日本で生まれたAN HTTPDを、と考えました。
(今からUNIXでは覚えることが多すぎるので慣れたNTを使うつもりです)
とにかく方針が定まりましたので私としては一歩前進です。
余談になりますが、CPUを100%使い切る、という現象は私のサイトでも発生
しました。 さらに、この現象はapacheでも発生します。 御参考までに。
>竜さん
リファレンスではforkが使えると書いてありますが未サポートと出ますね。
何かをすれば使えるのかもしれませんが。
使ったことがないので判りませんが。
-dオプションはデバッガが立ち上がってコマンド待ちになると思うのですけど何処で出たので
しょう(と聞いたところでσ(^ー^)には解らないと思うが)。
もしかすると-dオプションにより出されているメッセージだったりはしないですか?
-dオプションなしで実行すると未サポートと出ると思います。
ただしPerl for Winの場合です。
それから余談ですけど先日書いた最大接続クライアント数ですけど今時のハードでかつめちゃ
軽いLinuxでさえ20クライアント程度に抑えるのが適当であるようですね(どのクラスのマシン
でどの程度の快適さを言っているのかは知らないが)。ましてやWinであると半分も行けば良い
方なのでしょう?
最近はDOS/Vベース?のサーバマシンも安く出てきているようなのでそういうマシンを使えば
なんとかなるのかな?もう広告なくなってしまったのでどういうマシンなのか知らないけど。
尤もサーバ側にどれだけのパワーを持たせるかというよりどれだけ快適にかつ効果的に見せ
られるサイトを作れるかだとも思いますけど(考え方は人それぞれ)。
たかし@ばばさんへ追記
あとおっしゃるようなケースでも"同時"に60個の要求になることは少ないと思います。
時間差がある、という意味です。
たかし@ばばさん、
残念ながら、 Apache をお使い下さい、ということになるかもしれません。
ただ、AN HTTPD は「サーバビジー」は返しません。
50を越えると、"no more client socket ..." というエラーメッセージを errors.log に残すだけのはずです。(ビジーを返すこともできなくなる)
竜さん、
Windows上の Perl では fork() は もちろん unsupported だったと思います。
Windows 上で fork & exec を使おうと思ったことはないのでちゃんと調べたわけではありませんが。
JUN さん、
現在のところ、SSIでは .cgi の中身はみません。
できるだけはやく CGI と同様に中身を判断するようにしたいと思っています。
mika さん、
FORM の ACTION に指定しているファイルの拡張子は何でしょうか?
JavaScriptを使っているとしても ACTION はなんらかのスクリプトか実行ファイルだと思うのですが。。
中田さんへ、最大スレッド数50個に関しての質問です。
これはクライアント数ではなく、get要求の総数への制限ですよね?
例えば、webpageにgifファイルが20個ほど貼り付けてあるとします。
このとき別々の三個所のクライアントから同時に同じpageのget要求が
来た場合、60もの要求が一度に溜まる、と考えられます。
ここで50をオーバーした分に対しては「サーバビジーが返される」
という解釈でよろしいでしょうか?
これが正しいのであれば、私のサイトの使い方では現状の AN HTTP は
使いにくくて困ってしまうのです。
テレホタイムに入ったとたん、外部からのアクセスが大量になり、結果
ビジーの嵐という現象が発生しました。
現在は仕方ないのでapacheを使っているのですが(^^;)
TODOの項目として、このスレッド制限をなくすことが挙がっていますが
作業優先度は、どのあたりに置いていらっしゃるのでしょうか?
あるいは何か回避策があれば御教授願えませんでしょうか?
Perlでforkという関数を使用したいんだけど・・・?
何かインクルードしないといけないの?
perl -d *.cgi を実行したとき、"Forked, but do not know how to change a TTY"の
メッセージが出力されるんだけど、何故?コードは以下の通りだけど・・・
my $pid;
if($pid==fork()){
#success fork;
} elsif(defined $pid){
exec "tret compo 8520 $keyword" or warn &infobeeError();
} else {
#fail fork;
die "could not fork: $!";
}
はじめまして。JUNと申します。
Win98+HTTPD1.19fでCGIを作成しています。
主にUnixサーバにUPする前のCGI動作チェックに使用させていただいております。
ご質問があります。
EXE形式の.cgiを実行するにチェックをつけて、C言語で作成したCGIを動作させています。
(コンパイル後*.exeから*.cgiにリネームor*.cgiとしてOUT)
CGIは動作するのですが、この手法で作成したCGIファイルをSSIとして動作させようとした時に、
拡張子が*.cgiだと中身がexe形式だろうが
<!--#exec cmd="CGIファイル名"-->とあればPerlスクリプトとして処理されてしまいます。
process.logより。。。
(ちなみに*.exeならばCommand.comが処理で、正常動作。現在このように対処中)
これは仕様でしょうか?
なにかよい方法はないでしょうか?
以上、よろしくお願いします。
テスト環境用に使わせていただいて、重宝しております。
JavaScript でFORMの内容が空っぽだったら、onSubmit 時にreturn false を返す
というのを組んでいるのですが、
Error 500
このファイルにはPOSTメソッドが使えません。ファイル名:/xxxx/xxxx
というようなエラーが出ます。Get メソッドにするとOKだったりするのですが
なぜでしょうか?
Getだと送信できるバイト数に限りがあるのでPOSTにしたいのですが。
ぴゅあさん、中田さんありがとうございます。
もう少しちゃんと見直してみます。それでもどうしても分からなかったら
ご迷惑をかけますが、中田さんよろしくお願いします。
みゆきさん、
エラーの原因がどうしても不明なら、その askabbs.cgi をメールで送ってください。
miyake さん、
元に戻ってしまいましたね。
ちょっとややこしい説明になりますが、
ぴゅあさんも書いていますが、\ をつけて、
(1)type \autoexec.bat
でファイルが見つからないエラーになるようでしたら、
(2)sysedit で表示されている autoexec.bat の フルパス
を知らせてください。
フルパス、の意味は、sysedit の autoexec.bat のウィンドウのタイトルバーに表示されているものです。A:\AUTOEXEC.BAT になっているでしょうか?
もし、A:\AUTOEXEC.BAT になっているのなら、(1)でファイルが見つからないというのとは矛盾します。
A:\AUTOEXEC.BAT ではないようでしたら、どうなっているのか知らせてください。
(1)で、もし autoexec.bat の中身が表示されて sysedit で見たものと内容が同じなら、Windows を再起動してください。
hammer さん、
エラーメッセージからするとCGIは動作していてCGIの設定か中身のエラーがあるように思えます。
オプション/一般の「CGI出力を検査」にチェックを入れてから、再度やってみてください。
何かエラーメッセージが表示されないでしょうか?
# エイリアスの設定まわりの場合はたぶん エラー404 になるはずだと思います。
>miyakeさん
一箇所見落としてしまいました。
DOSプロンプトではプロンプトがA:\WINDOWS>と表示されますよね(もしA>となっているのな
らcdと打てばA:\WINDOWSと表示される筈)。
即ちtype \autoexec.batとしないとファイルが見つからないと出てしまいます。
これが見つからないようだとsyseditでA:\AUTOEXEC.BATが出てきたのも変ですが。
マルチブート(PC98xxでは簡単に複数のOSを入れて切り替えることが出来る)などをしてい
てまったく別のところを見ているということはまずないのだろうと思いますが。
謎な状態ですが(他の人から話が出ないということは同様に謎なのだろう)、AN HTTP Server
の方でPerlをフルパスで指定して動作するなら取り敢えず支障はないでしょう。
またDOSプロンプト側ではb:\www\perl\bin\perl -versionとしてバージョン情報が表示さ
れれば取り敢えずは問題ありません。いちいちフルパスで書いていると面倒だというだけのこと
ですから。面倒だと思ってきたらDOSプロンプトに入ったときにPATHの設定をするようにすると
かバッチファイルを作ってしまうという手もありますし。
謎は謎ですがどうもその環境変数の出方はAUTOEXEC.BATが存在していない状態のように思え
ます。或いは何かのソフトでAUTOEXEC.BATを無効にするとかしていないのでしょうか。例えば
Officeに含まれるツールのひとつでも可能ですし色々なシステム周りのソフトでそういうこと
ができるものが多くあります。そういったソフトでAUTOEXEC.BATの読み込みを無効にしたまま
気づかないでいるのかもしれませんね。或いはDOSプロンプトのプロパティに触ったことがある
とか。
miyakeです。
ぴゅあさん
>原因不明ですね。何処かに見落としている部分があるのだと思いますけど。
>・DOSプロンプトでtype autoexec.batを実行してみるとその追加したpath ...は表示され
>るでしょうか。
表示されないです。
ファイルが見つかりません。 - autoexec.bat
という表示が出ました。
ぴゅあさん
>・同様にMS-DOSモードで立ち上げたとき(これは確認しなくても良いと思いますがこちらで
>見えるようならautoexec.dosにのみ書かれているのかな)
>・DOSプロンプトでpathではなくsetと打つとどうなるでしょう。
>path=...以外の部分にb:\www\perl\binというのがあったりしないでしょうか。
DOSプロンプトでsetと打つと、
TMP=A:\WINDOWS\TEMP
TEMP=A:\WINDOWS\TEMP
PROMPT=$p$g
winbootdir=A:\WINDOWS
PATH=A:\WINDOWS;A:\WINDOWS\COMMAND
COMSPEC=A:\WINDOWS\COMMAND.COM
DMIDIR=a:\necdmi
windir=A:\WINDOWS
と表示がでます。
>hammerさん
うーん。やっぱり一部誤解をしそうな気もしますので追記しておきます。
エイリアスプロパティシートの/と/~rhinosは一般プロパティシートの設定に基づいて設定さ
れます。/がドキュメントルート,/~rhinosは/+~rhinosとも考えられドキュメントルート+public_html
に置きかえられると理解することも出来るでしょう。
/cgi-bin等でも同様と書いたのは置きかえられることがということです。
/cgi-bin等は先の場合と違い/+cgi-binではなく/cgi-binがエイリアスプロパティシートで
設定したパスに置きかえられます。通常はC:\httpd119fフォルダ内のrhinosフォルダと同レベル
に配置しておくのが構造的には最も適していると思います(C:\httpd119f\cgi-bin)。別に
C:\httpd119f\rhinos\cgi-bin(この場合/cgi-binと/~rhisnos/cgi-binという2つの呼び出
し方が存在することになる)でも全く別の場所でもかまいませんが。因みに/~rhisnos/cgi-bin
という呼び出し方だけを使うなら/cgi-binの設定は不要です。このようにバリエーションは
様々に存在します。
>hammerさん
そうですね。確かに間違っています(笑)。
余談ですがエイリアス機能を理解するならまず今のままの状態でエイリアスプロパティシート
を確認してみてください。
/がC:\httpd119f,/rhinosがC:\httpd119f\public_htmlとなっていることでしょう。
ドキュメントルートをC:\httpd119f\rhinosとしてください。
何度か書いていますが/~rhinosの指定(部分)はドキュメントルート(C:\httpd119f\rhinos)
に指定したフォルダ(public_html)が付加されて置きかえられるものと理解すれば設定の仕方
が解るものと思います。これはエイリアスプロパティシートの/cgi-bin等も同様です。
この修正後エイリアスプロパティシートの/~rhinosに関連付けられているパスを見てみれば
良く解るでしょう。
中田さん、ぴゅあさん、Resありがとうございました。おかげさまでIE5の
設定は解決したみたいです。が、今度はページが表示されません。(ページを表示
できませんというメッセージが表示されてしまう。)AN Httpdの設定が間違って
いるんだろうと思うんですが何が悪いのか分かりません。「ド素人が手を出すな」
と言われてしまいそうですが、ウチのプロバイダはCGIは許可してるんですが
シェルもTelnetも開放されてないので、ド素人だからこそローカルテスト
しないと怖くてアクセスカウンタも設置できません。どうか助けてください。
ディレクトリ構成は以下の通り
C:httpd119fhttpサーバ機能:オン バーチャルホスト:オフ
|
+--cgi/
|
+--cgi-bin/
|
+--httpd-docs/
|
+--imagemap/
|
+--isapi/
|
+--maps/
|
+--perl/
|
+--rhinos(ホームページ用ディレクトリ)
| |
| +--public_html/index.html
| hello.cgi(動作テスト用cgiスクリプト)
+--Scripts/
|
+--Ssi/
オプション― 一般の設定
>みゆきさん
backslash foundと出ていますので使っている日本語文字の扱い方に問題があるのかもしれま
せんね。σ(^ー^)は日本語文字でトラブルの発生した経験がないのではっきりしたことは言えま
せんが日本語文字の2バイト目にバックスラッシュ(「\」,$5C)が含まれるために問題が発
生するという話は聞きます。
エラーの示す行番号は必ずしもその位置を示すとは限りません。それより先を示すことの方が
多いくらいだと思います。それより先ということはありませんので遡って調べてみてください。
また場合によってはメッセージとは全然異なるものが原因となってエラーとなっていることも
あり得ますのでメッセージにとらわれずに柔軟に対処する必要があると思います。
>s_suzukiさんへ
なるほど。当面の逃げ手としてはそれもいいかな…って、HD容量がさすがに辛そう(^^;
はじめまして。すごく初歩的な質問ですみません。
Error 500
CGI エラー - Content-Type ヘッダが正しくありません。
CGI 出力メッセージ:
Backslash found where operator expected at H:\server\public_html\2\askabbs.cgi line 170, near ""
と表示されます。nearの後に文字が入っている時は適当に対処したのですが、ないときはどうすればいいのですか?どうかよろしくお願いします。
hammer さん、
コメント集の 前のもの(その28)にありますが、
IE5の設定は
(1)ファイルメニューの オフライン作業 のチェックははずす
(2)「接続」の「ダイヤルアップの設定」のところは、「ダイヤルしない」か「ネットワーク接続が存在しないときにはダイヤルする」のどちらか
(3)「接続」の「LANの設定」のところは全部チェックなし
でいいようです。
(2)は、私は「ダイヤルしない」にしています。ダイヤルする時は手動で接続しています。
いしどうさん、
ご紹介いただきどうもありがとうございます。
アクセント記号のエスケープは私は初耳ですがそれも含めて対応を考えます。
>hammerさん
ごめんなさい。
今は色々と問題を引き起こすのでIE5は入れるのをやめてしまいました。
過去にその件に書かれた記事がありますのでご面倒と思いますがご参照ください。
今はまだネスケを入れていないので探し出すのが面倒で途中でくぢけてしまいました。
きっと解決できるものと思います。
私も時々似たようなことをやっています。
私の場合は、
自動巡回Softのプロクシ設定でAnHttpdを通すことによりAnHttpd側でキャッシュを作り
キャッシュを丸ごとノートに写します。
そしてノートのAnHttpdをキャッシュOnlyモードとしてブラウザのプロクシにAnHttpdを設定
すれば夜の間に取り込んだページがいつでも見られて便利です。
自動巡回Softで落としたデータは無駄になってしまいますが....
gohです.
みなさんコメントありがとうございます.
とりあえずはぴゅあさんのアドバイスに基づいてMYDOCU~1に置き換えて動かしたところ正常に動作しました.
ありがとうございます.
いしどうさんもこちらのページにまで来ていただき詳しいコメントをしていただきありがとうございます.
中田さんへ出来れば本来のディレクトリ名であるMy Documentsを使いたいと思いますので,
対応できるようであればよろしくお願いいたします.
ちなみにAN HTTPDでnpc.cgiを利用するときは拡張子がEXEのままで利用し,
idxファイルの場所はローカルのフルパスかローカルのデフォルトパスからの相対パスを書く必要があります.
例) I=/cgi-bin/npc.idx ではなく I=e:\\MYDOCU~1\\httpdocs\\cgi-bin\\npc.idx
解答どうもありがとうございます。
こちらもあれから調査をおこないました。
エラー500の件については
マシンスペックおよび、WIN95でのタスクの増加で集中的にアクセスされた
際のリソース不足が原因でした。 Winoldap、jperlが、7、8以上動くと
発生しやすいようです。
これについては、メモリの増加等マシンスペックをあげることで対処できました。
表が壊れる件に関しては、CGIプログラムが悪いかどうかを判断するため比較対照として
WEBサーバにWinproxyを使用させて頂き実行を試みました。
これにより表が壊れるという現象はなくなったのですが、POSTがうまく受け渡さない
ようで・・・。(HTTPDはこの現象はありませんでした)
どこかCGIのプログラム自体に問題があるかもしれません。
プログラムを見ていただきたいのは山々なんですが・・いろいろと・・ありまして。(汗)
こちらのほうで、プログラムの正規化、スリム化を行ってみます。
今後も、HTTPDを使用させていただきますのでまたなにかありましたらよろしく
お願いします。
IE5を使用しているんですが、インターネットオプションの
接続の設定の仕方がわかりません。
とりあえず、「ダイヤルアップの設定」>「ダイヤルしない」
にチェックを入れて「LANの設定」はいじらずに(自動設定>
設定を自動的に検出するの項目だけをチェック)試してみたん
ですが、うまくいきません。(このページはオフラインでは表示
できないと言われてしまう。)
標準設定のままでも試してみましたが、結果は同じでした。
接続の設定が原因でうまくいかないのかどうかさえよくわかり
ませんが、とりあえすこの部分の正しい設定の仕方だけでも
教えていただけないでしょうか。お願いします。
おじゃまいたします (_ _)
CGI のカウンタイメージ表示プログラムのサポート会議室で、goh さんにお答えを
書かせていただいた、いしどう でございます。
昨年の Perl Conference でスピーカをした際に、AN HTTP Server を、WindowsNT
用の HTTP Server の例として無断で紹介させていただきました。申し訳ありま
せんでした(お知らせしようと思っていたのですが、時間がなくなってしまって…)
さて、現在の httpd では、フォルダ名に文字が空白が入っている場合には、空白文字が
含まれているフォルダ名をダブルクォート文字でくくっているようですが、WindowsNT
の CMD.EXE を使用する場合には、アクセント記号 "^" をエスケープ文字として
使用すればいいのではないかと思います。
goh さんの場合では、以下のとおり。
C:\WINNT\system32\cmd.exe /C "E:\My^ Documents\httpdocs\cgi-bin\npc.exe < C:\WINNT\stdin.0 > C:\WINNT\1.0"
Windows95/98 の COMMAND.COM ではどうすればよいのか、わかりません (_ _;;;
よろしくご検討をお願いいたします。
どうもありがとうございます。助かります。
もう諦めかけていたところだったので、本当に嬉しいです。
「anhttpd使わせて頂いてます」さんへ、
それは、minibbs.cgi が Windows に対応していないためでしょう。
minibbs のバージョンを言っていただければ、minibbs.cgi のどこを直すべきか言えると思います。
goh さん、
そうですね。 空白を含むPATHにも対応させようとして " " でくくっているのですが、くくりかたに問題があるようです。 もうちょっと検討します。
お示しの例では npc.exe までくくればいいのかなと思っていますが。
ERRORさん、
動的に大きな表を作る CGI一式をメールで送ってもらえませんか? 確認してみたいので。
エラー500の方は、内容次第ですが、お話からすると CGI(perl)プロセスが動きっぱなしになっているように思えます。
エラーになったあと、PERL および Winoldap というプロセスを強制終了させて復帰しないでしょうか?
また、AN HTTPD のオプションで、「単一スレッド」のチェックを入れた場合どうなるかお知らせ下さい。
MZ さん、
了解しました。
現在 HTTP/1.1 対応にしようとしていろいろやっているところなので、次のバージョンでとは約束できませんが対応します。
自動巡回で得たファイルの表示、というのもローカルサーバの使用法のひとつでしょうから。
HTTP の If-Modified-Since のような機能がないのでブラウザのキャッシュを有効に利用できないのかもしれませんね。
マルボロさん、
Error 500 に続くメッセージの内容をすべてお知らせ下さい。
通常のHTTPサーバでは Error 500 は「サーバの内部エラー」というだけで、一般には CGIや設定の誤りですが、AN HTTPD の場合はエラー内容を示すメッセージがでます(でるはずです)。
それを言ってもらわないと、原因はわかりません。
(あるいはそれにかわる説明でもいいのですけど)
はじめまして、anhttpd を使ってLAN上でWebサーバもどきをやっているの
ですが、この度掲示板を設置してみようと思い、perl(pw32i316.exe)を
インストールし、cgi-bin ディレクトリに minibbs.cgi , jcode.pl ,
dataディレクトリ , その配下に 0 バイトの data.cgi を置いて
アクセスしてみたのですが、最初の管理パスワードを入力してokを押すと
Busy(1)[混雑している] 又は Busy(3)[書き込み失敗] のどちらか(不定)
の画面がでてうまく動作してくれません。もちろんminibbs.cgi 内の
reload$ はちゃんと掲示版のurlを書いてあります。
とりあえず、掲示板を設置したことのある方にも聞いてみたところ、perlが
動作していないのでは?といわれたのですが、コマンドプロンプトから
のperl -version はちゃんと表示されるので多分きちんとインストされている
と思います。anhttpd側の実行プログラムもperl になってます。
どなたか助言をお願いしたいです。
○NT上で使用していますが、依然のverはNT終了時によくアプリエラー
になっていたのですが、1.19f にしてからはそんなこともなくなりました。
(^^)
>gohさん
ドキュメントルートをE:\My Documents\httpdocsにされているのですね。たぶん。
中田さんもよく答えられていますが短い名前でMy Documentsの部分を指定すれば良いのだと
思います。
ただ短い名前は環境を変えると別の名前になってしまうことがあるので空白文字を含まない
フォルダ名を使うのが最も確実であるとは思いますが。
Perl CGIが動作していたのは相対的にパスの移動をしていたからなのかもしれません。その
辺は調べてみたことがないのでσ(^ー^)には判りませんが。
色々なソフトでは空白文字が入っていると正しく処理できないもの,短い名前を探し出して書
き換えてくれるものなど様々ですが。
PerlをインストールするときC*\Program Files\PerlではなくC:\Perlにインストールされ
るようにデフォルト設定されているのは子のようなパスを回避するため,このようなパスを使わ
ないことを前提としているのでしょう。たぶん。ちょっと関係のない話ですが。
gohといいます.
WindowsNT Ver.4 + SP5 上でAN HTTPD Ver.1.19fをサービスで使用しているのですが,
exe形式のCGIを動かそうとしたら(CGIはnpc.exeでにあさんという方が公開されている
CGIイメージカウンタプログラムでURLはhttp://www2.biglobe.ne.jp/~nir/です.)
Error 500というエラーメッセージが出て動きません.
CGI エラー - Content-Type ヘッダが正しくありません。
CGI 出力メッセージ:
指定した名前は、内部コマンドまたは外部コマンド、________________________________操作可能なプログラムまたはバッチ ファイルとして認識されません
AnWeb/1.19f ココは空白
やっぱり↓の方法も無理ですね。ゴミを残してしまいました。ごめんなさい。
あ、入力テキストをそのままスルーするスクリプトをPerlで書く、ということですか。
なるほど。
>ぴゅあさんへ
> そうなのですか。AN HTTP Server側でPerlを動かして更に処理をするなど考えられないかと
> 思ったりもしますが後は中田さんの判断だと思います。
先にも書きましたとおり、拡張子は.CGIでも中身は単なるHTMLファイルなので、
Perl実行環境を整えても意味はありません。
> 処理を増やすこと。それは障害が発生しやすくなるということは対処できるとして全体的にそ
> れだけAN HTTP Serverの処理が重くなることとそれがユーザ全員に関わってくるということ
> を思ったりしますが対処方法がないのならそれも仕方のないことかもしれません。
作られる方のワークロードや、仕様変更が発生してしまう場合の皆様への
影響も考慮いたしました。その結論として「既存のCGI処理機能をdisableする」
方法を提案申し上げたわけです。
中田さんにはコーディングの労をお願いすることになりますが、エンバグや
既存ユーザの方々の運用トラブルの危険性は極めて低いと言えるでしょう。
ちょっと朝までサイト管理者とICQ HTTPdの調査をしていて疲れ気味....
>ERRORさん
サーバマシンとしてはWin95を使っているのですか?
AN HTTP Server周り,ハングアップ等してしまうのはどういう状況になっているのか見え
ないと判らないので取り敢えず参考になるかもしれないことを。
まずWin95/98はWinNT4.0に比べてマルチタスクの処理(CPUの使い方)が良くないのであま
り多くのタスクが立ち上がるのは好ましくないと思います。
原因が見えないので判りませんがスタックの不足,リソースの不足でハングアップということ
も考えられるかもしれません。因みにスタックの不足は回避できるようですがSYSTEM.INIをど
のように書きかえれば良いのかが判っていません(この場合は不足である通知が出ると思います
し極稀であると思います)。リソースの不足は話によるとどうしようもないようですが(増やす
ことはできない)。
もしISAPIを使われていないのならPerlを使うより軽くなりますし複数のアクセスに対して対
応できやすくなるものと思います。
アクセスの集中に付いてはどういうインターネット環境か判りませんが一般に10アクセス程
度が限界であるといわれているようでした。尤もISDNのない時代の話ですのでもう少し上がっ
ているのではないかと思いますが。新しいマシンを導入してみて判ったのはマシンスペックは
通常の使用に耐えられないくらい遅い(例えば486SX/25くらいでメモリもギリギリの16MBくら
いしかないとか)状態でなければあまり上げても変わりがないらしいということです。これを大
幅に超えるアクセスがあるならWinでは重過ぎるのかもしれませんしマシンもサーバ用の大き
なものにする他が必要になってくるのかもしれません。
またWin95を使っていた頃には長時間の連続稼動に絶えられていませんでした。これはWin95
の不完全であることが原因であるように思っていますが。
あとのAN HTTP Server自身の問題がある部分に付いてはσ(^ー^)では判りかねますので。
あ、あと大きな表が作れないのはブラウザに原因があるかもしれません。或いはメモリ不足な
どでPerlが実行しきれていないのかもしれません。後者であればPerlソースコードの工夫で回
避できることも考えられますが。
それからエラー500が消えないのはShiftキーを押しながら再読み込みしても駄目ですか?
キャッシュに残っていると表示が変わらない場合があります。
またたぶんAN HTTP Server側では設定できる部分はないのだと思います。
>MZさん
そうなのですか。AN HTTP Server側でPerlを動かして更に処理をするなど考えられないかと
思ったりもしますが後は中田さんの判断だと思います。
処理を増やすこと。それは障害が発生しやすくなるということは対処できるとして全体的にそ
れだけAN HTTP Serverの処理が重くなることとそれがユーザ全員に関わってくるということ
を思ったりしますが対処方法がないのならそれも仕方のないことかもしれません。
>miyakeさん
原因不明ですね。何処かに見落としている部分があるのだと思いますけど。
・DOSプロンプトでtype autoexec.batを実行してみるとその追加したpath ...は表示されるで
しょうか。
・同様にMS-DOSモードで立ち上げたとき(これは確認しなくても良いと思いますがこちらで見
えるようならautoexec.dosにのみ書かれているのかな)
・DOSプロンプトでpathではなくsetと打つとどうなるでしょう。
path=...以外の部分にb:\www\perl\binというのがあったりしないでしょうか。
詳しくは夜にでも調べてみますが。
miyakeです。
ぴゅあさん> 取り敢えずはAN HTTP Serverでフルパス指定すれば動くということなので急
ぐこともないと は思いますが....
一応いつかは使うことがあるかもしれないことを想定して考えてみておきま
しょう。
Windowsの終了でMS-DOSモードで再起動するを選んでDOSプロンプトでpath
コマンドを打つと どうなるでしょう。
コマンドまたはファイル名がちがいます。
というメッセージが出ます。
ぴゅあさん> あんまし関係ないことの筈なんですけどね。見ているところは間違いない筈
だし。syseditで追加したんですよね?パス
もしかして保存を忘れたとか?再度syseditを立ち上げて確認してみてくださ
い。
環境によってはAUTOEXEC.BATとAUTOEXEC.DOSが存在している場合もあるので。
Perlをインストールして、syseditを立ちあげてAUTOEXEC.BAT を開いた時点で
path "%path%;:b:\www\perl\bin
とありました。
そして、DOS-プロンプト で path と打ち込むと
PATH=A:\WINDOWS;A:\WINDOWS\COMMAND
という表示が出ますし、
perl -version と打ち込むと
コマンドまたはファイル名が違います。
というメッセージがでます。
AUTOEXEC.BAT の最後の行に PATH "%PATH%;b:\www\perl\bin;" を
追加してもそれぞれ同じメッセージが出ます。
>ぴゅあさんへ
> 或いはそのソフトが.cgiとしてしか出力できないのかもしれません。しかしHTML文書である
>ということが確実であるなら拡張子を変更するだけで済むでしょう。
ご意見ありがとうございます。
勿論、私としても逃げ手は色々考えました。まず、自動巡回ソフトが吐き出す拡張子は
.CGIから変えられません。リネームも考えましたが、現時点で60000個近くのファイルがあり、
しかもそれらは毎日更新がかかっておりますので、その都度リネームをかけるのは現実的では
ありません。また、他ページからのリンクが切れてしまいます。
普通に閲覧するのではなく、HTTPサーバを介してブラウジングしたい理由は、ローカル
ファイルだとキャッシュが効かず、ページの構成によってはたいへん遅くて実用にならない
からです。現在、拡張子CGIのファイルは閲覧できずにおりますが、それ以外のファイルは
HTTPサーバ発の方が明らかに高速で快適です。
私としても色々考えた末、現行のAN HTTPの仕様に影響を与えない範囲で機能追加要望を
出したつもりです。説明不足をお詫びいたします。
はじめまして。
WIN95にて、HTTPDを使用させていただいてます。
CGI(jperl使用)を利用してかなり大き目の表を動的に作成しているんですが、
表が(HTML)が正常に作成されないことがあるのです。
作成する表の量を減らした方が正常に作成されやすいようですが・・
サーバのマシンスペックが足りないのか・・・よくわかりません。
もうひとつありまして。
これも毎回ではないのですが、アクセスが集中するとエラー500が
でやすいみたいで・・。
それが一度出るともう正常に表示されません。
HTTPDを終了は終了できるのですが、そのあとWIN95を
再起動(または終了)させようとするとハングアップしてしまうのです。
また、HTTPDだけを再起動しても現象は変わらず、エラー500が
表示されます。 再起動するしか現在復旧の方法がないのですが・・。
どこか、設定がまずいのか・・いろいろためしてみたのですが・・。
どうかよろしくお願いします。
>マルボロさん
エラーコードの他にメッセージはなかったのでしょうか。
単にエラー500と言われただけでは色々な理由が考えられます。
最も単純な問題はUNIX用のソースコードを無臭性のまま使っている,requireされるべき
ファイルがないといったところでしょうか。
>MZさん
σ(^ー^)ならそのまま拡張子を.htmlとしてHTML文書として扱うようにしますが。
どうしても.cgiにしなければならない理由があるのでしょうか。
或いはそのソフトがプロバイダのサーバ上で動いているのならデータの形で生成してAN HTTP
Server上でHTML文書にするという手もあるでしょう(その方がずっと良いと思う)。
或いはそのソフトが.cgiとしてしか出力できないのかもしれません。しかしHTML文書である
ということが確実であるなら拡張子を変更するだけで済むでしょう。
本来AN HTTP ServerはCGIを動かせるようにするためにあるといっても過言ではないと考え
ます。(サーバとしてインターネット上に出すという点は別として)HTML文書の閲覧だけで
あればわざわざAN HTTP Serverを使うことはありませんし、逆行するような変更をお願いする
のは一般的なHTTP Serverと(かなり)かけ離れた要望を出すことよりどうなんだろうかと考
えたりします。
どうしても今の仕様では解決できないこと。それはお願いしてみることも仕方ないことと思い
ますが何らかの手段のある場合(手を加えてもらうことにより便利になることもあるでしょう
が)自分の手で対処法を考えるということも大切だと思います。
どういうソフトなのか解りませんが失礼しました。
はじめまして。
Web自動巡回ソフトで吸い出したデータを閲覧するため、ローカルでhttpサーバを
立ち上げようと思い、AN HTTP Serverのことを知りました。
私の使用している自動巡回ソフトは、CGIの実行結果のHTMLを取得し、拡張子.CGIの
ファイルとして保存します。つまり、拡張子.CGIのHTMLファイルができます。
このファイルを正常に扱うため、
・「CGIを実行可能な拡張子」を変更できる
もしくは
・CGIの機能そのものをOFFにできる
ようなオプションを追加していただけませんでしょうか?
Error 500ってことは、CGIに問題があるんではないでしょうか?
始めまして、Hiroは、辞めて・・・
早速ですが、「error 500」がでて、
CGIができません。IE5です。
どう設定を変えたら良いのでしょうか?
始めまして、
早速ですが、「error 500」がでて、
CGIができません。IE5です。
どう設定を変えたら良いのでしょうか?
>Hiroさん
内容が非常に曖昧でどういう答え方をすれば良いのか悩みますが。
考えられることをすべて書くと非常に長くなりますし。
急いでいるからこそを何を聞きたいということをはっきりさせないと。
取り敢えず聞いているのだろうと思われること。
・AN HTTP Serverの動作試験
・基本動作
簡単なHTML文書が正しく表示すること。
添付のreadme.htm[]?]が見えると良いでしょう。
或いは別に用意したドキュメントルート上で。
・CGI動作
簡単なCGIが正しく動作すること。
添付のテスト項目が1つでも動くことは一応しておくと良いでしょう。
添付のテストにはPerlによるCGIがないと思ったので簡単なコードを書いて動くこと。
・CGIのデバッグ
・AN HTTP Server上での違いの確認
UNIXサーバ上でのPerlでしょうから(IIS等はテストできない?)Win上では対応してな
い部分を把握し処置しておく。
CGI動作確認済みというのはそのコードがではなくてCGIが使える(動く)ということだと
思うので後はそのコードのデバッグ。
デバッグには様々な手法があるので....
ただ急いでいるというのであればAN HTTP Server上でのデバッグは慣れてからの方が良いと
は思いますが。常にサーバが使える状態ではないのでしょうね。
サーバ上ではデバッグ環境が....ということなのかも知れませんがどちらでやっても環
境,手順的には変わらないと思います。サーバによっては制限されていることもあるでしょう
が。
どの部分を知りたいのかということを詳しく挙げてもらえれば。
と....コードの何処が悪いんだろうという話になるのでしょうけど。?
だいぶ遅くなりましたが、8月24日に投稿した者です。
PWSとanHttpdの併用でお聞きしたのですが、
おかげさまで解決いたしました。
ありがとうございます。
これからも、素晴らしいサポートを続けて頑張って下さい。
余談ですが、これだけユーザがいれば本にしてもいいくらいですよね。
では!!
す、すみません。改行が不適切でした・・・
はじめまして。
昨日、httpd.exeをDLしました。非常に初心者で、こんな所に
書くと怒られちゃいそうなのですが、ちょっと期日が迫っていて
あせっているため書かせていただきます。
ReadMeのマニュアルでは申し訳ないのですが私にはよく理解できません
でした(汗)。CGIの動作確認を自宅のPCでしたいだけなのですが
すべき作業はいかなる流れになりますでしょうか。
初心者向けのソフトではないと書かれてはいたのですがCGI動作確認済みの
サーバで動かないモノがありまして、PC上で動作確認をしたいのです。
お恥ずかしい質問で恐縮ですが、よろしくお願いします。m(__)m
やっとNT Serverもインタネ関係のみ移行作業が終わって新しいパソでインタネ....
まだどちらもインタネ関係以外は入っていないけど....
やっと人並みの快適さに感涙ちう(T_T)
(当分つぶやきモード付きを実験(爆))
>miyakeさん
取り敢えずはAN HTTP Serverでフルパス指定すれば動くということなので急くこともないと
は思いますが....
一応いつかは使うことがあるかもしれないことを想定して考えてみておきましょう。
Windowsの終了でMS-DOSモードで再起動するを選んでDOSプロンプトでpathコマンドを打つと
どうなるでしょう。あんまし関係ないことの筈なんですけどね。見ているところは間違いない筈
だし。syseditで追加したんですよね?パス
もしかして保存を忘れたとか?再度syseditを立ち上げて確認してみてください。
環境によってはAUTOEXEC.BATとAUTOEXEC.DOSが存在している場合もあるので。
miyakeです。
たかし@ばばさん>1999/08/31の発言を読んだのですが、pathが設定されていないのは、
今もでしょうか?
AUTOEXEC.BAT の最後の行は、path "%path%;B:\www\perl\bin;"
になってます。
たかし@ばばさん>DOSプロンプトを立ちあげて、path と打ち込んで
「PATH=A:\WINDOWS;B:\www\perl\bin」
と表示されるとしたら、perl -version と打ち込んだときに
コマンドまたはファイル名が違います」
と表示されるのは、どう考えても変なのですが・・・・・
DOSプロンプトを立ちあげて、path と打ち込むと
「PATH=A:\WINDOWS;A:\WINDOWS\COMMAND
と表示されますが・・・。
take さん、
そうですね、どのコネクションでのやりとりかはAN HTTPD のトレースだけではわからないので、おっしゃるようにコネクションまわりでしょう。
まだ私の方で確認できてませんが、お話も参考に調べて対策をとります。
miyake さん、
(2)の方法でできるためには
(a)A:\AUTOEXEC.BAT の PATH の設定に B:\www\perl\bin を追加
(b)(a)の後、Windows を再起動
の2つが必要ですが、(a)はできていますし、(b)の Windows を再起動 をしていないとは思えないので、たかし@ばばさんも言われるように不思議です。
とりあえず(2)はあきらめて(1)でいくというのでもいいのでは(?)。
えむけいさん、
そのような実装は考えていませんでしたが、確かに そういうのもあるのですね。
Content-Encoding: は次の次くらいを考えています。
中田様、先日お尋ねした竹谷です。
>>私、WinNT4.0(SP5)でAN HTTPD 1.19fを使用させていただいておりますが、
>>Internet Explorer5で2回以上素早くリロードするとHTTPDがコケてしまう
>>という、現象に悩まされています。
(中略)
>>Netscape Communicator4.51ではコケません。
>IE5が HTTP/1.1 でリクエストを出し、サーバも当然 HTTP/1.1 と思っている
>からかもしれません。(リロード時に前の接続をブラウザからは切断しない、
>ということです)
>IE5の詳細設定で、「HTTP 1.1 を使用する」のチェックをはずしてやってみてい
>ただけますか
「HTTP 1.1 を使用する」のチェックをはずしていたのですが、発現してました。
特に、小さいサイズのHTMLファイルで起こるようです。(なぜか、TEXTファイル
では発現しなかった。)
以下のサイズ程度のHTMLファイルでよく起こります。
<html>
<head><title>take's test page</title></head>
<body><h1>take's test page</h1></body>
</html>
IE5とNN4とで、HTTPDのトレースログを見た限りでは、HTTPDが送信している途中
でIE5が特に両者に差異は見あたりませんでした。(せいぜいNNがプラグマにno-
cacheを指定しているぐらい)
ポートモニタも、tcpdumpもしてないので詳細は分かりませんが(と言っても私は
HTTPプロトコルに疎いのですが)単に、HTTPDがノリノリ100%になって、ものすご
く重くなると言うだけで、クライアントのIE5は何ともなってないようです。
また、WinProxy等でプロキシを介すると大丈夫なようです。
なんか、HTTPメッセージではなく、TCPコネクション周りのような気がしてきました。
確かに、HTTPはTCPのコネクションを信頼している仕様らしいので、片方が接続を
うっかり切断した場合に、もう片方がHTTPリクエストを待ち続けているのかもしれ
ません。(大きくはずしてるかも。かなり自信無し)
前回のコメントは半分はずしていたようで失礼しました。
>miyakeさん
1999/08/31の発言を読んだのですが、pathが設定されていないのは、今もでしょうか?
DOSプロンプトを立ちあげて、path と打ち込んで
「PATH=A:\WINDOWS;B:\www\perl\bin」
と表示されるとしたら、perl -version と打ち込んだときに
「コマンドまたはファイル名が違います」
と表示されるのは、どう考えても変なのですが・・・・・
miyakeです。
中田さん>(1)オプション/一般の「.pl, cgi の実行プログラム」を
「B:\www\perl\bin\perl.exe」と指定する ことで CGI は正常に動作し
ますよね(?)。
はい、動作します。
(2)オプション/一般の「.pl, cgi の実行プログラム」のところを単に「perl」と
指定することでも正常に動作すると思いますが、どうなのでしょう?
単に「perl」にすると、
Error 500
CGIエラー 以下のコマンドラインを実行できません。
"perl b:\www\aiai\public_html\cgi-bin\notebook.cgi
というメッセージが出ます。
たかし@ばばさん>とりあえずファイル検索でperl.exeが何処にあるかを調べましょう。
存在していなければインストールされていません。
perl.exeは B:\www\perl\bin にありました。
(2)の方法では正常に動作させられないのでしょうか?
やはりご指摘あったようにCGIミスでした。コメント送れてスイマセンでした。
.gz で終わるファイルを返すとき、応答ヘッダにContent-Encoding: gzip を付けて Content-Type は後ろから2つ目の拡張子で判断する(たとえば.gif.gzならimage/gifにする)ような機能は付けられないでしょうか?
少なくとも Netscape-Enterprise にはこの機能があるようです。
take さん、
IE5が HTTP/1.1 でリクエストを出し、サーバも当然 HTTP/1.1 と思っているからかもしれません。(リロード時に前の接続をブラウザからは切断しない、ということです)
IE5の詳細設定で、「HTTP 1.1 を使用する」のチェックをはずしてやってみていただけますか?
もちろん、その結果にかかわらず、そうなってしまっては困るので対策を考えます。
竜さん、
カメヤマさんの言われるとおり Location: を返せば別の CGIプログラムを呼び出します。
それ以外の場合、Perlスクリプトなら `perl xxx.cgi` や、system("perl xxx.cgi")などとすれば呼び出すことはできます。 ただ、ヘッダをどちらが返すのか考える必要はあると思いますが。。。
たかし@ばば さん
どうもありがとうございます。安心しました。
ぴゅあさん、
ISAPIの .dll がロードできないのでエラーになります。
デフォルトでチェックされているのは拡張子 .dll のもの一般をISAPIとみなして動作させるという意味です。
水谷さん
Perlの方はうまくいったのでしょうか?
cgisample.html はすべて BATファイルですから、Perlとはまた別問題ですが、
(4)はぴゅあさんの言われるとおり jgawk を入れていなければそうなります。
(2)(5)(6)はPOSTがうまくいかない、という話のようですが、原因はちょっとわかりません。
一度 readme.html のアンインストール法にしたがって、AN HTTPD をアンインストール(関連のレジストリを消去)してからやってみる方がいいかもしれません。
>カメヤマ@m2worksさん
なるほどそれで行けますか。
ちょっと以前どうするのだろうかと思いましたが(ブラウザに応答を返さないまま次のCGIに
移行する方法)。
ついでに余談ですけどσ(^ー^)ならこう書きます。
print 'Location: http://www.hoge.com/cgi-bin/hogehoge.cgi',"\n\n";
実際には
$\ = "\n";
print 'Location: http://www.hoge.com/cgi-bin/hogehoge.cgi',"\n";
あるいは最後の"\n"をprint '';としておきますが。
サーバに優しいような気がして。
因みに変数を含めたいときはprint 'Location: ',$url;という感じ。
.演算子を使わないというところがまたミソでもあったりします。
>たかし@ばばさん
ありがとうございます。
問題ないのですね。
DOS/V機では自動的にセットアッププログラムが起動するのですがPC-98xxでは起動しないの
ですね。miyakeさんの言われているSYSEDITでの表示が手で修正した後のものであるなら確かに
そうなのでしょう。
はじめまして。
私、WinNT4.0(SP5)でAN HTTPD 1.19fを使用させていただいておりますが、Internet Explorer5で2回以上素早くリロードするとHTTPDがコケてしまうという、現象に悩まされています。NTタスクマネージャを見るとCPU利用率が100%になっていて、OS丸ごと、ものすごく遅くなります。
同一セグメント内のリモートにサーバを立てても、ローカルにサーバを立てた場合でも発現します。とにかく、立て続けに同一ホストのIEがHTTPヘッダを送りつけるとコケるようです。
Netscape Communicator4.51ではコケません。
どなたか、同じ様な経験をされた方、また、その対処法が分かれば、フォローを頂けましたら幸いです。
カメヤマ@m2worksです。(プライベートモード(笑))
●竜さま
>CGIプログラムの中からCGIプログラムを呼び出す方法って誰か知っていますか?
単純な方法として、Locationで呼び出す方法が考えられます。
例として、http://www.hoge.com/cgi-bin/hogehoge.cgi を呼び出したい場合は
以下のように記述します。
print "Location: http://www.hoge.com/cgi-bin/hogehoge.cgi\n\n";
最後の \n は必ずふたつ記述してください。
ダブルクォーテーション(")で括っていればLocation:の後ろは、変数でもOKです。
もちろん相対アドレスでもいけるはずです。
CGIプログラムの中からCGIプログラムを呼び出す方法って誰か知っていますか?
はじめまして、たかし@ばばといいます。
perlとPC-98xxに関して発言が無いようなので書きます。
PC-9821Xa/U8Wで動作させています。 何も問題はありません。
インストール作業自体は既に忘却の彼方へ行ってしまったので
以下の指摘は間違っているかもしれませんが。
>miyakeさん
Pw32i316.exeを実行するとファイル展開だけを行なうのでは?
インストール作業は展開されたディレクトリのインストーラを
実行させなければならないのではないかと思いましたが。
とりあえずファイル検索でperl.exeが何処にあるかを調べましょう。
存在していなければインストールされていません。
はずしていたらごめんなさい。
>水谷さん
避難中のこのマシンに古いAN HTTP Serverが入っていたのを見つけたので見てみました(動
かしてはいませんが)。
Cは(コメントにある通り)jgawkが入っていないとエラーになるので入れていないなら気に
しなくて構いません。
D,Eはカメヤマ@KTSさんが解決したというのと同じ原因なのかもしれません。
cgi-bin/cgi0.txtにHTML,HEADタグを追加してみてどうなるでしょうか。cgi1.txtに/HEAD
も追加しておくことを忘れないように。
新しいブラウザでは(?)これらのタグがないと正しく動かなかったことがあるような記憶も
あります(かなり以前に報告)。
Aはtest.batに特に何もないので動きそうですが....
最近のAN HTTP Serverのものでは変えたのかな?
取り敢えず調べている時間がないので
仕事行かないと....(~_~;)
中田さん、ぴゅあさんご指導有難うございます。
いろいろとやっていますが、まだエラーが解消しないので「AN HTTP Server
CGI Test Page」でテストをしてみました。
結果は下記のとおりです。どのへんが悪いのかご指導下さい。
@ 「単純なテスト」では正常にリストが表示されました。
A 「次にPOSTで上の単純なテストと同じことを行います」では
[データ受信中にネットワークエラーが発生しました(ネットワークエラー:
接続がピアーによってリセットされました)もう一度接続してみて下さい]
と言うエラーが出ます。
B 「入力は、GETを使って」で「123」と半角入力をすると
[入力は、QUERY_STRINGに入ります。
QUERY_STRING=inputtext=123
C 「もう少しまともな応答は、」で「1〜9」を半角入力すると
[入力された文字列は、コマンドまたはファイル名が違います
AN HTTP Server]
D 「POSTを使って長い文章を入れてみましょう。テキスト表示です」
で「1〜9」を全角入力すると
Aと同じエラーが出ます。
E 「POSTを使って長い文章を入れてみましょう。HTML表示です」
で「1〜9」を全角入力すると
Aと同じエラーが出ます。
以上です、よろしくお願い致します。
カメヤマ@KTSです。
>中田さま
:それだけ聞くとCGIスクリプトの中身かブラウザの方を疑ってしまいますが、
>びゅあさま
:CGIの処理内容という気もしないではありません。
お二方のアドバイスを元にPerlスクリプトを確認してみました。
実行結果をTEXT形式で吐き出そうとしているのですが、わたしが使用しているクライアント(WinNT4.0+IE5)ではダウンロードダイアログとなりましたが、他者のクライアント(Win95+IE3)では正しく結果表示されました。
スクリプトにHTMLヘッダ(HEAD、BODY、PRE)を付与して実行したところ、わたしのクライアントでも正しく結果表示されました。
HTTPDのディレクトリ移動とクライアントのWin95→WinNT4.0への移行時期が重なったため、HTTPDとPerlインタプリタの設定でなんか不備があったのではと疑ってしまい、スクリプトの方に原因があったとは全く思いもしませんでした。
中田さま、ぴゅあさま。大変ご迷惑をおかけしました。
これに懲りずに今後ともよろしくお願いいたします。
22時頃からずっと書けない....
σ(>_<)が大量に書きすぎてファイルが膨らんでるからかな....
>miyakeさん
SYSEDITで見えている(A:\AUTOEXEC.BAT)のならインストールはちゃんとできていますね。
因みにある場所は先に書いた通りAドライブのルート(A:\)にAUTOEXEC.BATという名前で存
在します。メモ帳とか編集すればいい(ファイルを右クリックメニューで編集を選ぶと(通常)
メモ帳で開かれる)のですけどSYSEDITが使えるならそんな面倒なことをしなくていいですし大
丈夫ですね(σ(^ー^)はSYSEDITを使わないので存在すら忘れていた(^ー^;))。
少なくともその状態でちゃんとPerlは起動できると思います。
PC-98xxでは動かないかもしれないこと。
これは考えられないことではありません。
ただσ(^ー^)には確認する手段も見込みも全くないので使えている誰かが「使えるよ」と答え
てくれなければ「動かないかもしれない」でしかありません。
ここを見ている多くの中にPC-98xxを使っている人もいる筈なのですが(カウンタを見れば判
ると思いますが毎日非常に多くの人が訪れている筈です)いないのでしょうか。
「動いているよ」,「動かないよ」という回答が全くないのもどうなのかなぁと思いますが。
>中田さん
AN HTTP ServerをインストールしたときデフォルトでISAPIを使うようにチェックされますよ
ね?(大抵先にISAPIまで入れているのでDLLの存在を確認して設定しているのかどうか判らない)
この状態でISAPIがインストールされていないとAN HTTP Serverはどういう動作をするように
作られているのでしょう。
>カメヤマ@KTSさん
そういえば中田さんの言われているようにCGIの処理内容という気もしないではありません。
ネスケを使っているとおかしな挙動をすることがあります。それはブラウザが受け取った情報
が間違っているために起こることで正しく作られたページであれば発生しないのでブラウザが悪
いとは言えないと思うのですが。
ただこれはネスケでの話でIEでは無視されるかファイルが見つからないなどという結果にな
りそうですが。IEは緊急時にしか使わないので正確なところは判りませんが。
至極簡単なCGIであっても駄目なのですよね?
謎です....
今までやったこと,確認してみたこと,結果を詳しく挙げてもらえればまた新たな道が見える
かも知れません。長くなるようでしたらメールでも。ただその場合は中田さんにお願いしたいで
す。
もしかすると今まで質問を頂いていた他の方からも質問等のメールが届いているのかも知れま
せんが新しいマシンへのWin98の移行作業に手間取っていてメールが使えない状態にありますの
で。まだ数日はこの状態が続きそうですし。
miyake さん、
確認ですが、
(1)オプション/一般の「.pl, cgi の実行プログラム」を「B:\www\perl\bin\perl.exe」と指定する
ことで CGI は正常に動作しますよね(?)。
Perlのインストールはちゃんとできているように思えるので、
(2)オプション/一般の「.pl, cgi の実行プログラム」のところを単に「perl」と指定する
ことでも正常に動作すると思いますが、どうなのでしょう?
カメヤマさん、
それだけ聞くとCGIスクリプトの中身かブラウザの方を疑ってしまいますが、「httpdのディレクトリをディレクトリごと移動」する前は正常だったのですよね(?)。
現在、それを元に戻すと正常なのでしょうか?
だとしたら、「httpdのディレクトリをディレクトリごと移動」する前と後の違いは何でしょうか?
りおさん、
今まで正常だったのにそのエラーが出るようになったのでしたら Windowsを再起動するのがよいでしょう。
再起動後、あるCGIを動かすとそのエラーになるようでしたら、そのCGIを調べないといけない、という話になると思います。
miyakeです。たびたびですが、またよろしくお願いします。
ぴゅあさん>
ということでまずAUTOEXEC.BATですがAドライブから立ち上げているならAドライブのルート
(A:\)にある筈です。なければ作る必要があります。A:\WINDOWS\OPTIONS\CABSフォルダの
ファイルはセットアップ用なのでここはいぢっても仕方ありません。
AUTOEXEC.BATですが、Windowsの[スタート]メニューから[ファイル名を指定して実行(R)]を
選択して[sysedit]と入力すると、システムエディタが起動し、その中に[AUTOEXEC.BAT]が
ありますが、これも違うのですか?
@ECHO OFF
SET DMIDIR=a:\necdmi
path "%path%;B:\www\perl\bin;"
と表示されています。
AUTOEXEC.BATがなければ作らないといけないとのことですが、AUTOEXEC.BATというファイルを単に作れば良いということですか?
作る場所はどこでも良いのですか?
ぴゅあさん>
ふと思ったこと。
PC-98xxで使えるんだろうか?
このクラスのソフトはどちらでも動いたりするものですが最適化などのためにハードに依存す
る(BIOSと言った方が正しいのか?)こともないとは言えない?
例え同じ名前を持つWindowsでもDOS/V機とPC-98xxでは違うものですから....
このPerlはうちのパソコンPC-98xxではもしかして使えないかもしれないということですか?
カメヤマ@KTSです。
>中田さま
設定を変更してみました。
やはり同じ結果でダウンロードのダイアログボックスが表示されました。
ダウンロード(あるいは「その場で表示」)をしてみると、
ちゃんとCGIの結果(Perlソースではなく)が返っていました。
正しくPerlは実行されているようです。
httpdを使わせていただいてます。
cgiの動作確認用に使わせていただいていたのですが、エラーが出てしまうようになりました。
エラーの種類は500、エラーコードは32、ブロークンパイプです。
どう対処したら良いのか教えて下さい。よろしくおねがいします。