• ベストアンサー

ActivePerlでのCGI設定

Active Perl と AnHttpd を使ってCGIを作っているのですが、別ディレクトリにあるCGIを呼び出せなくて困っています。 F:\Dataドライブ配下に 以下のようなディレクトリ・ファイル構成で /public_html  index.html  /html   /AAA    AAA.html  /cgi-bin   aaa.cgi ルートディレクトリ/public_htmlの中に htmlファイル index.htmlと ディレクトリ /html /cgi-bin があり、 /html配下/AAAディレクトリにあるAAA.htmlから aaa.cgiを呼び出したいのですが、 「ページが見つかりません」というメッセージがでて、aaa.cgiを呼び出すことができません。 AAA.htmlには <form name="form" method="post" action='../../cgi-bin/aaa.cgi'> ・・・・・・ </form> というように設定しているのですがaaa.cgiがよびだせません。 WinNT環境でActivePerlとAnHttpdを使ったCGIの設定をご存知の方がいらっしゃいましたら、すみませんが教えて下さい。 よろしくお願いします。

  • Perl
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
  • SUU74
  • ベストアンサー率100% (2/2)
回答No.1

WinXPですが質問の構成でcgi呼び出しできました。 CGIの設定は「オプション」-「一般」で 拡張子pl、cgiの実行プログラムに [ActivePerlインストールディレクトリ]\bin\Perl を設定すればよいと思いますが (若しくは環境変数のPATHに設定する)

tanicchi
質問者

お礼

ご返答ありがとうございます。 教えていただいたとおりに設定してみたところ無事に実行することが出来ました。 ありがとうございました。

その他の回答 (1)

  • estea
  • ベストアンサー率44% (39/87)
回答No.2

今、手元に Anhttpd が入ってないのでなんなんですが・・・ 1.プロクシ刺さってませんよね? IEの設定でプロクシを外すか localhost または 127.0.0.1 へのアクセスにプロクシを使用しないように設定してください 2. ブラウザで直接 127.0.0.1/cgi-bin/aaa.cgi を呼べば見つかりますか? 3. anhttpd の設定が出来てないとか起動していないてこと無いですよね?

tanicchi
質問者

お礼

ご返答ありがとうございます。 皆様の御陰で無事問題を解決することが出来ました。 ありがとうございました。

