• ベストアンサー

自分の端末をサーバ設定したのですが・・・

CGI初心者です。 CGIを利用しようと、自分の端末をサーバ設定まではできました。が、テストレベルの10行程度のcgiファイルはすぐ表示されるのですが、ためしにフリーのcgiを表示させてみようとしても、30分たってもブラウザに表示されません・・・(一応反応はしているようなのですが)なにが原因なのでしょうか?ちなみに、Win95+HTTPD+ActiveRerlをおとしました。また、テストも表示させはできましたが、[print]や[n]といったものまで表示されるのは正しい表示なのでしょうか?(秀丸でつくったのですが・・・)

  • bori
  • お礼率67% (40/59)
  • CGI
  • 回答数5
  • ありがとう数10

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

  • ベストアンサー
  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.4

それは明らかにCGIが実行されてませんね。 AN HTTPDってのは使ったことが無いので、よくわからないんですが、Apacheだとhttpd.confファイルというのがあって、そのファイルに各種設定項目を記述しています。 CGIを実行する場合も、特定のフォルダに対して実行CGI実行可能なように設定を行います。 AN HTTPDではそのような設定は有りませんか?

参考URL:
http://www.harukaze.net/~mishima/perl/ http://www.sosb.com/hp/apache/
bori
質問者

お礼

いろいろありがとうございました。教えていただいたURLを参考にもう少しがんばってみます。m(._.)m ペコッ

その他の回答 (4)

  • ganmo
  • ベストアンサー率66% (2/3)
回答No.5

いくつかミスがあるので指摘しておきます print"Content-type: text/html\n";      ↓ print"Content-type: text/html\n\n"; print"<HTML><BODY>\n"      ↓ print"<HTML><BODY>\n"; あと・httpdですが ちゃんとperlのプログラムとか指定しました? たしか設定する項目があったとおもうのですが

bori
質問者

お礼

ありがとうございました。指摘された部分を訂正してやってみたのですが、やはり・・・httpdの設定を再度やり直してみます。

  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.3

CGI内に書いたHTML部分以外も表示されてるってことでしょうか? CGIが正しく実行されていないのではないでしょうか? 試しにそのCGIファイルの拡張子を TXT などにしてブラウザで表示したのと同じモノが表示されていませんか? HTTPD ってApacheなんでしょうか?それとも他のもの?いずれにしても動作ログやエラーログを吐くでしょうから、それらのログからたどってみたらいかがでしょう?

bori
質問者

お礼

ありがとうございました。教えていただいたようにtxtファイルにしても同じモノが表示されました。なにがおかしいのでしょうか?ちなみに、 #!/urs/bin/perl print"Content-type: text/html\n"; print"<HTML><BODY>\n" print"<H2>Hello!WORLD</H2>\n"; print"</BODY></HTML>\n"; exit; にうったんですけど。 あと、HTTPDは、AN HTTPDのことです。

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.2

 端末(=Windows95+HTTPD+ActivePerl)で、HTTPは正常に動作しているのでしょうか?  まずは、一個一個確実にして行かないと問題の把握が出来ません。  反応はしているっとなると、貴方が書いたCGIが問題です。フリーのCGIの方には説明がなかったのですか?  Windows系のOSでCGIを動かすには、設定をいろいろ変えなくてはいけない部分がありますので、今までやった作業を教えて下さい。  質問の内容だけでは、なにが 起っているのか解りません。  参考URLのサイトに説明があります。それを参考にしてやってみて下さい。ね。

参考URL:
http://www.kent-web.com/
bori
質問者

お礼

