ローカルサーバをつなぐには?

[上に] [前に] [次に]
あや [E-Mail] 1999/11/26(金) 12:00:03
ローカルホストでCGIを試そうと、「Perl for WIn32」と「AN HTTPD」をインストールしましたが、ローカルホストにつながりません。マニュアルに従って指定通りにすすめたつもりですが、何が足りないのでしょうか。

1.「Perl for WIn32」のインストール先「c:\www\peal」
   パソコンを再起動し、DOSで「perl -v」ここまではOK。
2.AN HTTPDを[c:\www]にインストール。
3.ホームディレクトリとして[terra]を作成。
  その下に\public_html、その下に\cgi-binを作成
4.httpd.exeを起動し、オプションの設定。
  (ドキュメントルート[c:\www]
   デフォルトインデックス[index.html]
   など、参考書の通り)
5.必要なcgiやtxtなどのファイルを[\terra\public_html\cgi-bin]
  に保存。
6.AN HTTPDを起動し、「httpサーバ−開始」にする。
  上に「待機中−接続要求待ち」と出ている。
6.IEを立ち上げて、オフライン作業でURL
  [http://localhost/~terra/cgi-bin/aaa.cgi]
  を指定して実行すると、
  「要求されたこのURLはオフラインでは接続できません」
  となります。

結局オフラインにつなぐことができず、そこで止まってしまいました。
何か設定が間違っているのかとインストールを何度もし直したりしましたがうまくいきません。
とりあえずつなぐために、test.htmlをc:\wwwに置いて開こうとしましたが、ローカルサーバにつなぐ、というところからできずにいます。

以上長くなってしまいましたが
何か基本的な間違いがありましたら、ご指摘いただけるようお願いいたします。

Nobu3 1999/11/26(金) 12:22:08
オフラインモードでは接続できないと思いますが。
「オフライン作業」は外しておきましょう。

たかまろ 1999/11/26(金) 12:25:34
>IEを立ち上げて、オフライン作業でURL
>  [http://localhost/~terra/cgi-bin/aaa.cgi]
>  を指定して実行すると、

http://127.0.0.1/~terra/cgi-bin/aaa.cgi
じゃあないんですか?

Syn [E-Mail] 1999/11/26(金) 12:30:50
ええと、

C:
  \www
    \terra
      \public_html
        \cgi-bin
          aaa.cgi

とゆーディレクトリ構成になっているのでしょうか。
でしたら、 AN HTTPD の設定を、

  ドキュメントルート [C:\www]
  ユーザ名 [~terra] → [terra\public_html]

にすれば http://localhost/~terra/cgi-bin/aaa.cgi
で見れると思います。
http://localhost/~terra/ とした場合は、 C:\www\
terra\public_html の下のディレクトリが見えます。

あや [HomePage] 1999/11/26(金) 12:31:28
>http://127.0.0.1/~terra/cgi-bin/aaa.cgi
でも試しています。参考書には「localhost」と[127.0.0.1]どちらでも良いと書いていましたので。

オフラインモードをはずしてやってもダメでした。

たかまろ 1999/11/26(金) 12:36:46
失礼しました。
http://localhost/~***
で自分のもつながりました。

..といってもこれを使うのはNN4.04で
IE5ではどうやったらいいか知りませんが・・・
すいませんゴミレスでした。

あや 1999/11/26(金) 13:07:06
Synさんありがとうございました。
www直下に置いている[test.html]はローカルサーバから見ることができるようになりました。

この後問題はCGIなのですが・・。
  \www
    \terra
      \public_html
        \cgi-bin
          resbbs4.cgi

というディレクトリ構成になっていますが、
http://localhost/~terra/cgi-bin/aaa.cgi
を指定しても

ERROR404
見つかりません。 - CGIスクリプトまたはプログラムがありません : c:\www\~terra\cgi-bin\resbbs4.cgi

というメッセージが出ます。
また、
http://localhost/~terra/ を指定すると

ERROR404
みつかりません - ドキュメントがないか、読み込みができません。

というメッセージが出ます。
また、両方とも「AnWeb/1.18」というリンクが出てきて、開くとHTTPDのホームページが出てきて「1.21以前のCGIサンプルには重大なセキュリティホールがあります」とか他の関係なさそうな内容のものが書かれています。これも何か関係があるのでしょうか。

www入門の簡単なtest.cgiを置いて試してみましたが、結果は同じでした。

たかまろ 1999/11/26(金) 13:53:49
そちらのケースでは参考にならないのかも知れませんが、
自己解決でIE5でローカルホストでCGIを見ることが出来ましたので、
ご報告を

ここの過去ログ検索を使いたく、全ての過去ログファイルをDLし
今まで、NNで見てましたが、
それをIEで見るにはインターネットオプションを開き
接続タブのところの”ネットワーク接続が存在しないときにはダイヤルする”をチェックし
その下のLANの設定で自動設定のスクリプトを使用するにチェックを入れ
アドレスは127.0.0.1にする
それから、http://localhost/~自分の名前/wwwlng/wwwlng.cgi
と打ち込むと、DOSプロンプトがでますがしばらくして、
フォーラムの画面がでます。
そちらのケースではどうでしょう・・・

たかまろ 1999/11/26(金) 13:58:21
あ インターネットオプションで設定を変えたら、ブラウザを閉じ
ブラウザを再起動してください。

Nobu3 1999/11/26(金) 14:25:17
>見つかりません。 - CGIスクリプトまたはプログラムがありません : c:\www\~terra\cgi-bin\resbbs4.cgi
この事から、根本的な解決にはなりませんが、フォルダ構成を
\www
  \~terra
    \cgi-bin
      resbbs4.cgi
にすれば動くでしょう。

あや 1999/11/26(金) 17:12:00
たかまろさん、ありがとうございます
>インターネットオプションを開き接続タブのところの”
>ネットワーク接続が存在しないときにはダイヤルする”
>をチェックしその下の...
私はIE4なんですけれど、インターネットオプションの接続欄には、「ネットワーク接続が存在しないときにはダイヤルする」という項目や以下の項目は見当たらないのですが・・・。

Nobu3さん、ありがとうございます。
\www
  \~terra
    \cgi-bin
      resbbs4.cgi
または
\www
  \terra
    \cgi-bin
      resbbs4.cgi

または
\www
  \terra
     resbbs4.cgi

などいろいろ変更して試してみましたがダメでした・・・。
URLの方も
http://localhost/~terra/cgi-bin/resbbs4.cgi
http://localhost/~terra/resbbs4.cgi
http://localhost/terra/cgi-bin/resbbs4.cgi
http://localhost/~terra/
などいろんなパターンでやってみましたが同じです。

ちなみに
ディレクトリ名を[terra]にして
http://localhost/~terra/
を指定すると
「みつかりません - ドキュメントがないか、
 読み込みができません。 」
のメッセージになりますが、
名前を[~terra]に変更して指定すると、
「ERROR403
 このディレクトリのインデックスリストは見られません。」
のメッセージに変わります。

また、ディレクトリ名[~terra]で
http://localhost/~terra/cgi-bin/test.cgi
と指定すると一瞬動き出したかと思う待ちがあるのですが、
結局応答できませんとかタイムオーバーみたいな形でエラーになります。

根本的にどこが違うのか悩んでいます。

Tomo 1999/11/26(金) 17:30:24
http://www.kent-web.com/www/index.html
こちらのホームページが詳しいですよ。
設定など一度見直してみてはどうでしょう。
私もここを見て、ローカルサーバー成功しました。
#terraさんの説明よりわかりやすかったです(^^;

あと、あやさんが参考になさったのがterraさんの本ですから、
ディレクトリ名が例としてterraになっていたと思いますが、
これはあやさんの好きな名前をつけて大丈夫ですよ(^^)

バーチャルヒューマン 1999/11/26(金) 17:40:58
c:\wwwの下にインストールしたなら
c:\www\httpd.log
c:\www\errors.log
とかのログを見てみると少しは手がかりがあるかもしれませんよ。

※設定でログをoffしているとだめだが・・・確かインストール直後はonだったような?!

名無し 1999/11/26(金) 18:52:52
> www直下に置いている[test.html]はローカルサーバから見ることができるようになりました。
↑こちらができたのなら、
AN HTTPDの設定のエリアスの設定内容を確認しましょう。
オプション一般の設定の中にあります。

たかまろ 1999/11/26(金) 20:20:29
ブラウザの設定はここに書いてあります。
http://www.st.rim.or.jp/~nakata/gbook/faq.html#local
設定通りやって、それでもダメな場合は
名無しさんの言うとおり
AN HTTPDのオプション一般設定で.pl,.cgiの実行プログラムが
perlにしてあるか確かめてください。

hiro-kim 1999/11/26(金) 21:25:41
試してみました。私は,何のトラブルもなくCGIスクリプトが起動できましたけれど。
以下の D:\ANhttpd を C:\www に読み替えて,ご自身の実行環境を確認してみてはいかが。

●ソフトウェア環境
OS: Windows NT 4.0 Server(MicrosoftのWebサーバ: IIS は停止させておく)
Webサーバ: ANhttpd 1.22b(展開したファイル群をそのまま D:\ANhttpd にコピー)
Webブラウザ: IE 5
Perl環境: ActivePerlを D:\Perl にインストール済

●物理ディレクトリ構成
D:\ANhttpd\
 public_html\ (terra\public_htmlではない)
  cgi-bin\
   test1.cgi ( http://www.tohoho-web.com/wwwcgi2.htm#CgiScript

●仮想ディレクトリ名と物理ディレクトリとの対応づけ
D:\ANhttpd\httpd.exe を起動し,タスクバーのhttpdアイコンを右クリック
 → オプション一般 → 一般タブ の上から3行目〜5行目
------------------------------------------------------------
ドキュメントルート:[D:\ANhttpd]
ポート:[80] デフォルトインデックス:[index.html]
[ON] [/~terra] -> ドキュメントルート\[public_html]
------------------------------------------------------------
これで,物理ディレクトリ:terra が存在しなくても,
仮想ディレクトリ:/~terra を指定すれば D:\ANhttpd\public_html を参照する。

●動作確認
Webブラウザを起動して, http://localhost/~terra/cgi-bin/test1.cgi とURL入力

あや 1999/11/29(月) 13:26:11
みなさま、ありがとうございました。
一歩一歩進んではいるのですが・・・。

名無しさん、
>AN HTTPDの設定のエイリアスの設定内容を確認しましょう。
>オプション一般の設定の中にあります。
これも参考書によって違うのですが、
仮想パス、実行パスのチェックをはずしてみたり、つけてみたり
して試しました。

たかまろさん、
>AN HTTPDのオプション一般設定で.pl,.cgiの実行プログラムが
>perlにしてあるか確かめてください。
もちろん、「perl」にしてあります。
WWW入門の設定ではもっと詳しく「c:\。。。」とかになっていたので、
そちらでも試してみました。

ログも見てみましたが、やはり分からず(というか知識がないので見ても???という感じで(^^;。

TOMOさん、
>http://www.kent-web.com/www/index.html
>私もここを見て、ローカルサーバー成功しました。
>#terraさんの説明よりわかりやすかったです(^^;

ここではじめてCGIの実行が可能になりました。
ありがとうございます(^^)。
しかし喜んだのもつかの間、ここに置いてあるサンプルはローカルサーバ用に改良されたものだそうで、CGIが成功したのはこれのみでした。
www入門のサンプルや、Terraさんのサンプルではやはりうまくいきません。
このローカルサーバ用のサンプルと普通に使う用のサンプルって何が違うのでしょうか?
ソースを見てみましたが、特にこれだという違いが見つけられなくて・・・。
CGIサンプルの初期設定は特にいじらなくてもOKなのでしょうか。
ローカルサーバの場合は1行目を無視するのでさわっておらず、その他の部分もいじっていません。

URL指定後、「サイトが見つかりました。応答を待っています」
となりアクセス待ちになった後
「無効なまたは認識されない応答をサーバが返しました」

となったり、タイムオーバーになったり。
また、Terraさんのでサンプルで一つだけcgiの画面が現れたのがあったのですが、全項目を入力して実行すると、

ERROR
ファイルのオープン、入出力に失敗しました。

とサンプル内の用意されたエラーメッセージ画面が出ました。

hiro-kimさん、ありがとうございます
ディレクトリ構成とAN HTTPDの設定は参考書や意見の指示とおりいろんなパターンで試しています。
ちなみに私は
[ON] [/~terra] -> ドキュメントルート\[public_html]
と設定するとエラーになり、

[ON] [/~terra] -> ドキュメントルート\[/terra/public_html]
にしないと、先ほどのローカルサーバ用CGIも動きません。
その他の設定は同じです。

未だにここから先へ進めません。
何かご指摘いただければうれしいです。

無責任官庁 1999/11/29(月) 14:27:06
> ERROR
> ファイルのオープン、入出力に失敗しました。

これが出るっていうコトは、CGIが動いてる証拠です。
CGIが動いたあとに出るメッセージですから。
単純にCGIがミスってるのか、設置方法にミスがあるかのどっちかです。

terraさんとこのを使ってるとすれば・・・
jcode.pl の置き忘れってだけかも・・・。
あと、CGIごとに「カラのテキストファイルを置いてください」とか、
そういう説明があると思いますけど、ちゃんと置いてますか?

> また、Terraさんのでサンプルで一つだけcgiの画面が現れたのがあったのですが、

具体的に、何が動いて、何が動かなかったのでしょう?
恐らく、CGIが動く環境は、もうできてますよ。
ただ、CGIの設置方法が間違っている為、エラーが出るってだけだと思います。

jcode.pl があるかどうか(置くように指示されているか)、
カラのテキストファイルがあるかどうか(同上)、
CGIが sendmail を要求してないか(Winには無いので実行不可です)。
そういった所をチェックしてみたらどうでしょう。

だいすきなうた 1999/11/29(月) 15:02:45
あの・・ちょっと目を通したので何方かレスしてるかもしれませんが、
ANHTTPDってBATファイルのファイルタイプを変更する
じゃなかったけかな〜(^^;;;

当然やってある! って場合は無視してください(^^;;

hiro-kim 1999/11/29(月) 15:11:44
>いろんなパターンで試しています。

いろんなパターンで試す必要はないのです。

(a) 物理ディレクトリの構成がどうなっており,
(b) 仮想ディレクトリの設定がどうなっており,
(c) どういう中身のCGIスクリプトがどのディレクトリに置かれており,
(d) Webブラウザのアドレス欄にどうキー入力すると,
(e) そのCGIスクリプトが動作するのか/しないのか

をただ一例,すべてまとめて,具体的に提示してくれればよいのです。

あなたは (a)だけ提示したり,(b)だけ提示したり,(c)を具体的に示していなかったり,自分の判断で「いろんなパターンで試して」しまうから混乱を招いていると思います。発言の字数は多いけれども,肝心の内容を「そのまま具体的に」提示していないと思います。
一回ごとの応答にかなりのタイムラグがあって,まどろこしく感じても,trouble shooting の基本は1つ1つ着実にエラーの原因を潰していくことですよ。

ということで,CGIの実行が可能になったという,その現状では,(a)(b)(c)(d)(e)はどうなっているのですか。
そしてその現状で(c)をどのようなファイルに変更したら実行できないというのですか。

十数行程度の分量で済むのなら,(c)はそのままソースコードを提示すべきです。

たかまろ 1999/11/29(月) 16:53:03
今度僕が分からなくなっちゃいました。

・・というか いままでANHTTDはNNで見てたので
知らなかったのですが、
IE5で見ると http://localhost/~**,,,,(もちろん自分のところ)
を打ち込んで自分のホームページの出来具合をテストするときに
ローカルなのに接続かオフラインか聞いてきます。
で 何でローカルなのに接続せにゃぁいかんのよってんで
オフラインを選択したら、それ以降画像が表示されないで、
ページ表示されました
などと勝手に完了してしまいます。
ネスケは接続は要求してこないのに、何故、IEは接続を要求して来るんでしょうか?
とりあえず誰か教えて下さい!!

Tomo 1999/11/29(月) 17:22:39
>あやさん
皆さんがおっしゃっているように、サンプルが動いたということは、
CGIが動く環境になっているということです。
ローカルではなく、ウェブ上にCGIを設置した経験はありますか?
設置しようと思っているCGIの設置説明等をよく読んでください。

>たかまろさん
IEで接続かオフラインかきいてきたら「接続」を選んでください。

>だいすきなうたさん
ANHTTPDはBATファイルを触らずにインストできました(^^)
Apacheはパールのパスをプロバとローカルであわせるために、
BATファイルを触りました(^^;

Tomo 1999/11/29(月) 19:41:10
>たかまろさん
すこし、補足します。
ANHTTPDを起動しないでNNでためしてみてください。
NNもローカルホストを探して接続しようとします。
「ローカル」というので混乱したかと思いますが、
「ローカルサーバー」なので「接続」しなければ見ることが
できません。「サーバー」を起動している時、たかまろさんの
サーバー内は、電話回線をつかえば他の人も閲覧できる環境です。
プロバイダーなんかのホストと同じですね(^^)
ということで、IEもNNも「接続」しようとするのです。
#わかりにくい説明ですいません(^^;

たかまろ 1999/11/29(月) 22:07:15
TOMOさんありがとうございます。
オフライン作業をするって事は、イントラも含め一切の
ネットワークから遮断するということなんですね。
でもNNの場合 接続しなくとも一応は全ての画像を表示してくれるのに、あれ何でだろう。。
まぁ それは追々こっちで勉強してみます。
このスレッドからそれるかも知れないので。
分からなくなったら、新たに投稿します。

あや 1999/11/30(火) 17:11:08
[[解決]]
みなさま、ありがとうございました。

1件、解決しました。
「ファイルの入出力に失敗しました」のエラーの原因は
CD-ROMからそのままもらってきたTXTファイルの属性が
「読み取り専用」になっていたからでした。
すごい初歩的なミスですいませんでした・・・。

その後の事象に関しては、設定は間違っていなかったようです。
どうもパソコンの動作が不安定で、CGI以外の面でもトラブルが
多発していたのですが、少し関係あったかも・・・。

まだ完全ではないのですが、これにて解決とさせていただきます。
みなさまに親切にしていただき、幸せな今日このごろ。。(=^^=)。

[上に] [前に] [次に]