ホストマネージャアプリ -- テキストインターフェース

目次

はじめに

Tomcat ホストマネージャーアプリケーションを使用すると、Tomcat内で仮想ホストを作成、削除、および管理できます。このハウツーガイドは、以下のドキュメントと併せて使用することをお勧めします。

Tomcat ホストマネージャーアプリケーションはTomcatインストールの一部であり、デフォルトでは/host-managerというコンテキストで使用できます。ホストマネージャーは次の方法で使用できます。

  • グラフィカルユーザーインターフェースを利用する。{server}:{port}/host-manager/htmlからアクセスできます。
  • スクリプトに適した最小限のHTTPリクエストのセットを利用する。このモードには、{server}:{port}/host-manager/textからアクセスできます。

どちらの方法でも、仮想ホストの追加、削除、起動、停止ができます。変更を永続化するには、persistコマンドを使用します。このドキュメントでは、テキストインターフェースに焦点を当てます。グラフィカルインターフェースの詳細については、ホストマネージャアプリ -- HTMLインターフェースをご覧ください。

マネージャアプリケーションのアクセス設定

以下の説明では、$CATALINA_HOMEはTomcatのベースディレクトリを指すものとします。これは、Tomcatをインストールしたディレクトリであり、たとえば、C:\tomcat9、または/usr/share/tomcat9などです。

ホストマネージャーアプリケーションには、次のいずれかのロールを持つユーザーが必要です。

  • admin-gui - グラフィカルWebインターフェースにはこのロールを使用します。
  • admin-script - スクリプトWebインターフェースにはこのロールを使用します。

ホストマネージャーアプリケーションのテキストインターフェースへのアクセスを有効にするには、Tomcatユーザーに適切なロールを付与するか、正しいロールを持つ新しいユーザーを作成します。たとえば、${CATALINA_BASE}/conf/tomcat-users.xmlを開き、次のように入力します。

<user username="test" password="chang3m3N#w" roles="admin-script"/>

これ以上の設定は必要ありません。これで、{server}:{port}/host-manager/text/${COMMAND}にアクセスすると、作成した認証情報でログインできます。例:

$ curl -u ${USERNAME}:${PASSWORD} https://:8080/host-manager/text/list
OK - Listed hosts
localhost:

別のRealmを使用している場合は、そのRealmの標準ユーザー管理ツールを使用して、必要なロールを適切なユーザーに追加する必要があります。

コマンド一覧

次のコマンドがサポートされています。

  • list
  • add
  • remove
  • start
  • stop
  • persist

以下のサブセクションでは、ユーザー名とパスワードがtest:testであると仮定します。実際の環境では、前のセクションで作成した認証情報を使用してください。

Listコマンド

listコマンドを使用して、Tomcatインスタンスで使用可能な仮想ホストを確認します。

コマンド例:

curl -u test:test https://:8080/host-manager/text/list

レスポンス例:

OK - Listed hosts
localhost:

Addコマンド

addコマンドを使用して、新しい仮想ホストを追加します。addコマンドに使用されるパラメータ

  • String name: 仮想ホストの名前。必須
  • String aliases: 仮想ホストのエイリアス。
  • String appBase: この仮想ホストによって提供されるアプリケーションのベースパス。相対パスまたは絶対パスを指定します。
  • Boolean manager: trueの場合、Managerアプリが仮想ホストに追加されます。/managerコンテキストでアクセスできます。
  • Boolean autoDeploy: trueの場合、TomcatはappBaseディレクトリに配置されたアプリケーションを自動的に再デプロイします。
  • Boolean deployOnStartup: trueの場合、Tomcatは起動時にappBaseディレクトリに配置されたアプリケーションを自動的にデプロイします。
  • Boolean deployXML: trueの場合、/META-INF/context.xmlファイルがTomcatによって読み取られ、使用されます。
  • Boolean copyXML: trueの場合、Tomcatは/META-INF/context.xmlファイルをコピーし、アプリケーションの/META-INF/context.xmlファイルの更新に関係なく、元のコピーを使用します。

コマンド例:

curl -u test:test https://:8080/host-manager/text/add?name=www.awesomeserver.com&aliases=awesomeserver.com&appBase/mnt/appDir&deployOnStartup=true

レスポンス例:

add: Adding host [www.awesomeserver.com]

Removeコマンド

removeコマンドを使用して、仮想ホストを削除します。removeコマンドに使用されるパラメータ

  • String name: 削除する仮想ホストの名前。必須

コマンド例:

curl -u test:test https://:8080/host-manager/text/remove?name=www.awesomeserver.com

レスポンス例:

remove: Removing host [www.awesomeserver.com]

Startコマンド

startコマンドを使用して、仮想ホストを起動します。startコマンドに使用されるパラメータ

  • String name: 起動する仮想ホストの名前。必須

コマンド例:

curl -u test:test https://:8080/host-manager/text/start?name=www.awesomeserver.com

レスポンス例:

OK - Host www.awesomeserver.com started

Stopコマンド

stopコマンドを使用して、仮想ホストを停止します。stopコマンドに使用されるパラメータ

  • String name: 停止する仮想ホストの名前。必須

コマンド例:

curl -u test:test https://:8080/host-manager/text/stop?name=www.awesomeserver.com

レスポンス例:

OK - Host www.awesomeserver.com stopped

Persistコマンド

persistコマンドを使用して、仮想ホストをserver.xmlに永続化します。persistコマンドに使用されるパラメータ

  • String name: 永続化する仮想ホストの名前。必須

この機能はデフォルトで無効になっています。このオプションを有効にするには、最初にStoreConfigLifecycleListenerリスナーを設定する必要があります。これを行うには、次のリスナーをserver.xmlに追加します。

<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

コマンド例:

curl -u test:test https://:8080/host-manager/text/persist?name=www.awesomeserver.com

レスポンス例:

OK - Configuration persisted

手動エントリの例:

<Host appBase="www.awesomeserver.com" name="www.awesomeserver.com" deployXML="false" unpackWARs="false">
</Host>