Windows用のApacheTomcat8.5.16のディレクトリ階層及びファイルについて説明します。
本書では、インストール(Windows)の手順でTomcatをインストールしていることを前提とします。
C:¥developer¥webap¥tomcat¥tomcat_8.5.16以下の構成は以下となります。
名称 | 説明 |
---|---|
bin | Tomcatの起動用exe,スクリプト,バッチを管理します。 |
conf | Tomcatの起動時に読み込む設定ファイルを管理します。 Tomcatを制御するの主な設定ファイルは、server.xmlです。 |
lib | 共有ライブラリファイル(*.jar)を管理します。 このディレクトリに管理した*.jarファイルは、全てのWebアプリケーション(サーバーサイドJava)からimport節で利用できます。 JDBCの接続用のJDBCドライバーを格納するのに適しています。 |
logs | アクセスログ、エラーログ、実行ログなどのログファイルを管理します。 |
temp | 一時ファイルを格納します。 System.getProperty("java.io.tmpdir")を サーバーサイドJavaから実行することで本ディレクトリのパスが取得できます。 |
webapps | デフォルトのコンテキストルート Webアプリケーションを配備するディレクトリです。 アプリケーション名.warを本ディレクトリに格納することで TomcatにWebアプリケーションがロードされます。 |
work | JSPファイルをサーブレットに解析した結果の JavaソースとクラスファイルをWebアプリケーション別に格納されます。 |
ログの出力先logs、設定ファイル格納先conf、コンテキストルートのwebappsを抑えておけばWebアプリケーションを実行するには十分です。
Windows用Tomcat8.5系のbinディレクトリについて以下に説明します。
名称 | 説明 |
---|---|
bootstrap.jar | Tomcatの起動用Javaライブラリです。catalina.bat,service.bat,tool-wrapper.batから指定され各種バッチ実行時に梱包されているorg.apache.catalina.startup.Bootstrapが実行されます。 利用者がこのjarファイルを直接操作することはまずありません。 |
catalina.bat | Tomcatを起動させるための最もコアなバッチファイル(古いバージョンから伝わる起動用バッチ)。 Tomcatを実行する場合には、startup.batを利用して下さい。 |
configtest.bat | confディレクトリ以下に格納された設定ファイル各種の妥当性チェックを実施します。 Tomcatを仮起動するためにTomcatが停止している必要があります。 |
digest.bat | 標準Realmで指定するユーザ名に対するパスワードを暗号化するためのバッチです。 server.xmlファイルなどの設定ファイルにデータベースの接続ユーザを定義する場合ときに ユーザに対するパスワードを暗号化することでセキュリティ要件を高める事が目的です。 |
service.bat | TomcatをWindowsのサービスとして登録・削除します。 service.bat install [サービス名] :サービスの登録 service.bat remove [サービス名] :サービスの削除 |
setclasspath.bat | 環境変数設定用バッチファイル。 catalina.bat及びtool-wrapper.batからサブバッチとして実行されます。 |
shutdown.bat | Tomcatプロセスの停止用バッチファイル |
startup.bat | Tomcatプロセスの起動用バッチファイル |
tomcat8.exe | WindowsサービスとしてTomcat 8を実行するためのサービスアプリケーションです |
tomcat8w.exe | Tomcatサービスを監視および設定するためのGUIアプリケーションです。 |
tomcat-juli.jar | Apache Tomcatの内部ログはJULIを使用しています。 catalina.bat及びtool-wrapper.bat実行時にクラスパスに本jarファイルが指定されます。 |
tool-wrapper.bath | これは、環境変数を設定するために使用できる一般的なTomcatコマンドラインツールラッパースクリプトです。 設定されたクラスパスにある完全修飾クラスのmainメソッドを呼び出します。 これはdigest.batによって内部的に使用されます。 |
confディレクトリは、設定ファイルを格納しているディレクトリです。 confディレクトリに格納されている各種ファイルの役割や主な設定箇所を理解することがWebアプリケーションサーバーTomcatの理解に繋がります。
名称 | 説明 |
---|---|
catalina.policy | Tomcatの起動時のオプション(catalina.bat run -security)で起動するセキュリティ・マネージャーが管理する Javaに対するセキュリティ制御の設定ファイル。 本設定ファイルを設定することで悪意のあるapplet,サーバーサイドJavaのプログラムの抑制を行います。 |
catalina.properties | Tomcatに特化したプロパティファイル。 サーバーサイドJavaからSystem.getProperty("ファイル内で定義された値")で取得可能 |
context.xml | 全てのWebアプリケーションに適用されるデフォルト・コンテキスト 【コンテキスト評価順:1】 |
jaspic-providers.xml | JavaTM Authentication Service Provider Interface for Containers用の設定ファイル Webコンテナに対してサードパーティの認証システムを連携する機能 例えばGoogle OAuthを利用してGoogleアカウント所有者のみシステムを利用可能とする場合には、本設定ファイルに Google OAuthの設定を明記し、lib配下に対応するjarファイルを格納する。 デフォルトでは、何も指定されていません。 |
jaspic-providers.xsd | jaspic-providers.xmlファイルの構文を定義したxsdファイル |
logging.properties | Tomcatの起動、エラー、アクセスログの設定ファイル。フォーマットは、java.util.loggingを利用 |
server.xml | Tomcatの実行ポート番号、Apacheの連携設定、バーチャルホスト設定などTomcatの動作を決める主設定ファイル |
tomcat-users.xml | Tomcat Webアプリケーションマネージャ(http://localhost:8080/manager)の管理者アカウント管理用ファイル |
tomcat-users.xsd | tomcat-users.xmlファイルの構文を定義したxsdファイル |
web.xml | 全てのコンテキスト(Webアプリケーション)に適用される配備記述子(Deployment Descriptor) 【web.xml評価順:1】 個別のコンテキストを操作する場合には、conf/エンジン名/ホスト名/コンテキスト名.xml又は warファイルに梱包したWEB-INF/web.xmlで指定します。 |
confディレクトリで重要な点は、conf/context.xmlとconf/web.xmlは全てのコンテキスト(Webアプリケーション)に適用される共通のファイルである点です。
Tomcatサーバの動作を操作する起点となるファイルは、server.xmlファイルになります。
ApacheTomcatにアプリケーションを配備したのに状態が古かったり、エラーが発生する場合には、 開発環境のサーバーであることを前提にTomcatを停止後以下のディレクトリ内を全て削除します。(初期化します。)
Tomcatサーバーを再起動して対象のWebアプリケーションにアクセスして動作確認をします。