• ベストアンサー
  • すぐに回答を!

perlの設定の方法

お世話になります。 コマンドプロンプトで実施すると C:\>perl d:\wwwroot\test.cgi hello world と返ってきますが、 URLにhttp://localhost/test.cgiとすると Forbidden You don't have permission to access /test.cgi on this server. と返ってきます。 windowsですので、permissionと言われても何を設定するのか・・・ 何の設定を実施すれば、CGIが動くのか教えて下さい。 まったく検討がつきません。よろしくお願いします。 環境は以下のとおりになります。 Apache/2.0.49 (Win32) [C:\Program Files\Apache Group\Apache2]にインストール PHP/4.3.4 [c:\php]にインストール This is perl, v5.6.0 built for MSWin32-x86-multi-thread [C:\usr]にインストール Windows XP pro SP2 test.cgiの中身 #!/usr/bin/perl # test print "hello world";

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数98
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.2

LinuxのApacheしか扱ったことがないのですが、ひょっとしたら、Apacheの設定漏れじゃないでしょうか? Linuxでの例だと以下のように、「ExecCGI」の表記をしなければなりません。 <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews SymLinksIfOwnerMatch ExecCGI <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS PROPFIND> Order deny,allow Deny from all </LimitExcept> </Directory> あと、Forbiddenが出てくるのは、suEXECみたいなのが入ってるケースしか思いつかないですね・・・ 的はずれだったらすみません。 これは余談ですが、WindowsでのPerlはActivePerlが楽です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

おはようございます。 まさにそのとおりでした。 下記サイトを参考に、httpd.confの最終行に追加しました。 http://www.tohoho-web.com/wwwxx048.htm <Directory "D:/wwwroot"> Options +ExecCGI AddHandler cgi-script .cgi </Directory> これにより、無事動きました。 本当にありがとうございました!

関連するQ&A

  • 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が動くようにしっかり編集しました。 どうすれば動くようになるのでしょうか?

  • Perlを実行する方法

    Perlを実行するために <?php $ret = exec('/usr/bin/php /usr/local/apache/public_html1/testdir/a.cgi'); print $ret; ?> のように書きましたが、a.cgiは実行されないし$retは空白でした。 execでなくてもよいのですが、普通はPHPの実行中に、ある処理をさせるa.cgiを実行させるにはどうしているんでしょうか? a.cgiの処理が終わるまでphpのprint $ret;のステートメントの実行は待ち状態で、a.cgiの処理結果がTRUEなのかFALSEなのかを得られればさらによいです。

    • 締切済み
    • PHP
  • Fedora7でCGIが動きません

    CGIとPHPを使おうと思い、 Apacheで設定したんですけど CGIとPHP両方共に403 Forbiddenと表示されて You don't have permission to access /test.php on this server. ---------------------------------------------------------------- Apache/2.2.8 (Fedora) Server at 192.168.11.240 Port 80 この様に表示されてしまいます。 エキサイトで翻訳してみると あなたはこのサーバにアクセス/test.phpに許可を持っていません。 って書いて有るようですが如何すればアクセスした人全てに 許可をする事が出来るんですか?Apacheのhttpd.confの何処を修正 すれば宜しいのでしょうか?CGIの方はchmod 755 フォルダ名.cgi って打ち込んでパーミッションを変更しましたが駄目でした。

その他の回答 (1)

  • 回答No.1

test.cgiを下記の様に書き換えてみてください。 test.cgi #!c:\user\bin\perl.exe # test print "hello world"; パスが通っていないのが原因だと思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

夜分大変遅く返信ありがとうございます。 test.cgi #!c:\usr\bin\perl.exe # test print "hello world"; と致しましたが、結果は同じでした。

質問者からの補足

追記です。(関係ないかも知れませんが。) 環境変数 path には、c:\usr\bin; と追加しております。

