• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:LAN接続されたPC同士でCGIなどを使いたい。)

LAN接続されたPCでCGIを使う方法は?

このQ&Aのポイント
  • 会社で周知事項・マニュアルなどをWEB化し、LAN接続されたPCだけで閲覧できるようにしたい。AnHttpdを使用してローカル環境でCGIを動かすことはできたが、LAN接続されたPCだけで見れるようにするにはどうすれば良いか分からない。
  • 色々なサイトを調べたが、ローカル環境で使用するためのものなのか分からなかったため、教えて欲しい。
  • ダイナミックDNSやローカルエリア接続などは使えるのか、会社内での使用には問題はないのかについても教えてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
  • natu2000
  • ベストアンサー率69% (83/119)
回答No.3

>ダイナミックDNS ダイナミックDNSのサーバーか何かを立てるのであれば 問題ないような気もしますが・・・・・ 通常よく使われているダイナミックDNSを使うと 社内から社内へではなくて、 社内から社外へそして社内へと一度インターネットに行ってしまいますよ? 勿論、アドレスを公言しなくても 外部からの接続は可能になってしまいます。 公開していると同意義になります。 >(インターネット上に公開せずに使用したいのです。) であれば、DDNSは適切ではないでしょう。 あと確認しておきたいのですが、 その前に、AnHttpdをインストールしているマシンの ローカルIPを常に同じIPになるように設定していますか?? 自動取得などしていませんか?? 自動取得だと、ローカルIPが起動するたびにコロコロ変わるので 決めうちしてくださいね?? 質問内容が『ローカルIPを固定にする方法』ではないので やり方は、言いませんが、googleなどで検索すれば 出てくるでしょう。 ローカルIPを固定にしている。 という前提で AnHttpdが稼動しているマシンが 192.168.0.2 というローカルIPをもつマシンで構築しているという 前提で進めますが 通常、ユーザーがサーバーへアクセスする方法は http://192.168.0.2 とかマシンのローカルIPを指定するか もしくは、ワークグループなどでネットワークに参加している状態であれば サーバー(AnHttpdが稼動しているマシン)につけたコンピューター名 http://コンピューター名 でも、たしかこれでアクセスできると思います。 AnHttpdが稼動しているマシンでアドレスを打つときは http://127.0.0.1/などを使いますが、(ループバックアドレスと言います) 他のマシンで打つ場合は、192.168.0.2などの AnHttpdが稼動しているマシンがもっているローカルIPを指定します。 あと、他にローカルIPを入力するのが面倒な場合に 1つの例として例えば、 http://localhost/ と入力すると http://127.0.0.1/ と同じ意味になるのがありますが hostsというファイルがあるので開いてみてください。 WindowsXPの場合はC:\Windows\system32\drivers\etc Windows2000の場合はC:\WINNT\system32\drivers\etc Windows98の場合は「C:\Windows」にあります。 Windows98の場合、最初は「hosts.sam」という名前になっていますので、 これを「hosts」という名前に変更してください。 そこに 127.0.0.1 localhost と書いているので、localhostと打つと127.0.0.1へ接続されます。 ので、例えば 127.0.0.1 localhost 192.168.0.2 server とすれば、イチイチ http://192.168.0.2 と入力せずとも http://server と入力するだけでアクセスできます。 しかし、これらは、AnHttpdが稼動しているマシンでやるのではなくて クライアント側のマシン全てにhostsファイルを追加定義してやる必要があります。 なので例えば、社内にパソコンが100台あって、100台がそのサーバーにアクセス することを想定しているならば、その100台のパソコン全てのhostsファイルを 変更しなければならない訳です。(SOHO規模で小さければ、これでも良いかもしれませんが) あと判っていると思いますが、 192.168.0.2の部分は便宜、貴方のところの環境で読み替えてください。 例えば貴方が、192.168.1.20のIPアドレスでAnHttpdを構築しているならば、 そのように読みかえて下さいという事です。

smiledom
質問者

お礼

