• ベストアンサー

Perlについて・・・

フリーウェアのPerlをインストールしました。 外国製のソフトなのでココのURLを参考にインストールしました。 http://x-web.pobox.ne.jp/fcgi/fcgi_02.html 因みにANHTTPもインストール済みです。 そこで、ちょっと解りにくい説明があったので、ココで質問させて頂きたいと思っております。 上のURLのHPに書いてある、 >>■動作確認  それでは、CGIスクリプトが正常に動作するか確かめよう! 下にテスト用のサンプルを用意したので、このファイルをANHTTPの「オプション」-「エイリアス」にある仮想パス「/cgi-bin」のローカルパスに保存してください。 ダウンロードの後、.txtを.cgiに変更してください。<< の意味が解りません・・・ どなたかわかる方ヨロシクお願いします。

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

  • ベストアンサー
  • nota55
  • ベストアンサー率37% (138/366)
回答No.2

>ANHTTPの「オプション」-「エイリアス」にある >仮想パス「/cgi-bin」 の項目に「c:\なんとかかんとかフォルダ」があるから, そのフォルダに test1.txt を test1.cgi に 拡張子を変えて保存しろ,という意味かと。 あとはブラウザのアドレスに http://127.0.0.1/cgi-bin/test1.cgi と入力してうまく表示できたらOK。

hiro_wide
質問者

お礼

ありがとうございました 上手く出来ました。

その他の回答 (1)

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.1

>下にテスト用のサンプルを用意したので、このファイルをANHTTPの「オプション」-「エイリアス」にある仮想パス「/cgi-bin」のローカルパスに保存してください。 理屈はさておき、例えばテスト用のサンプルがtest.txtというファイルだとしましょう。こいつを動かす手順は 1.test.txtをc:\http\cgi-binにコピーします。 2.test.txtをtest.cgiに拡張子を変更します。これはtxtだとPerlシステムがそのファイルがPerlの実行ファイルだと判断できないからです。Perlの実行ファイルは拡張子がcgiまたはplです。Excelのデータファイルの拡張子xlsを消してしまうとそのファイルはExcelで起動できなくなるというのと同じ理屈です。 3.ANHTTPDとブラウザを起動します。 4.さて実行させるのですが、cgi-binのフォルダーを開いて、test.cgiをダブルクリックしても意味ありませんよ。それじゃ動きません。 ブラウザのアドレスバーにhttp://localhost/cgi-bin/test.cgiと入力してエンターキーを押します。そうするとtest.cgiが実行されます。 localhostつまりANHTTPDの作業できるフォルダとして指定されているc:\http\cgi-binの別名である「/cgi-bin」の中にあるPerlの実行ファイルであるtest.cgiを動かせ!となるのです。 正常にインストールされていればTest.cgiが動いてなんか表示されるはずです。

hiro_wide
質問者

お礼

拡張子がtxtということは、メモ帳なんですか? メモ帳にあのHtmlタグを貼り付け Cgi_binにファイル名をTest.cgiと保存し、 そのIPが貼り付けられたようなURLをクリックすればいいと言うものなんですね!! ご回答ありがとうございました。 以後もヨロシクお願いします。

