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>
以上ですが、何かヒントになるようなことでもよいので、識者の方、アドバイスをお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ApacheとかじゃなくてTomcatのWebサーバー機能で、ということなんですよね?
TomcatのCGIはあまり実績が無いので自身は無いのですけども、
#! c:/perl/bin/perl
っていうところは空白はあって大丈夫なのですか?
#!c:/perl/bin/perl
とか?
あと、.xml ファイルのエンコーディングはあっていますか?
ファイルをシフトJISで書いているのに冒頭に<?xml version="1.0" encoding="UTF-8"?>とかなっているとか。
Tomcatってインストール直後のこの辺がでたらめなのでチェックしてみてください。
基本はUTF8で書いてエンコードもUTF8にするのがベターです。
お役に立ちましたら幸いです。
>maznobuさん
回答ありがとうございます。
今回のように tomcat のみの機能で cgi を実行するために、設定を行わなければいけないファイル(web.xml など)は iso-8859-1 という西ヨーロッパ言語で保存されていました。
試しに utf-8 などに統一させてみましたが、動作せず、です。。。
ネット上の情報で、tomcat で cgi を実行させるには、
「ここをこのように変更する」
程度しか書いている情報はないのですが、その通りにやっても動かなかったりします。
ちなみに、知人は動いたようです。
知人も、その通りにやって、動くPCと動かないPCがあると言っていました。
なので、もはや Tomcat で動かさなければいけない、という理由はないので、断念しようと思います。
せっかく回答していただいたのに申し訳ないです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
めちゃきれい
-
apacheでPerl CGIが作動せず、5...
-
(フリーの)ツリー掲示版CGI、...
-
ラズパイでのCGIで、pythonソー...
-
CGI.pmはもう古い!?
-
.htaccessについて
-
POSTメソッドの最大容量について
-
3DCG
-
/bin/awk '{print $5}'ってどう...
-
入力フォーム(電話番号)
-
誕生日占いをプログラムで作成...
-
number 改行が追加できない
-
生成AI画像について
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlでpostが受け取れない
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
SFTPなどは使わないホームペー...
-
VBAでサーバーにアクセスするに...
-
URLに~/cgi-bin/~を隠す方法
-
ラジオボタンのグループ化
-
ASPから既存のexcelブックを開...
-
CGIでソースがそのままでてしま...
-
ApacheでのCGIについての質問
-
FTPにて553エラー
-
perl 矢印演算子 -> の使い方
-
ユーザの所属するグループを取...
-
ASP(IIS?)のエラーについて
-
JAVAで別サーバーのファイルの...
-
クライアントサイドとサーバー...
-
Ajax React Jqueryの位置づけと...
-
特定のCGIだけ、作動するかわり...
-
VBScriptで、ファイルから任意...
-
カタカナを英語やフランス語に...
おすすめ情報