関連するQ&A

  • ローカル環境でのCGI

    社内アンケートとして、 CGIをもちいた、アンケートを制作しております。 <FORM ACTION="http://hogehoge.local/cgi-bin/aaa.cgi" METHOD="POST" onSubmit="return form_check(this)" name=""> なまえ:<INPUT TYPE="radio" NAME="name" VALUE="OK"> ~~~~~~ ~~~~~~ <INPUT TYPE="hidden" NAME="number" VALUE=""> <INPUT TYPE="submit" NAME="answer" VALUE="送信する"> <INPUT TYPE="reset" NAME="reset" VALUE="リセット"> </FORM> </form> でhoge.cgiを動かしたいと思っております。 サーバーへアップし、cgi-bin配下でパーミッションを設定した場合はきちんと動きます。 当たり前ですが、ローカル上では動かなかったです。 社内ネットワーク上 \\hogehoge\cgi-bin\aaa.cgi ⇒ http://hogehoge.local/cgi-bin/aaa.cgi 【動かず】 hogehogeというディレクトリのcgi-binディレクトリのaaa.cgiを修正しますと そのままcgiが動くようにしたいのです。 htmlはもちろんのこと動きます。 サーバーアップ http://hogehoge.local/cgi-bin/aaa.cgi 【動作確認OK】 という状態で困っております。

    • 締切済み
    • CGI
  • CGIに関して

    CGIに関してなのですが、CGI実行ディレクトリ名binーcgiにすると言う点で困っています。今、掲示板をHPにアップしようとしているのですが、掲示板設置のマニュアルでは以下の通りとなっています。とりあえず、以下の作成が全然全く分からなくって困っています。分かる方がおられましたら是非ご回答下さいますようお願いいたします。 ホームディレクトリ(ここではpublic_htmlディレクトリとします) の下に、cgi-binディレクトリ(フォルダ)を作成し、必要なファイルををFTP 転送します。全体のディレクトリ構成とファイル位置は以下のとおりです。 public_html / index.html (トップページ) | +-- cgi-bin / ????.cgi ????.log jcode.pl 背景画像など ※ちなみに、ディレクトリ実行はbin-cgiとあります。

  • CGIのアクセス制限について

    環境は windowsXPHome SP3 / Apache2.2 / ActivePerl5 / (MySQLを使う予定) です。 htdocs\index.html htdocs\ddd\aaa.cgi htdocs\ddd\bbb.cgi のようなディレクトリ構成で、httpd.confは、htdocs以下を公開する設定になっていて <Directory "D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\ddd"> AddHandler cgi-script .cgi Options +ExecCGI </Directory> を指定しました。 これを自宅サーバーとして公開する場合、外部からはindex.htmlにアクセスできるようにして、 aaa.cgiやbbb.cgiはindex.htmlからリンクやformのactionから呼び出されてからしか実行できない (直接cgiのurlを指定して開けない)ようにするにはどうすればいいでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • Apacheでphpとcgiを使いたいのですが

    phpは問題なく使えましたが、cgiで問題があります。 今まではサーバーソフトにANHTTPDを使っていたのですが、phpを使う上で問題があったので汎用性のあるApacheに乗り換えました。するとphpはうまく動いた反面、cgiがうまく動作しなくなってしまいました。 ANHTTPDのときは、ローカルホスト以下のフォルダならどこであろうとcgiを含むすべてのファイルが使用できましたが、Apacheでは指定したフォルダ以下にcgiしか置けないみたいでした。そのフォルダ内にhtmlファイルなどを置くとアクセスできません。 この状態で使うとなると、cgiファイルだけその1箇所のフォルダ以下に集め、他のファイルを別のディレクトリに置かなくてはいけませんが、それでは1つのプログラムに必要なファイル類がバラけてしまうのでその方法は使いたくありません。 どうにかして1つのフォルダ以下でcgiとその他のファイルを扱えるように出来ませんでしょうか?また、僕が使っている今の方法では、cgiプログラムの1行目のパスを「C:/Perl/bin/perl」にしなくてはいけませんが、これもWebサーバー上にアップする際に書き換える手間がかかってしまいます。ANHTTPDの時は「/usr/bin/perl」「/usr/local/bin/perl」のような状態でも普通に使えました。この書き換えの手間を省く方法もありましたら情報いただければと思います。 以上です。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • すみません、二度目です。fedora core3でcgiが動きません。

    すみません、以前も質問したのですが、残念ながら解決に至らなかったので ここでまた質問させていただきました。お詳しい方のアドバイスをよろしくお願い致します。 cgi-binの中にauctというディレクトリを入れその中にあるindex.cgiにアクセスしたいのですが http://localhost/cgi-bin/auct/index.cgi とアクセスすると、500 internal server error となってしまいます。 httpd.confの設定は scriptalias /cgi-bin/ "/var/www/cgi-bin/"を                     ↓ alias /cgi-bin/ "/var/www/cgi-bin/"と変え(#は外しています)、 <Directory "/var/www/cgi-bin"> のoptionsをnoneからExecCGIにしました。 あと #AddHandler cgi-script .cgi の#は外しました。 scriptaliasをaliasに変えたのはindex.cgiにアクセスすると、同ディレクトリ内にある、start.shtmlというファイルを開くという設定になっているので、それをCGIと認識されないようにするためにしました。 そのほかはデフォルトの状態ですので、documentrootはvar/www/htmlです。 各CGIのperlのパスは#!/usr/bin/perlとしていて 実際そこにperlがあるか確認もしました。 設定した後httpdの再起動もしました。 error log は premature end of script headers: index.cgiと File does not exist: /var/www/html/favicon.ico となっています。 この設定でWindowsのapacheはCGIが動作したのですが、fedora core3ではうまくいかないのは どうしてでしょうか?アドバイスお願いいたします。

  • 掲示板のCGIを設置したいのですが・・・。

    自分のサイトにabicorpという掲示板CGIを設置したいのですが、 エラーが出てしまいうまくいきません。 パーミッションも変更しましたがなぜかできません。 #!/usr/local/bin/perl perlパスは↑です。 public_html (ホームページディレクトリ)  |-- abicorp    |-- abicorp    |-- kboard.cgi (本体?)    |-- coustom.cgi (設定)    |-- ... .cgi (ほかいくつかCGIファイルがあります)    |-- gif アイコン画像 ↑のような感じです どうしたらいいでしょうか?

    • ベストアンサー
    • CGI
  • フォームからCGIを起動できない

    こんばんは。 WebサーバApacheでCGIを作成しています。 DocumentRootが初期設定/var/www/html/で、その下にindex.htmlを作成しました。 次にcgiのディレクトリが初期設定の/var/www/cgi-bin/で、その下にtest.cgiを作成しました。 そして、test.cgiのパーミッションを-rwxr-xr-xにしてからApacheを起動しました。 別マシンのブラウザからhttp://xxx.xxx.xxx.xxx/index.htmlでアクセスし、フォームのテキストボックスに「abc」と入力して送信ボタンを押しましたが、404エラーになってしまいます。 (アドレスバーには「http://xxx.xxx.xxx.xxx/test.cgi?NAME=abc」と表示) ブラウザのアドレスバーに直接「http://xxx.xxx.xxx.xxx/cgi-bin/test.cgi?NAME=abc」とすると正常にアクセスできます。 ドキュメントルート配下にあるindex.htmlからドキュメントルート外にあるCGIのディレクトリ(ScriptAlias /cgi/bin/ "/var/www/cgi-bin/")を参照するにはどのようにしたらよいのでしょうか? ----------index.html---------------- <HTML> <HEAD><TITLE>フォーム</TITLE></HEAD> <BODY> <FORM ACTION="../cgi-bin/test.cgi" METHOD="GET">名前 <INPUT TYPE="TEXT" NAME="NAME"><BR> <INPUT TYPE="SUBMIT" VALUE="送信"> </FORM> </BODY> </HTML> ----------index.html---------------- ----------test.cgi------------------ #!/usr/bin/perl $str = $ENV{"QUERY_STRING"}; print << "EOF"; Content-type: text/html <HTML> <HEAD><TITLE>TESTCGI</TITLE></HEAD> <BODY>$str</BODY> </HTML> EOF ----------test.cgi------------------

    • ベストアンサー
    • CGI
  • cgi-binディレクトリ.............

    私のサーバーでは今までANHTTPDを使っていたのですが、apacheでもやってみようと思いまして、apacheに入れ替えたのですが、今まではcgi-binディレクトリ以下に掲示板のアップロードの画像やhtml・swfファイルなどをいっしょに入れていたのですが、apacheに入れ替えるとそれらのファイルがアクセス権がないと言われ観覧できません。 ANHTTPDと同様にcgi-binディレクトリ以下でも画像やhtmlなどを見れるようにするにはどうすればよいでしょうか? アドバイスよろしくお願いします。 (サーバーOSは WINDOWS XPです)

  • cgi-bin配下のファイルに読込許可を!

    最近、Apache2を使い始めたばかりで設定がよくわかりません。 Apacheの設定ファイルで、httpd.confというファイルがありますが、その中で、 ScriptAlias /cgi-bin/ "C:/Apache2/htdocs/cgi-bin/" <Directory "C:/Apache2/htdocs/cgi-bin"> AllowOverride None Options All Order allow,deny Allow from all </Directory> と記述して"C:/Apache2/htdocs/cgi-bin"配下にあるファイルに CGIが動作するように許可しました。 しかし、これだと逆に"C:/Apache2/htdocs/cgi-bin"配下にある HTMLファイル(.htm等)が読み込めなくなってしまいます。 cgi-bin配下にあるhtmlファイルも表示できるように許可を 出したいのですが、どのように設定すればよろしいのでしょうか?

  • CGIの設置に詳しい方にご質問します。

    現在下記のサーバーを借りてホームページを開いています、その際にpublic_html ディレクトリーへindexなどのファイルをアップしていますがCGIの設置の際、public_html ディレクトリー を無視してCGI用のディレクトリーをアップしても言いという事でしょうか それともpublic_html ディレクトリーは無視出来ずPerlのパスか何かアップする必要があるのでしょうか http://land.to/newshiyou.php 解りやすい説明でお願いします。 よろしくお願いします。

    • 締切済み
    • CGI

専門家に質問してみよう