ご丁寧な回答ありがとうございました。 固定IPに設定した状態で、ブラウザにIPアドレスを入力したのですが、 CGIファイルを完全に読みこむ事が出来ませんでした。 リンクや文章が、ただ並んでいる…というような感じの画面になりました。 接続は出来たが、不完全…という事なのでしょうか。 明日、クライアントPCのhostsファイルを変更して試してみようと思います。 IPアドレスについて理解していない状態で、 調べたままに設定していたので、 どこかで方法を間違っているかも知れませんね。 とても分かりやすく説明してくださって感謝しています。 ありがとうございました。

その他の回答 (4)

  • natu2000
  • ベストアンサー率69% (83/119)
回答No.5

>CGIに試しに入力した記事などが、ただ並んでいる >…というような感じの画面になります。 うーん、ひょっとしてアレでしょうか? CGIのスクリプトのソースが表示しちゃうって事ですか? 例えばこういう奴でしょうか? ------------------------------------ #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML><BODY>\n"; print "<H2>Hello! WORLD</H2>\n"; print "</BODY></HTML>\n"; exit; ------------------------------------ もしそうだとしたら、これらは記事と呼びませんし ただ並んでいるとか表現しません。 普通にスクリプトのソースが表示するという表現でokです。 (あるいはプログラムコードが表示するとか) >会社のLANやPCがCGIに対応しない…というような事はあり得るのでしょうか…。 うーん、いやこれは普通は無いでしょう。 仮にブラウザで依存することはあったとしても LANカードに依存したりパソコンのマシンであるハードに依存したり、 OSに依存することはありえないでしょう。 CGIを実行する という所にチェックは入ってますか?? この辺も参考になるかもしれません。 http://homepage1.nifty.com/yito/anhttpd/options.html あとActivePerl 等の再インストールをしてみたり AN HTTPDでCGIを実行できるように、設定が不十分なのかもしれません。 ここをシッカリとやってみてください。 またCGIなどを実行する際にもイキナリ本番運用のモノではなく ------------------------------------ #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML><BODY>\n"; print "<H2>Hello! WORLD</H2>\n"; print "</BODY></HTML>\n"; exit; ------------------------------------ このような簡単なものから実行できるか出来ないかで見てください。 あと頑張ってください。応援しています

smiledom
質問者

お礼

ありがとうございます。 スクリプト内容が表示されるのではなく記事です。 例えば、日記CGIを使用しているとして、 ○月○日・・・という様な記事です。 ローカル(サーバー機内)での、CGIの動作は成功しているので、 AnHttpdについては、特に問題はないと思うのですが・・・。 一度、簡単なCGIでテストしてみようと思います。 度々、ありがとうございました。

  • natu2000
  • ベストアンサー率69% (83/119)
回答No.4

