S-JIS[2003-06-16/2003-07-18] 変更履歴

Tomcat4.0

トムキャット:Javaサーブレット コンテナ


インストール(linux)

  1. まずはJava(JDK)をインストールしておく。
  2. Tomcatのアーカイブjakarta-tomcat〜.tar.gzを/usr/local/pubにコピーする。
  3. /usr/local/から解凍・展開する。
    cd /usr/local
    gzip -cd pub/jakarta-tomcat〜.tar.gz | tar -xvf -
  4. 作られたディレクトリに対してシンボリックリンクを張っておく。
    ln -s jakarta-tomcat〜 tomcat
  5. 環境変数を設定する。/etc/profileに書いておくと便利。あるいはtomcatの設定ファイルに書いておくとか。
    環境変数名 備考
    CATALINA_HOME /usr/local/tomcat 上記で張ったシンボリックリンク
    CLASSPATH $CATALINA_HOME/common/lib/servlet.jar CLASSPATHに追加する
    JAVA_HOME   JDKインストール時に設定する

  6. 起動してみる。
    sh /usr/local/tomcat/bin/startup.sh
  7. ブラウザから http://ホスト名:8080/index.html が見えればOK。
    実体としては /usr/local/tomcat/webapps/ROOT/index.html が参照されている。

インストール(windows)

  1. まずはJava(JDK)をインストールしておく。
  2. Tomcatのアーカイブjakarta-tomcat〜.tar.gzを C:\usr\local\tomcat に展開する。
  3. 環境変数を設定する。
    環境変数名 備考
    CATALINA_HOME C:\usr\local\tomcat 上記で展開した場所
    PATH %CATALINA_HOME%\bin PATHに追加する
     
  4. 起動してみる。
    startup.bat

    tomcat用のウィンドウが開く。このウィンドウは×ボタンで閉じてはいけないことになっては いるらしい。閉じる時はshutdown.batを実行すること。

  5. ブラウザから http://127.0.0.1:8080/ を入力してindex.htmlが開けばOK。
    IEを使っていて「ローカルアドレスにはプロキシサーバーを使用しない」にしているなら、http://localhost:8080/ と入力してもよい。

設定

説明 ファイル・コマンド 備考
設定 /usr/local/tomcat/conf/server.xml コンテキストIDを指定する。
設定 tomcat4.conf 実行時の環境変数を指定する。

コンテキストID

Tomcatでアクセスさせようとしているhttp://serverName:8080/hogehogeというURLのうち、hogehogeの部分をコンテキストIDと呼ぶらしい。

環境変数名 備考
CATALINA_TMPDIR Tomcatの作業用ディレクトリを指定する。
TOMCAT_USER Tomcatを実行するユーザーID。通常は“tomcat4”らしい。
CATALINA_OPTS Tomcat起動時のJavaサーブレットへのオプション。
JAVA_OPTS Tomcat起動時のJavaVMへのオプション。"-server"とかを指定するのがいいっぽい。

ApacheとのAJP1.3(mod_jk)を使った連携

Apacheから、AJP1.3というプロトコル(ポート8009)を使用して Tomcatを呼び出す。

  1. ApacheをSOが使えるようにコンパイルしておく必要がある。
  2. Tomcatのmod_jk.soを作成する。
    cd /usr/local
    gzip -cd pub/jakarta-tomcat-connectors-〜-src.tar.gz | tar -xvf -

    /usr/local/jakarta-tomcat-connectors-〜-src/ が作られる。その下の jk/native/apache-〜/ からmakeを実行する。この際、/usr/sbin/apxs が必要。無ければ、/usr/local/apache/bin/apxsからシンボリックリンクを作成しておく。

    make -f Makefile.linux

    最後のリンクで失敗したら、makeを使わず直接リンクする。

    gcc -shared -o mod_jk.so *.o

    出来上がったmod_jk.soを/usr/local/apache/libexecにコピーする。

  3. mod_jk.conf・workers.propertiesを用意する。
    あちこちのHPに「mod_jk.conf-autoというファイルがTomcat起動時に作られる」と書いてあったが、作られなかったので自分で用意した。
  4. Apacheの設定ファイルの中に「include 〜/mod_jk.conf」を追加する。
  5. mod_jk.confの中で、「ApacheがTomcatに受け渡すURL」を指定する。
  6. Tomcatの設定ファイルの中で、「Apacheから渡されたURL」を表示できるよう設定する。

ApacheとのWARPを使った連携

Apache1.3.23から、WARPコネクタを使用して Tomcat4.0.4を呼び出す。WARPはTomcat4の標準とされているらしい。

  1. ApacheをSOが使えるようにコンパイルしておく必要がある。
  2. mod_webapp.soをダウンロードして、/usr/local/apache/libexecにコピーする。
  3. Apacheの設定ファイルの中に設定を追加する。
    LoadModule webapp_module  libexec/mod_webapp.so
    AddModule  mod_webapp.c
    <IfModule mod_webapp.c>
    	WebAppConnection warpConnection warp server:8008
    	WebAppDeploy test warpConnection /
    	WebAppDeploy examles warpConnection /examples
    	WebAppInfo info
    </IfModule>

    ディレクトリ構成は、
    /usr/local/tomcat/webapps/test
    /usr/local/tomcat/webapps/examles
    となる。この「webapps」は、Tomcatの設定ファイルの中のWarpConnectorの定義のAppBaseで指定されている値。

    server Apacheの設定ファイル内の前方で定義されているServerNameを指定する。
    localhostでもいいようだ。Tomcatのサーバー名を指定するのか?
    8008 Tomcatの設定ファイルの中のWarpConnectorの定義のportと一致させる。
    WebAppDeploy これは複数 指定できる。
    test warpConnection / http://server/ の為の指定。
    examles warpConnection /examples http://server/examles/ の為の指定。

    コンテキストIDTomcatの設定ファイル内に指定する必要は無いようだ。

WARPコネクタでは、appBaseで指定された場所(及びその下)しか指定できないようだ。つまり、フルパスを使って他の場所を指定することが出来ない。他の場所を使うには、シンボリックリンクを張るしかないようだ。


Tomcatへ戻る / 技術メモへ戻る / Javaサーブレットへ行く / strutsへ行く
メールの送信先:ひしだま