関連するQ&A

  • perlの1行目が#!/usr/bin/perlだと動かず#!/usr

    perlの1行目が#!/usr/bin/perlだと動かず#!/usr/bin/perl5.8.9だと動くのですが、 #!/usr/bin/perlで動くようにするにはどうしたらいいのでしょうか? インストールされているperlは This is perl, v5.8.9 built for darwin-2level です。 どこかでパスの設定をしてやればいいと思うのですが、 どこに何を書けばいいのかよくわかりません。 環境はMacOsX v10.6 SnowLeopardです。 どなたかよろしくお願いいたします。

    • ベストアンサー
    • Perl
  • Perl からbashを呼び出したい

    Perlからbashのファイルを呼び出そうとしています。 sendmail2.cgiは、呼び出せていまが、 sendmail3.cgiは、呼び出せません。 bashのファイル自体は、./(bashファイル)とやると実行できます。 パーミッションは、 sendmail3.cgi 655 mail_plain.sh 755 sendmail2.cgi 705 mailsend.sh 705 です。 パスの設定の問題かとも思ったのですが、よくわかりません。 宜しくお願いします。 ===sendmail2.cgi============= #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<P>sendmail test</P>\n"; print "mailtest\n"; print "</HTML>\n"; exec('/home/httpd/wwwroot/yoshida/mailsend.sh'); exit(0); ============================== ===sendmail3.cgi============= #!/usr/bin/perl exec("/home/httpd/wwwroot/bbstest/mail_plain.bash"); exit(0); ==============================

    • ベストアンサー
    • Perl
  • apache・cgiの設定?

    phpの勉強をしようと思い、apacheとphpをインストールしまいした。 ついでに、cgiの設定も試みてみました。 それで、掲示板を設置してアクセスしてみたのですが、開いた掲示板に表示されるgifアイコンが表示されません。(gifアイコンは、掲示板下の/imagae/に格納されています。) apache等の設定が悪いのでしょうか?また、cgiを設置したcgi-binフォルダー以下を表示すると、 Forbidden You don't have permission to access /cgi-bin/ on this server. と表示されます。 どなたか、ご指導お願い致します。

    • 締切済み
    • CGI
  • Perlの超初心者です。

    Perlの超初心者です。 mac osXを使っています。テキストエディットで、#! /usr/bin/perl print "hello world!\n";と書いてperl-test.plと保存しました。そしてターミナルを起動してperl-test.plとタイプしたのですが、-bash: perl-test.pl: No such file or directoryとなってしまいます。 試しにターミナルでperl -le "print 'hello world';"とタイプするとhello worldとかえってきました。 perl-test.plはfinderのデスクトップに保存してあります。いったいどうすればperl-test.plのファイルを実行できるのですか? 教えて下さい。よろしくお願いします。

  • phpdev4.3.0のperlの設定方法

    Windowsに PHP、MySQL、Apacheを簡単にインストールできるphpdev4.3.0をインストールしました。 パールはActivePerl 5.8.6.811をインストールしました。 PHPは正常に表示されるのですが、cgiが「500 Internal Server Error」が出て表示されません。 phpdevはc:\phpdev、パールはc:\Perlにインストールしました。 OSはMEです。それまではAN-HTTPを使っていました。念のためソフトウェアのレジストリも削除しました。 パールを正常に使えるようにするには、 c:\phpdev\Apache\conf\httpd.confファイルをいじればいいのでしょうか? ファイルを見てもよくわかりませんでした。 パールの最初の記述「#!/usr/bin/perl」に問題があるのでしょうか? phpdevはアンインストーラーが付いてないので、削除の方法がよくわからないし、AN-HTTPと同時に起動することも出来ないのでパールのローカルテストが出来なくて困っています。 Apacheの最新版をインストールしてみたのですが、上書きされずphpdevの古いバージョンが起動します。Apacheの最新版のアンインストーラを実行してもphpdevの古いバージョンが残ってしまいます。 パールを使えるように設定する方法、あるいはphpdevを完全に削除する方法を教えて下さい。 お願いします。

    • ベストアンサー
    • Perl
  • ApacheとPHPの設定で

    Apacheの設定は「あなたの予想に反して、このページが見えているでしょうか?」と初期画面が出たのですが、PHPは「ページが表示されません」と出てしまい、 その後、http://localhost/につなげると、 Forbidden You don't have permission to access / on this server. Apache/2.0.54 (Win32) Server at localhost Port 80 と表示されました。 何がどう悪いのかわかりません。

    • 締切済み
    • PHP
  • perlパス

    Windows2000機でWebServerを建てたのですが、CGIが認識しません。 WEBサーバーのクライアントソフトはApacheで 普通にHTMLは見れています。 perlをインストールした場所は C:\usr\local で VerはActivePerl 5.8.8.822 for Windows (x86)です。 場所は↑なのでCGIファイルのperlのパスはそのままいじらず、 perlのパスは#!/usr/local/bin/perl です。 一応#!C:/~以下   もやりましたがだめで、 CGIのテキストが表示されています。 色々調べてやったのですがどうもうまくいかず 教えていただけませんか

  • Xamppでperlが表示されない

    Linux初心者です。 ubuntu8にXamppインストールして、htdocsにtest.cgiを入れて、http://localhost/test.cgiにアクセスすると、 「Internal Server Error」がでます。 test.cgiの内容は 「 #!/usr/local/bin/perl 」 の一行のみです。 ちなみに、おなじhtdocsディレクトリにPHPのファイルを入れてテストしたところ正常に動作しました。 ご教示願います。

  • Apacheの設定の問題でしょうか?

    Windows XPにApacheをインストールしてサーバーにしています。 ブラウザからcgiファイルを呼び出す以下のメッセージが表示されます。 Windowsサーバーはパーミッションの設定は必要ない思っているのですが、どなたか何が原因かお分かりでしょうか?ご教授願います。 (呼び出しURL) http://hostname/~******/cgi-bin/******.cgi Forbidden You don't have permission to access /~*******/cgi-bin/*****.cgi on this server. -------------------------------------------------------------------------------- Apache/1.3.24 Server at localhost Port 80

    • 締切済み
    • CGI
  • Apache初心者です

    10日で覚えるPerl/CGI入門教室という参考書を買って ApacheとActivePerlをインストールしました。 Apacheはバージョン5.1.2600.0になっています。 これで、インストールは完了し、本書の通りに インストール先も完璧に出来ているはずです。 第一日目のお勉強が  #! c:/perl/bin/perl print "Content-type: text/plain\n\n"; print "Hello Perl !"; これでブラウザには Hello Perl ! と表示されるはずなのですが Forbidden You don't have permission to access /tendays/1-1.cgi on this server. Apache/2.0.54 (Win32) Server at 127.0.0.1 Port 80 などとなってしまい、色々調べてはみてるのですが・・。 一日目でつまずいてしまって途方にくれてます。 WindowsXP ウイルスバスター2006が入っていて 3台のPCをルーターで繋げています。 どこに間違えがあるのでしょうか? 初歩的なことですみません。

    • ベストアンサー
    • CGI