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