>固定IPに設定した状態で、ブラウザにIPアドレスを入力したのですが、 >CGIファイルを完全に読みこむ事が出来ませんでした。 >リンクや文章が、ただ並んでいる…というような感じの画面になりました。 ブラウザにIPを打ち込んだ状態では 多分、状況としては単純にルートが表示した状況なので、 CGIなどを表示させるには、 そのファイルのアドレスまで打ち込む必要があります。 例えば、test.cgiというファイルが AnHttpdのソフトで言うところのドキュメントルートに置かれているならば AnHttpd構築しているマシンで実行の場合 http://127.0.0.1/test.cgi 他のマシンからの場合 http://192.168.0.2/test.cgi 多分こんな感じになるはずです。 あと、AnHttpdであれば、解答したときに readme.html があるので、起動と動作確認 について少し見てみると 良いかもしれません。 AnHttpdを使っておられますが、公式ページの方は目を通しましたか? http://www.st.rim.or.jp/~nakata/ また雑誌の付録CDROMを使っていたのであれば公式で 最新バージョンで構築するといいですよ。 また、CGIやphpなど色々な構築に関するヒントが AN HTTPDゲストブック/コメント集 全文検索 から検索できます。 また実際にWebサーバーを公開するまでの 他の人の色々なハウツーがかかれています。 主に、見るのはサーバーの構築の仕方のみで 80番ポートを空けるとかDDNSを取得するとか云々とかあると思いますが その辺の内容は読み飛ばして、 社内から他のユーザーがアクセスする方法は、 http://192.168.0.2/ (うんぬんとCGIまでのパスを指定する) などで、AnHttpdを立てているサーバーのローカルIPを指定するだけです。 ポートは社内LANであれば外部へ行かないのでポート空ける必要も あまりないでしょう(多分) この辺も参考になるかなぁー http://homepage1.nifty.com/yito/anhttpd/install.html サーバーの構築の早道は、 AnHttpdを立てているサーバーのマシンで立てたら 初めはそのマシンで http://127.0.0.1/readme.html など打ったりして、ドキュメントルートにCGIおいてみたりして http://127.0.0.1/test.cgi とか、やってみて、上手くいったら、今度は サーバーとは違うマシンで(つまりクライアントからですね) http://192.168.0.2/readme.html http://192.168.0.2/test.cgi と打ち込んで見えればokです。 あとは、色々とAnHttpdの設定やらを色々いじってみたり 先ほどのAnHttpd公式ページにあるサイトで検索してみて 参考に構築されるといいかもしれません。 この辺なんか、そのものずばりローカルでCGIを実行するための やり方がかいているから判りやすいかも? http://www.kent-web.com/www/ ここのまずはインストールの巻 の例を借りると 最終的に http://127.0.0.1/hello.cgi これがアクセスできるようになれば、 他のマシンから http://192.168.0.2/hello.cgi と打ってみてください。 見えたら○ということになります。 つまりAnHttpdを立てているマシンからアクセスするときは127.0.0.1で それ以外のパソコンからは192.168.0.2へ読み置き換えればいい訳です。 (192.168.0.2は便宜貴方がAnHttpdを立てているローカルIPに置き換えて)

smiledom
質問者

お礼

度々ありがとうございます。 文章が、言葉足らずで申し訳ないです。 http://127.0.0.1/test.cgi http://localhost/test.cgi  …などの、 サーバー機内でのファイル(例:test.cgi)の読み出しは成功しているのですが、 クライアント機からのCGIの読み出しが上手くいきません。 IPアドレスが、192.168.0.2として、 http://192.168.0.2/ をブラウザに入力すると、 index.htmlのページがちゃんと表示されるのですが、 http://192.168.0.2/test.cgi にすると、 CGIに試しに入力した記事などが、ただ並んでいる …というような感じの画面になります。 会社のLANやPCがCGIに対応しない…というような事はあり得るのでしょうか…。 AnHttpdのサイトなども拝見して挑戦はしているのですが…上手くいきません。 今日試してみることが出来ませんでしたので、 明日、もう少し調べて試してみようと思います。 本当にありがとうございます。

  • 39jin
  • ベストアンサー率34% (125/359)
回答No.2

>【AnHttpd】を使用して、ローカル環境でCGIを動かす事は出来ました。 ○#1さんと同じになりますが、試験ローカル環境で動作したアドレスコードをLAN上で接続されたPCでも打ち込めばよいのでは、接続出来たらお気に入りに登録します。「名前の変更」を使って名称を変えましょう。

smiledom
質問者

お礼

回答ありがとうございました。 #1のお礼文章のような状態になりました。 IPアドレスについて、まだまだ理解出来ていないようです。 明日、また試してみます。 成功したら、お気に入り登録してみようと思います。 本当にありがとうございました。

noname#26108
noname#26108
回答No.1

単純に、AnHttpdが入っているマシンのIPアドレスをブラウザ上で直打ちしてアクセスするだけではダメなんでしょうか? 普通は、サーバーとなるマシンのIPアドレスに続けてcgiの入っているディレクトリの名前→cgi呼び出しで可能だと思われますが。

smiledom
質問者

お礼

回答ありがとうございました。 IPアドレスをブラウザ上に入力して、試してみたのですが、 HTMLファイルの読み出しは成功したのですが、 CGIファイルは、上手く表示が出来ませんでした。 ページが全く表示出来ない訳ではないのですが、 スキンなどを正しく読みこんでくれないようでした。 上手く説明出来なくて、申し訳ないです。 もう少し勉強してみようと思います。 本当にありがとうございました。

関連するQ&A