Tomcat で CGI の実行結果が表示されません
Tomcat 6.0.24 を使って、perl または python で記述された cgi を実行したいのですが
実行されているのかされていないのか?がよくわからない状態で困っています。
※環境は Windows XP Pro SP3 上です。
具体的には、cgi 側で単純な HTML を print し、その結果をブラウザで確認したいだけなのですが
その print 結果が何も出力されません。
(ブラウザでアクセスすると、特にエラーは出ず、真っ白な画面)
◆試している cgi ソース(Perl)
--------------------------------------------
test.cgi
--------------------------------------------
#! c:/perl/bin/perl
print "Content-Type: text/html\n\n"
print "<html><body>Hello, World</body></html>"
--------------------------------------------
◆この test.cgi を配置している場所
インストールディレクトリ/webapps/ROOT/WEB-INF/cgi/test.cgi
◆ブラウザでアクセスしている場所
http://localhost:8080/cgi-bin/test.cgi
◆検証用 HTML の配置
インストールディレクトリ/webapps/ROOT/WEB-INF/cgi/test.html
→普通の HTML を確認のために配置。しかし、同様のアクセスで表示できず(画面真っ白)
ちなみに、Tomcat インストール後にやったことは以下です。
1.インストールディレクトリ/conf/context.xml の 以下の部分に
「privileged="true"」という記述を追加
<Context>
/*中略*/
</Context>
↓
<Context privileged="true">
/*中略*/
</Context>
2.インストールディレクトリ/conf/web.xml の以下の部分のコメント化を解除
<servlet>
<servlet-name>cgi</servlet-name>
/*中略*/
</servlet>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
3.上の1、2では perl を実行してくれないので、
インストールディレクトリ/conf/web.xml に以下を追加
<init-param>
<param-name>executable</param-name>
<param-value>C:\Perl\bin\perl.exe</param-value>
</init-param>
↓結果的に
<servlet>
<servlet-name>cgi</servlet-name>
/*中略*/
<init-param>
<param-name>executable</param-name>
<param-value>C:\Perl\bin\perl.exe</param-value>
</init-param>
</servlet>
以上ですが、何かヒントになるようなことでもよいので、識者の方、アドバイスをお願いいたします。
お礼
ご回答いただきありがとうございます。 無事設定することができました!