Tomcat セットアップ
目次
はじめに
Tomcat をさまざまなプラットフォームで実行するために設定するには、いくつかの方法があります。これに関する主なドキュメントは、RUNNING.txt というファイルです。以下の情報で疑問が解決しない場合は、そのファイルを参照することをお勧めします。
Windows
Windows への Tomcat のインストールは、Windows インストーラーを使用すると簡単に行えます。そのインターフェイスと機能は、他のウィザードベースのインストーラーと似ており、いくつかの項目のみが異なります。
- サービスとしてのインストール: どの設定を選択しても、Tomcat は Windows サービスとしてインストールされます。コンポーネントページでチェックボックスを使用すると、サービスは「自動」起動として設定され、Windows の起動時に Tomcat が自動的に起動します。最適なセキュリティのため、サービスは権限が制限された別のユーザーとして実行する必要があります (Windows サービス管理ツールとそのドキュメントを参照してください)。
- Java の場所: インストーラーは、サービスの実行に使用するデフォルトの JRE を提供します。インストーラーは、レジストリを使用して、完全な JDK の一部としてインストールされた JRE を含む、Java 11 以降の JRE のベースパスを決定します。64 ビットのオペレーティングシステムで実行する場合、インストーラーは最初に 64 ビットの JRE を探し、64 ビットの JRE が見つからない場合にのみ 32 ビットの JRE を探します。64 ビットのオペレーティングシステムで実行中に JRE が見つからない場合、インストーラーは 64 ビットの JDK を探します。最後に、JRE または JDK が見つからない場合、インストーラーは
JAVA_HOME
環境変数を使用しようとします。インストーラーによって検出されたデフォルトの JRE を使用する必要はありません。インストール済みの Java 11 以降の JRE (32 ビットまたは 64 ビット) を使用できます。 - トレイアイコン: Tomcat がサービスとして実行されている場合、Tomcat の実行中はトレイアイコンは表示されません。インストール完了時に Tomcat を実行することを選択した場合、Tomcat がサービスとしてインストールされていても、トレイアイコンが使用されることに注意してください。
- デフォルト: インストーラーで使用されるデフォルトは、
/C=<構成ファイル>
コマンドライン引数を使用すると上書きできます。構成ファイルは、name=value
形式を使用し、各ペアは別の行に記述されます。使用可能な構成オプションの名前は次のとおりです。- JavaHome
- TomcatPortShutdown
- TomcatPortHttp
- TomcatMenuEntriesEnable
- TomcatShortcutAllUsers
- TomcatServiceDefaultName
- TomcatServiceName
- TomcatServiceFileName
- TomcatServiceManagerFileName
- TomcatAdminEnable
- TomcatAdminUsername
- TomcatAdminPassword
- TomcatAdminRoles
/C=...
を/S
および/D=
と共に使用すると、Apache Tomcat の完全に構成された無人インストールを実行できます。 - Tomcat を Windows サービスとして管理する方法については、Windows サービス How-To を参照してください。
インストーラーは、Tomcat の起動と構成を可能にするショートカットを作成します。Tomcat 管理 Web アプリケーションは、Tomcat が実行されている場合にのみ使用できることに注意することが重要です。
Unix デーモン
Tomcat は、commons-daemon プロジェクトの jsvc ツールを使用してデーモンとして実行できます。jsvc のソース tarball は Tomcat バイナリに含まれており、コンパイルする必要があります。 jsvc をビルドするには、C ANSI コンパイラー (GCC など)、GNU Autoconf、および JDK が必要です。
スクリプトを実行する前に、JAVA_HOME
環境変数を JDK のベースパスに設定する必要があります。あるいは、./configure
スクリプトを呼び出すときに、--with-java=/usr/java
のように、JDK のパスを --with-java
パラメーターを使用して指定できます。
以下のコマンドを使用すると、$CATALINA_HOME/bin
フォルダーにコンパイル済みの jsvc バイナリが作成されるはずです。これは、GNU TAR が使用されており、CATALINA_HOME
が Tomcat インストールのベースパスを指す環境変数であることを前提としています。
FreeBSD システムでは、ネイティブの BSD make の代わりに GNU make (gmake) を使用する必要があることに注意してください。
cd $CATALINA_HOME/bin
tar xvfz commons-daemon-native.tar.gz
cd commons-daemon-1.1.x-native-src/unix
./configure
make
cp jsvc ../..
cd ../..
Tomcat は、次のコマンドを使用してデーモンとして実行できます。
CATALINA_BASE=$CATALINA_HOME
cd $CATALINA_HOME
./bin/jsvc \
-classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar \
-outfile $CATALINA_BASE/logs/catalina.out \
-errfile $CATALINA_BASE/logs/catalina.err \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.io=ALL-UNNAMED \
--add-opens=java.base/java.util=ALL-UNNAMED \
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED \
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED \
-Dcatalina.home=$CATALINA_HOME \
-Dcatalina.base=$CATALINA_BASE \
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \
org.apache.catalina.startup.Bootstrap
JVM がクライアント VM ではなくサーバー VM を使用するようにデフォルト設定されている場合は、-jvm server
も指定する必要がある場合があります。これは OSX で確認されています。
jsvc には、デーモン初期化が完了した後に別のユーザーに切り替える -user
など、その他の便利なパラメーターもあります。これにより、たとえば、特権ポートを使用できる状態を維持しながら、Tomcat を非特権ユーザーとして実行できます。このオプションを使用して Tomcat を root として起動する場合は、root で実行すると Tomcat の起動を妨げる org.apache.catalina.security.SecurityListener
チェックを無効にする必要があることに注意してください。
jsvc --help
は、jsvc の完全な使用情報を返します。特に、-debug
オプションは、jsvc の実行に関する問題をデバッグするのに役立ちます。
ファイル $CATALINA_HOME/bin/daemon.sh
を、jsvc を使用して /etc/init.d
から起動時に Tomcat を自動的に起動するためのテンプレートとして使用できます。
この方法で Tomcat を実行するには、Commons-Daemon JAR ファイルがランタイムクラスパス上にある必要があることに注意してください。Commons-Daemon JAR ファイルは bootstrap.jar マニフェストの Class-Path エントリにありますが、Commons-Daemon クラスの ClassNotFoundException または NoClassDefFoundError が発生した場合は、jsvc を起動するときに Commons-Daemon JAR を -cp 引数に追加してください。