- ベストアンサー
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)
- 専門家の回答
質問者が選んだベストアンサー
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が楽です。
その他の回答 (1)
- calltella
- ベストアンサー率49% (317/635)
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; と追加しております。
お礼
おはようございます。 まさにそのとおりでした。 下記サイトを参考に、httpd.confの最終行に追加しました。 http://www.tohoho-web.com/wwwxx048.htm <Directory "D:/wwwroot"> Options +ExecCGI AddHandler cgi-script .cgi </Directory> これにより、無事動きました。 本当にありがとうございました!