アプリ版:「スタンプのみでお礼する」機能のリリースについて

Servletド素人なのですが、なんとかtomcatをセットアップして悪戦苦闘しています。
ServletはWebアプリケーションという単位で動くと聞きまして、自分のホームにそれ専用のディレクトリを作ってみたのですが、うまくtomcatから認識されないんです。
/home/user/hoge とか作って、tomcatのserver.xml に

<Context path="/hoge" docBase="/home/user/hoge" debug="0" reloadable="true" ></Context>

と書いたのですが、いざtomcatをスタートさせると

AutoWebApp: Loaded from config: DEFAULT:/hoge
WorkDirSetup: Creating work dir /usr/local/jakarta-tomcat-3.3.1/work/DEFAULT/hoge

となってしまい、自分のホームにならないんです。
仕方なくそこにファイルを置いて、http://localhost/hoge/ 等と打っても、全部404になってしまいました・・・。

もちろん、http://localhost/examples/ ではちゃんとtomcatのデフォルトが出てきます。

わかりますでしょうか・・・。

A 回答 (3件)

> JkMount /hoge/* ajp12


これはマウントと言ってコネクタに/hogeをマウントすると言うことです。
当然ながらこの設定は不可欠です。
これを行うことによりajp12コネクタで/hogeディレクトリへ対しての
リクエストがとおります。
ですが、私の指摘したのはAliasです。

httpd.conf もしくは mod_jk.confへ以下の設定をすれば見れるはずです。

Alias /hoge/ "/$TOMCAT_HOME$/webapps/hoge/" #まず、Apacheに/hoge/*へ対してのリクエストを/$TOMCAT_HOME$/webapps/hoge/へAliasする。
JkMount /hoge/* ajp12 #/hoge/へのリクエストをajp12コネクタを通じて処理

Apacheのサンプルが見え、8080でTomcatのexamplesが見えるのであれば
インストールと基本の設定は出来ていますので、この設定が出来ていないのが原因でしょう。
    • good
    • 0
この回答へのお礼

なるほど!Apache側アクセスからTomcatへの接続は、モジュールを入れておけば自動でされるのではないのですね。設定をしてみます。あとは、webアプリケーションの例の通りに、Servletを配置すれば良いんですね。色々とありがとうございました。

お礼日時:2002/04/25 23:28

まず、tomcatのconfディレクトリにあるmod_jk-auto.confを見てみてください。


このファイルは、登録されているWebApplicationのためにTomcatが自動的に
作る設定ファイルです。
ご覧になるとわかると思うのですが、
Aliasが設定されていると思います。
つまり、WebApplicationへのAliasを設定するなどしてパスを通してあげないと
そのファイルはTomcatは認識したとしてもApacheで認識できないのです。
exampleの場合、最初の起動時に認識されますのでアクセスはできます。
ですが、もしincludeファイルにmod_jk-auto.confでなく、自分で書いたものを
指定しているのであれば、後から追加したWebApplicationへのAliasは自動では設定されません。
ちなみに8080ポートで接続は確認しましたか??
8080で見えて、80で見えなければ、それは完全にこの設定ができていないからです。
この場合httpd.confか、mod_jk.confでAliasを設定する必要があります。
httpd.conf、もしくはmod_jk.confの設定をもう一度見直してみてはどうでしょう??
    • good
    • 0
この回答へのお礼

conf/jk/mod_jk.conf というのがあったので、exampleなどの例にならって
> JkMount /hoge/* ajp12
と指定を加えてみました。すると、80でも8080でも見えなかったものが、8080だけで見えるようになりました。ということは、Tomcatでは認識できているということですよね。自動的にApacheで認識されていないのが非常に気になるのですが、もう少しいじってみます。ありがとうございます。

お礼日時:2002/04/24 15:25

まず、環境をしっかり書いておいてください。


http://localhost/examples/で見れるということはWebサーバーとの連携ですか?
それとも、TOMCATのポートを80に指定したのですか?
それと、もしWebサーバーを使用しているのならばそれは何ですか??

404エラーはWebサーバーが吐き出すエラーです。
つまり、基本的に配置がうまくいってない、もしくはWebサーバーから見えない
と考えるべきです。
Webサーバーの設定でちゃんとhogeが見えるようになっているか確認をしてください。
連携の概要はこうです。

Client > Webサーバー > もし、jspならば > tomcat

ですので、Webサーバーがそのファイル自体を見れないと404エラーとなります。
設定について悩んでいるようでしたら、環境と手順を書いておいてください。

この回答への補足

大変失礼いたしました。
環境はLinux 2.4、Tomcat3.3.1(/usr/local/jakarta-tomcat3.3.1/)とApache1.3.20(/usr/local/apache/)にJ2SDK 1.3を連携させています。
Apacheのルートは/home/httpd/になっていて、exampleはtomcatの中(jakarta-tomcat3.31/webapps/example)にあり、Servlet関係の要求へ自動的にtomcatへ飛ぶようになっている・・・はずです(exampleは飛んでくれました)。
それが、tomcat側の conf/server.xml に新規で指定しても飛んでくれないのです・・・。

補足日時:2002/04/22 18:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!