• ベストアンサー

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";

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

  • ベストアンサー
  • nokiasan
  • ベストアンサー率50% (3/6)
回答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が楽です。

123daa
質問者

お礼

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

その他の回答 (1)

  • calltella
  • ベストアンサー率49% (317/635)
回答No.1

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

123daa
質問者

お礼

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

123daa
質問者

補足

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

関連するQ&A