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

目次

はじめに

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

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

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

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

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

以下の説明では、Tomcatのベースディレクトリを参照するために$CATALINA_HOMEを使用しています。これは、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} http://localhost:8080/host-manager/text/list
OK - Listed hosts
localhost:

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

コマンド一覧

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

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

以降のセクションでは、ユーザー名とパスワードはtest:testと仮定しています。ご自身の環境では、前のセクションで作成した資格情報を使用してください。

listコマンド

Tomcatインスタンスで使用可能な仮想ホストを表示するには、listコマンドを使用します。

コマンド例:

curl -u test:test http://localhost:8080/host-manager/text/list

応答例:

OK - Listed hosts
localhost:

addコマンド

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

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

コマンド例:

curl -u test:test http://localhost: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コマンドで使用されるパラメータ

  • 文字列name: 削除する仮想ホストの名前。**必須**

コマンド例:

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

応答例:

remove: Removing host [www.awesomeserver.com]

startコマンド

仮想ホストを開始するには、startコマンドを使用します。startコマンドで使用されるパラメータ

  • 文字列name: 開始する仮想ホストの名前。**必須**

コマンド例:

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

応答例:

OK - Host www.awesomeserver.com started

stopコマンド

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

  • 文字列name: 停止する仮想ホストの名前。**必須**

コマンド例:

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

応答例:

OK - Host www.awesomeserver.com stopped

persistコマンド

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

  • 文字列name: 永続化する仮想ホストの名前。**必須**

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

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

コマンド例:

curl -u test:test http://localhost: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>