INDEX
Tomcat4について
1  NI-Lab.  2002/06/16(Sun) 18:22
http://jakarta.apache.org/tomcat/
Apache Tomcat

>Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies.
2  NI-Lab.  2002/06/16(Sun) 18:25
サーブレットとJSPのバージョン に対応している Tomcat のバージョンの対応票。

Servlet/JSP Spec <-> Tomcat version
2.3/1.2 <-> 4.0.3
2.2/1.1 <-> 3.3.1

これからはTomcat4系を使いたいところ。

3  NI-Lab.  2002/06/16(Sun) 18:26
http://www.ingrid.org/jajakarta/tomcat/
The Ja-Jakarta Project: サブプロジェクト - Tomcat翻訳
4  NI-Lab.  2002/06/16(Sun) 18:29
http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html
Tomcat 4.0 Documentation Index
5  NI-Lab.  2002/06/16(Sun) 18:37
http://www.ingrid.org/jajakarta/tomcat/sharing-4.0.html
Tomcat 4.0の翻訳分担

>対象バージョン 4.0
>進行状況 4.0b5から大幅な変更があったので、やり直しています。

http://www.ingrid.org/jajakarta/tomcat/sharing-4.0b5.html
Tomcat 4.0の翻訳分担

>対象バージョン 4.0b5

http://www.ingrid.org/jajakarta/tomcat/tomcat-4.0b5/src-ja/RELEASE-NOTES-4.0-B5.txt
Apache Tomcat Version 4.0 Beta 5 Release Notes(日本語訳)

6  NI-Lab.  2002/06/16(Sun) 18:38
http://www.ingrid.org/jajakarta/tomcat/webapp-1.0.1-sharing.html
webapp module 1.0.1 の翻訳分担

>対象バージョン 1.0.1 tc401 (Tomcat 4.0.1 用)
>注意: オリジナルの HTML 形式ドキュメントは内容が不完全です。 API ドキュメントを翻訳対象から外します。

7  NI-Lab.  2002/06/16(Sun) 18:38
http://www.ingrid.org/jajakarta/tomcat/jakarta-tomcat-connectors/webapp/ja/README.txt
README for WebApp Library and Related Modules
WebAppライブラリーと関連モジュールのREADME

>注意: The Jakarta Project の Web サイトかあるいはミラーサイトから
ソースコードのディストリビューション (webapp-module...src.tar.gz という
名前のファイル)をダウンロードした場合はこれ以外に必要になるファイルは
ありません。最新版のソースコードを CVS リポジトリから取得したいとき
だけ、この章にある手順でダウンロードしてください。

http://www.ingrid.org/jajakarta/tomcat/jakarta-tomcat-connectors/webapp/ja/INSTALL.txt
Installing mod_webapp and using it with Apache 1.3
mod_webapp のインストールと Apache 1.3 での使用

>ソースコード一式の中にある README.txt の説明に従って、mod_webapp の
>DSO 用コンパイルが終っているのなら、モジュールのインストールはとても簡単です。

8  NI-Lab.  2002/06/16(Sun) 19:43
http://home7.highway.ne.jp/dayan/tips/unix/servlet.html
Servlet/JSP と PostgreSQL で Web アプリケーションを!

>HTTP サーバーである Apacheのインストール。DSO(Dynamic Shared Object) をサポートするように設定します。

>ApacheとTomcatを連携させるための mod_webappのインストール。バイナリー版は、glibc 2.2 対応のものしかないため Redhat 6.2 ではソース(webapp-module-1.0.1-tc401-src.tar.gz)から作ります。また、Tomcat 4.0.1 に含まれている warp.jar は SSL に対応していないので入れ替えます。mod_webapp のコンパイルには GNU autoconf, libtool が必要ですが、Redhat にはパッケージに含まれているのでそのまま利用できます。

mod_webapp のコンパイルや apache の設定等も記述してあるから、わかりやすい。
インストールするときは、このページを参考にすると良さそう。

