ホストマネージャアプリケーション -- テキストインターフェース
目次
はじめに
**Tomcatホストマネージャ**アプリケーションを使用すると、Tomcat内で仮想ホストを作成、削除、および管理できます。このハウツーガイドは、次のドキュメントと併せて使用することをお勧めします。
- バーチャルホスティングハウツー バーチャルホスティングの詳細については。
- ホストコンテナ 仮想ホストの基礎となるXML設定と属性の説明については。
**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>