早速ありがとうございました。参考URLを自分も参考にして実施し、hello.cgiをブラウザに表示させることには成功しました。(ただ、表示が、「#」やら「n」やらまでもされていますが、これらまでも表示されるのだというのであれば、成功かと思われます。)が、次の段階の「オフラインでCGIを動かそうの巻」でのことができません。いつまでたっても、砂時計が動くだけで何も表示されないのです。600行もあるからなのでしょうか?

  • Durandal
  • ベストアンサー率15% (47/297)
回答No.1

本物の端末ならそんな作業は不可能です。

関連するQ&A

  • XサーバーでCGIを使うには??

    質問なのですが、CGIを使いたいなと思い、幾つかのサイトを 見て勉強していたのですが、どうにも上手くいきません。 私はXサーバーを使用しています。XサーバーでCGIちゃんと 使えるよっていう方がいらっしゃれば一層助かります!! サーバーに置いてある自分のCGIのファイルをクリックして 開くと背景が青緑?になってソースがそのまま表示されてしまいます。 ちなみに、CGIファイルは以下です。public_htmlの下のcgiというフォルダの下にtest1.cgiというファイル名で保存しています。 =======-===ここから================= #!/usr/local/bin/perl print "Content-type: text/html\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>テスト</title>\n"; print "</head>\n"; print "<body bgcolor=\"#ffcccc\">\n"; print "これはCGIのテストです。\n"; print "</body>\n"; print "</html>\n"; (文字コードはShift_JISです。) ===========ここまで=============== .htaccessのファイルも、CGIのファイルと同じ階層に入れて います。以下がそのファイルです。public_htmlの下のcgiというフォルダの下に.htaccessというファイル名で保存しています。 ==========ここから================ AddType application/x-httpd-cgi .cgi<CR><LF> (最後の行は改行しています) (文字コードはShift_JISです。) ==========ここまで================ どうすれば良いのでしょうか??ご教授お待ちしております。

    • 締切済み
    • CGI
  • 自作CGIで、wwwサーバーエラーがでてしまいます。

    AN HTTPDとAPATHEの両方で試していますが AN HTTPDの方はサーバーが見つかりませんと表示されて、 APACHEの方は、Internal Server Error(500)と表示されてしまいます。 ActivePerlの設定変更も間違えないですし、 単にテスト用の文字表示CGIすら表示されません。 どうしてでしょうか? ちなみにPerlの関連付けも出来ていて、ファイルもきちんとPerlで表示されています。 実行内容はとりあえずテスト用で以下のとうりです。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<html>\n"; print "<head></head>\n"; print "<h1 align="center">CGI動作テスト!!</h1>\n"; print "</html>\n"; __END__ 今独学で自作CGIやWEBサーバー運営の勉強をしながら立ち上げています。 どなたか詳しい方、力になって下さい。 直接メールや電話でサポートして下さる方も いらっしゃいましたら、どうかお願いいたします。 どうぞ宜しくお願いいたします。

    • 締切済み
    • CGI
  • Apache2.0とActivePerl5.8でCGIが動作しない

    ご教授願います。  掲題の通り、Win2000ProにApache2.0.48、ActibePerl5.8.1.807をインストールしローカル上にてApacheの動作確認は出来ました。  色々なサイトを調べ、現在のhttpd.confは下記のような設定となっています。 【httpd.confの主な変更点】  1:DocumentRootは別ドライブのフォルダ(C:ではない)に変更(httpd.confのファイル、229行目あたり)  2:同様に<Directory>も1と同じフォルダ(httpd.confのファイル、255行目あたり)  3:Options Indexes FollowSymLinks MultiViews ExecCGI Includesと変更(httpd.confのファイル、269行目あたり)  4:ActivePerlのインストール先は「C:/usr/local/」です。  5:test.cgiの格納場所は1で指定したフォルダと同じです。 【症状】  ブラウザのアドレスに「http://localhost」を入力するとApacheの動作確認画面が出ますが、「http://localhost/test.cgi」を入力すると『Forbidden You don't have permission to access/test.cgi on this server」と表示されます。 知識不足で申し訳ございませんが、よろしくお願いいたします。

  • サーバ運営について

    自分のノートパソコンと、実際のサーバの両方にan httpdを組み込みテストもできる状態にしてあるのですが、あるCGIが サーバでのみカタマッテしまうのです。OSがWIN98と2000サーバーで違うのですが、OSの違いから動きがまったく変わるものなのでしょうか?その他にもどんな理由が考えられるかなど聞ければと思い、今回投稿しました。98では問題なく動きます。サーバに固定IPも取って立ち上げようとしています。IPの問題なども考えられるのでしょうか?どちらかの回答のみでも良いので返事お待ちしております。

  • これはサーバー側の設定?

    お世話になります。 ろくにperlも書けない初心者です。 Flash(SWF)内でメールフォームを作っています。 丁度良いサンプルがあり、そのCGI(perl)をそのまま拝借。 テスト用(自前)のサーバーでは問題なく動作。 ところが実際に使用するサーバーに上げてみると動かないのです。 仕組みとしては、swfからgetURLで変数(送信元、送信先、メッセージなど)をcgiへPOST送信。 cgiは未記入のモノがあったらerror、埋まっていればOKの変数を返す。 (swf内のテキストボックスを受信用に空けています) その変数によって、飛ぶフレームを判断、「送信完了」「送信エラー」などを表示する。 といったモノです。 CGIの設置位置(perlへのパス、cgiへのパス)は確認しました。 パーミッションも確認済み。 何より、返り値の無い、HTMLを生成するタイプのCGIは動作しています。 さて、どうすれば上手く表示されるか分かりませんか? サーバーによってそういった違いってあるのでしょうか? 念のため、仕様は以下の通りです。 ウェブサーバーソフト(httpd) Apache1.3.22 Cコンパイラ gcc (ver2.8.1)/usr/local/bin/gcc OS Solaris2.6 SPARC版 利用可能なPerl Perl5 ( 5.005_03 ) よろしくお願いします。

    • ベストアンサー
    • Perl
  • CGIが動かない

    ActivePerlをインストールし終えたのです。 さらに、自宅サーバのCGI動作はOKにしてあります。 なのに、CGIが動きません。 ※http://www.***********/test.cgi のようにアクセスしてるのですが・・・ OS:Win 2000 Server , AN HTTPD を使用しています。

  • ローカルサーバーでの動作確認

    CGI超初心者です. 翔泳社のPERL/CGI辞典を見ながらCGIに挑戦してます. 今ローカルサーバーでの動作確認すべく奮闘しているのですがCGI/SSIを使用するためのAPACHEの設定で頭を悩ませてます. CGIはうまく表示できたのですがどうしてもSSIが表示されないのです. ファイルは本通りに記述したつもりです. 「test.shtml」 <HTML> <BODY> <!--#exec cmd="test.pl" --> </BODY> </HTML> 「test.pl」 #!C:\perl\bin\perl print"hello!"; CGI/SSIはドキュメントルートで制限なく使用できるよう設定しました. test.shtmlは表示されてるようなんですがそこにtest.plが読み込めてないようです(よく分かりませんが…) どこが悪いのか全く分かりません. ブラウザ上でこのtest.shtmlのソースを確認したら<!--#exec cmd="test.pl" -->の部分が表示されてませんでした. 全くの初心者でどのような情報を開示すればよいのか分からないので必要な情報があれば教えていただけるとありがたいです.

    • ベストアンサー
    • CGI
  • apacheのCGI設定について教えてください。

    CGIの勉強のために、古いパソコンに fedora core 4 をインストールしてapache でローカルのテスト用サーバーにしようとしています。 /var/www/html に設置した簡単な perl CGI は動くのですが、同じものをユーザーのホームディレクトリに設置すると、internal server error になってしまいます。 ***** 以下 httpd.confの抜粋です。***** #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride All Options Includes ExecCGI FollowSymLinks SetHandler cgi-script </Directory> AddHandler cgi-script .cgi .pl ************************************** サーバーのエラーログを見ると Premature end of script headers: test.cgi となっています。htmlをprintしているだけのスクリプトで、/var/www/html では動くので、apache の設定の問題かと思っています。 ちょっとカテゴリーが違うかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Perl
  • XP+Apache Webサーバーのセットアップ

     Win XP SP3+apache(httpd-2.2.17-win32-x86-no_ssl.msi)Webサーバーをセットアップしました。  セットアップした当該パソコンのブラウザーで『http://localhost/』や『http://プライベートIP/』、あるいは『http://固定IP/』、さらには『http://ドメイン名/』とキーインすると、いずれもホームページが表示されます。  しかし、ローカルエリア内の別のPCのブラウザーでアクセスを試みると『Internet Explorerではこのページは表示できません』と言うエラーが表示されます。 Win XP Pro SP3でセットアップを行っても同じ状況です。  しかし、Win 2000 ServerおよびWin Server 2003 Standard Editionとapache(httpd-2.2.17-win32-x86-no_ssl.msi)の組み合わせでは、全く同じ設定で、問題なくWEBサーバーが立ち上がっています。  XPではなぜうまく行かないのか、原因を教えていただけないでしょうか。

  • レンタルサーバーでperlのcgiファイルを実行する手順を教えて下さい

    レンタルサーバーでperlのcgiファイルを実行する手順を教えて下さい。 レンタルサーバー会社からは、「cgi-bin」フォルダにcgiファイルを配置(アップロード)すれば ブラウザで見れると説明を受けました。 用意したcgiファイルは以下の内容です。 _____________________________ #! c:/perl64/bin/perl # CGIヘッダーの出力 print "Content-type: text/html\n\n"; #さいころを振る。 $n = int(rand 6) + 1; #HTMLの出力 print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0.1//EN\">\n"; print "<html>\n"; print "<head><title>Perlでさいころ</title></html>\n"; print "<body>"; print "<p>さいころの目は<big>$n</big>です。</p>\n"; #御言葉を出力 if($n == 4){ print "<p>ふ、不吉な・・・。4が出ました。</p>\n"; } print "<body></html>"; __________________________________________ 一行目が原因でしょうか。ローカルで作成した、cgiファイルをレンタルサーバーに配置(アップロード)し ブラウザから見たいと考えております。 ご存知の方、教えて頂けないでしょうか。 宜しくお願いします。

専門家に質問してみよう