9  NI-Lab.  2002/06/19(Wed) 09:32
Tomcat 4.0.4 Release.

http://jakarta.apache.org/site/news.html#0618.1
18 June 2002 - Tomcat 4.0.4 Final Released

>The Tomcat Team is proud to announce the release of Tomcat 4.0.4 Final. Binary and source distributions are available here.

http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.4/
Apache Tomcat 4.0.4

10  NI-Lab.  2002/06/24(Mon) 00:47
http://archives.neohapsis.com/archives/bugtraq/2002-06/0225.html
KPMG-2002024: Apache Tomcat Path Disclosure

http://archives.neohapsis.com/archives/bugtraq/2002-06/0245.html
KPMG-2002025: Apache Tomcat Denial of Service

11  NI-Lab.  2002/10/22(Tue) 17:21
http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/appdev/index.html
Tomcatにおけるアプリケーション開発

12  NI-Lab.  2002/10/24(Thu) 21:43
[Tomcat]Connectorsとは?

http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/connectors.html
JTC Connectors

>JTC means Jakarta-Tomcat-Connectors. jakarta-tomcat-connectors is the repository of the Tomcat connectors sources.

たぶん、これがWebブラウザ(とは限らないかもしれないが)との接続用。

HTTP Connectors for Tomcat 4.x
org.apache.catalina.connector.http10.HttpConnector
org.apache.catalina.connector.http.HttpConnector
org.apache.coyote.tomcat4.CoyoteConnector

で、こっちがWebサーバとの接続用。

Web Server Connectors
Ajp11
Ajp13Connector
CoyoteConnector+JkCoyoteHandler
WarpConnector

で、「こよーて」って何?
conf/server.xml でデフォルトで使用していると思われる。

http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/coyote.html
The Coyote HTTP/1.1 Connector

>The Coyote HTTP/1.1 Connector element represents a Connector component that supports the HTTP/1.1 protocol. It enables Catalina to function as a stand-alone web server, in addition to its ability to execute servlets and JSP pages.

http://www.mail-archive.com/tomcat-dev%40jakarta.apache.org/msg26335.html
Subject: RE: jakarta-tomcat-connectors documentation/summaries

http://www.t3.rim.or.jp/~yoko-k-h/java/servlet/engines/connector-faq.idea.jp.txtSubject: RE: jakarta-tomcat-connectors documentation/summaries(日本語訳)

13  NI-Lab.  2002/10/24(Thu) 21:44
[Tomcat]JSPファイルを事前にコンパイルしておく方法

1. jsp_precompile パラメータを利用する
http://loclahost/hoge/test.jsp?jsp_precompile=true

2. Jakarta Ant の JSPC Task(Optional Task)を利用する

3. Tomcat の bin/jspc.sh または bin/jspc.bat を利用する。

http://www.freeml.com/message/struts-user@freeml.com/0000906
[struts-user:0906] Re: Tomcatのおけるjspファイルのコンパイルについて

http://www.freeml.com/message/struts-user@freeml.com/0000908
[struts-user:0908] RE: Tomcatのおけるjspファイルのコンパイルについて

http://jakarta.apache.org/ant/manual/OptionalTasks/jspc.html
JSPC Task

14  NI-Lab.  2002/10/24(Thu) 21:44
[Tomcat]AntでWARファイルを作成して、Tomcatに設置する。

http://jakarta.apache.org/ant/manual/CoreTasks/war.html
WAR Task

例) html(jarや画像ファイルを含む), ライブラリ系クラスファイル, アプリケーション系クラスファイル(サーブレットクラスを含む)をWARファイルへまとめる。
<target name="war" depends="compile">
<war destfile="${war}" webxml="${html}/WEB-INF/web.xml">
<fileset dir="${html}" />
<lib dir="${lib}>
<classes dir="${classes}" />
</war>
</target>