関連するQ&A

  • #!/usr/local/bin/perlの変更。

    ┬ cgi_script │   └***.cgi │ └ access_g     └11111       └22222         └***.cgi 今まで、cgi_scriptフォルダの直下にあるcgiファイルの一番上の行は #!/usr/local/bin/perl できちんと動作していました。 今は、そのcgi_scriptフォルダと同じところにあるaccess_gフォルダの中にある、 11111フォルダの下の2222フォルダの下にあるcgiファイルを実行させたいのですが、 #!/usr/local/bin/perl をどのように変更していいかわからなくなってしまいました。 動作させたいcgiファイルはcgi_scriptフォルダの中に入れたところきちんと動作したので、 動作上の問題はないと思われます。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • CGI
  • PERL 宣言文 -wについて

    Perl初心者のWEBサーバエンジニアです。 サーバの移行に伴ってCGIファイルが動作していないため、ご相談になります。 【サーバ環境】 perl実行パス      /usr/local/bin/perl シンボリックリンク   /usr/bin/perl => /usr/local/bin/perl ソース記述       #!/usr/bin/perl ヴァージョン      5.8.5 perl実行環境      http://△△△.jp/cgi-bin/ ※apacheのスクリプトエイリアス指定 options +ExecCGI -Include SetHandler cgi-script 上記の環境で、cgiファイルが500internalサーバエラーになる現象が発生しています。 ファイルは以前動作したサーバから引っ張ってきました。 原因を探っていたのですが、cgiファイルのソース記述を #!/usr/bin/perl -w と記述を変更すると正常に動作しました。 -w について 【1度しか出現しない識別子や、初期化されずに参照される変数など、危険、無駄と思われる処理の警告を出力します。実際にはもっとたくさんの種類のチェックをするようです。】 と言う事はわかりましたが、いままで、-wなしで動作していたので、-wなしで動くよう、perlの設定を変更したいとかんがえております。 なにぶんPERL初心者ですので、同様の事象で知見がある方、ご教授を宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • perlによる外部プログラムの実行

    perlにてCGIを作成しています。 ブラウザでCGIにアクセスしたとき、gpgというコマンドプロンプトの プログラムを実行したいと考えており以下のようなプログラムを作成しました。 test.batを単体で実行したときにはうまく動作するのですが、CGIを介して 実行するとうまくいきません。 CGIのプログラム (WriteCmd.cgi) **********************************  #!c:/Perl/bin/perl  print "Content-type: text/html\n\n";  print "test.batの実行\n<br>";  system("test.bat");  exit; ********************************** test.bat **********************************  gpg --batch --gen-key sample.txt ********************************** またtest.batの内容を **********************************  mkdir test ********************************** としてみるとディレクトリがちゃんと作成できるので WebサーバやPerlのパスの問題ではないと考えております。 よい解決方法がありましたら教えていただけると助かります。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • Perlが動作しない?

    色んな所でお世話になってます。 皆様にはいつも親切にお答え下さって、本当に感謝しています。 今回、CGIを使ってやりたいことがあり、翔泳社から出版されている 『10日でおぼえるPERL/CGI 第2版』 という本を買ってきました。 が、インストール場所、apacheの設定、入力など、何も間違っていないのに、動作してくれません。 状況として、WEBページで開くと、txt(もちろん拡張子はcgiに変更してあります)の内容がそのまま出力されます。 本来ならばprintのダブルコーテーション内だけが出力されなければいけない筈(本の写真にはそう写ってる)なんですが、WEBページ(127.0.0.1)を開いても #! c:/perl/bin/perl print "Content-type: text/plain\n\n"; print "Hello Perl !"; と表示されるだけなんです。 apacheにはうまく接続できているので、問題はPERL.EXEの方だと思うのですが… 再インストールしてもムダな努力でした。 本の支持通りやってるつもりなので原因が思いつきません。 どこに原因があるのでしょうか? 可能性はたくさんあるんだと思いますが、可能な限り全て試してみますので、よろしくお願いします。

    • 締切済み
    • CGI
  • パールスクリプトを呼び出すときのパスの指定について

    わたしはあるインターネットのスクールに通っていたのですが パスについて頭が混乱しています。 CGIのコースのアクセスカウンターの授業で ディレクトリ構造が /usr/home/www/s1000000/cgi-bin/counter.pl となっているパールスクリプトをhtmlファイルのimgタグで呼び出すとき <img src="/usr/home/www/s1000000/cgi-bin/counter.pl?NAME=username&KETA=4">(その1) と記述したらうまく動作せず、 <img src="/~s1000000/cgi-bin/counter.pl?NAME=username&KETA=4">(その2) と訂正され、解決しました。 サーバのローカルルールでホームディレクトリのファイルは/~で呼びだせるように なっているようなのですが、それならば(その1)と(その2)は 同じことだと思うのです。 パスの相対指定はわかるのですが、絶対指定やurl指定がわかりません。 (その1)は絶対指定で(その2)はurl指定ということなのですか? (その1)と(その2)の違いは何ですか? なぜ(その1)では動作しないのですか? パスの根本的なところを知りたいです。 どなたか教えていただければ幸いです。

    • ベストアンサー
    • CGI
  • FreeBSDのperl

    自分のPCでCGIが動かずに苦戦しているのですが 環境はpc9821にFTPでインストールしてUSER環境を 選択しています。この環境でperlへのパスをCGIを使うためのファイルを/usr/bin/perlに指定していたとおもうのですがperlはきちんとうごいているのでしょうか? USER環境にはperlははいっていないということはありませんでしょうか?よろしくおねがいします。

  • CGI(Perl)を仮想サーバにインストールすることはできますか?

    CGI(Perl)を仮想サーバにインストールすることはできますか? お世話様です。 CGI(Perl)を仮想サーバにインストールすることはできますでしょうか? 仮想サーバの構成 OS:Windows Server 2008 (32bit 及び 64bit) インターネットインフォーメーションサービス:IIS7.0 仮想化ソフト:VMware ESX CGI: ActivePerl また、CGI(Perl)について、最低限のバージョンの指定はありますでしょうか? 上記に記載されていない、必要な機能、ソフトバージョン等があれば 教えてください。 よろしくお願いします。

    • 締切済み
    • CGI
  • Apacheの設定について

    WindowsXP SP2 のローカルでCGIを動作させるために  http://www.adminweb.jp/apache/ を参考に下記を試みました。 (1)Apache ダウンロード・インストール・接続確認   「http://localhost/」へアクセスして「It works!」表示確認    (htdocs ディレクトリの index.html) (2)ActivePerlインストール    perl -v perl -h で動作確認 (3)CGI用エイリアスの設定    ScriptAlias /cgi-bin/ "C:/SERVER/Apache/cgi-bin/" (4)以下の test.pl を C:/SERVER/Apache/cgi-bin/ に設置    ------------------------------------------------------    #!C:/Perl/bin/perl.exe print "Content-type: text/html;\n\n"; print "<html><body><h1>test cgi</h1></body></html>\n";   -------------------------------------------------------    http://localhost/cgi-bin/test.pl の実行で    「Internal Server Error」になってしまいます。 どこの設定が間違っているのか見当がつきません。 何卒ご指導宜しくお願い致します。

  • ApacheがPerlを作動してくれないのです。。。

    CGIテストのためにローカルにサーバーマシンを立てました。サーバーはApacheを使用しPHPとPerlをそれぞれインストールしました。 PHPは正常に動いてくれますがPerlだけが何回やってもyou dont have a permission ~~~と表示されます。 ためしにコマンドでperl -v と打ったら正常にPerlは作動していました。ちなみにPerlは C:Perl\bin\perlになっておりCGIスクリプトにも #!C:Perl\bin\perlと表示しています。又、confも各サイトを見てCGIが動くようにしっかり編集しました。 どうすれば動くようになるのでしょうか?

  • アクセスカウンタ

    プロバイダWAKWAKの無料HPサービスで、 アクセスカウンタを作成、設置しました ユーザー設定ガイド http://www.wakwak.com/support/setup/homepage/cgi/counter.html の通り、 txtファイルに、下記の記述を追加 <img src="/cgi-bin/Count.cgi?df=xxxxx|user=yyyyy"> xxxx はアクセスカウンタ名 yyyyyはFTPログインID を入力しました txtファイルは、『count.txt』とファイル名をつけて、保存 これを cgi-bin に アップロードして、 アドレスバーに下記の通り入力、表示しようとしましたが・・・ http://park21.wakwak.com/~○○○/cgi-bin/count.txt (○○○は私のFTPログインID) エラーの表示になってしまいました CGI Error The error was detected while processing this request. Be sure of followings: The CGI script does exist. The permission of CGI script is 755. The Perl path in CGI script is #!/usr/local/bin/perl. CGIスクリプトの呼び出し中にエラーが発生しました。 下記の点をご確認ください。 ・CGIスクリプトが存在すること。 ・CGIスクリプトのパーミッションが755であること。 ・CGIスクリプトのperlのパスが #!/usr/local/bin/perl であること。 アクセスカウンタが表示できない理由は何でしょうか?

専門家に質問してみよう