${CATALINA_HOME}/webapps に war ファイルを置くと、起動時に WARファイルが展開される。展開されるディレクトリ(Context名?)は hoge.war だったら hoge となる。URL的には、http://localhost/hoge/ という感じ。

15  NI-Lab.  2002/11/04(Mon) 14:01
[Tomcat]共通のライブラリ系JARファイルの置き場所

共通のライブラリ系(Log4Jとか)のJARファイルは ${CATALINA_HOME}/common/lib 以下に設置する。

16  NI-Lab.  2002/11/04(Mon) 14:02
[Tomcat]標準の環境変数を設定するbin/setenv.sh

以下のような ${CATALINA_HOME}/bin/setenv.sh というファイルを作成。

--- ここから ---------------------------------------------
#!/bin/sh
# Tomcat4のホームディレクトリ
CATALINA_HOME=/export/home/es/tomcat
export CATALINA_HOME
# Javaのホームディレクトリ
JAVA_HOME=/usr/java
export JAVA_HOME
--- ここまで ---------------------------------------------

すると、何故か自動的に環境変数が設定されている。
マニュアルを見てもわからないので、
bin 以下 のファイルを setenv.sh で grep してみたら、こんな感じ。

bin/catalina.sh(63):
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
. "$CATALINA_HOME"/bin/setenv.sh
fi

bin/jasper.sh(39):
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
JASPER_HOME=`cd "$PRGDIR/.." ; pwd`
if [ -r "$JASPER_HOME"/bin/setenv.sh ]; then
. "$JASPER_HOME"/bin/setenv.sh
fi

bin/tool-wrapper.sh(39):
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
. "$CATALINA_HOME"/bin/setenv.sh
fi

"Get standard environment variables" と。
bin/setenv.sh は「標準の環境変数を取得する」らしい。

17  NI-Lab.  2004/07/27(Tue) 22:17
http://www.atmarkit.co.jp/fjava/javatips/064container011.html
@IT:Java TIPS − Tomcatで独自のエラーページを使う

web.xml に以下のように記述。

<error-page>
<error-code>404</error-code>
<location>/error/404.html</location>
</error-page>

18  NI-Lab.  2005/02/11(Fri) 20:37
Tomcat 4.1 のインストールディレクトリ名に空白があると catalina.bat で起動できない?
Windows のサービスなら(起動アカウントにさえ気をつければ)問題なさげ?
一応、 C:\Program Files\Apache Group\Tomcat 4.1 のような場所は避けて、C:\pf\ApacheGroup\Tomcat4.1 のようにするとか。

Tomcat サービスの起動アカウントに気をつける。
特に、別PCの共有ファイルにアクセスする際には、アクセス権限のあるアカウントを指定しなければならない。

>java.io.FileNotFoundException: \\hogeserver\hogedir\hogefile.txt (アクセスが拒否されました。)
>at java.io.FileInputStream.open(Native Method)
>at java.io.FileInputStream.<init>(Unknown Source)

以前に、(Tomcat5系だけど) ${CATALINA_HOME}/bin/tomcat5w.exe によるサービス管理画面にてアカウント設定をしてもうまく動作させることができなかったので、サービスの管理画面からのほうが無難?

19  NI-Lab.  2005/03/14(Mon) 20:49
http://www.javaroad.jp/opensource/js_tomcat6.htm
Javaの道:Tomcat(アクセスログ)

>Tomcatのアクセスログ設定はserver.xmlやコンテキスト名.xmlに設定する<Valve>タグで行います。

うわ、できないと思ってたのに。Tomcat4系では無理かな?

http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/valve.html

Tomcat4.1系ならできるっぽい。

Tomcat 4.1.31 の conf/server.xml の 254行目〜

> <!--
> <Valve className="org.apache.catalina.valves.AccessLogValve"
> directory="logs" prefix="localhost_access_log." suffix=".txt"
> pattern="common" resolveHosts="false"/>
> -->

コメントアウトをはずせば、とりあえずアクセログを出力してくれる。
ドキュメントに詳細な設定方法が載っている。