| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!DOCTYPE document [ |
| <!ENTITY project SYSTEM "project.xml"> |
| ]> |
| <document url="host-manager-howto.html"> |
| &project; |
| |
| <properties> |
| <title>Host Manager App -- Text Interface</title> |
| </properties> |
| <body> |
| |
| <section name="Table of Contents"> |
| <toc/> |
| </section> |
| |
| <section name="Introduction"> |
| <p> |
| The <strong>Tomcat Host Manager</strong> application enables you to create, |
| delete, and otherwise manage virtual hosts within Tomcat. This how-to guide |
| is best accompanied by the following pieces of documentation: |
| </p> |
| <ul> |
| <li> |
| <a href="virtual-hosting-howto.html">Virtual Hosting How-To</a> for more |
| information about virtual hosting. |
| </li> |
| <li> |
| <a href="config/host.html">The Host Container</a> for more information |
| about the underlying xml configuration of virtual hosts and description |
| of attributes. |
| </li> |
| </ul> |
| |
| <p> |
| The <strong>Tomcat Host Manager</strong> application is a part of |
| Tomcat installation, by default available using the following |
| context: <code>/host-manager</code>. You can use the host manager in the |
| following ways: |
| </p> |
| |
| <ul> |
| <li> |
| Utilizing the graphical user interface, accessible at: |
| <code>{server}:{port}/host-manager/html</code>. |
| </li> |
| <li> |
| Utilizing a set of minimal HTTP requests suitable for scripting. |
| You can access this mode at: |
| <code>{server}:{port}/host-manager/text</code>. |
| </li> |
| </ul> |
| <p> |
| Both ways enable you to add, remove, start, and stop virtual hosts. Changes |
| are not persisted to the Tomcat configuraiton files. If you want your |
| settings to be persistent, you must write them into the <i>server.xml</i> |
| configuration file manually. For full documentation about the configuration, |
| see <a href="config/host.html">The Host Container</a>. This document focuses |
| on the text interface. For further information about the graphical |
| interface, see |
| <a href="html-host-manager-howto.html">Host Manager App -- HTML Interface</a>. |
| </p> |
| </section> |
| |
| <section name="Configuring Manager Application Access"> |
| <p><em>The description below uses <code>$CATALINA_HOME</code> to refer the |
| base Tomcat directory. It is the directory in which you installed |
| Tomcat, for example <code>C:\tomcat8</code>, or |
| <code>/usr/share/tomcat8</code>.</em></p> |
| |
| <p> |
| The Host Manager application requires a user with one of the following |
| roles: |
| </p> |
| |
| <ul> |
| <li> |
| <code>admin-gui</code> - use this role for the graphical web interface. |
| </li> |
| <li> |
| <code>admin-script</code> - use this role for the scripting web interface. |
| </li> |
| </ul> |
| |
| <p> |
| To enable access to the text interface of the Host Manager application, |
| either grant your Tomcat user the appropriate role, or create a new one with |
| the correct role. For example, open |
| <code>${CATALINA_BASE}/conf/tomcat-users.xml</code> and enter the following: |
| </p> |
| <source><![CDATA[<user username="test" password="chang3m3N#w" roles="admin-script"/>]]></source> |
| <p> |
| No further settings is needed. When you now access |
| <code>{server}:{port}/host-manager/text/${COMMAND}</code>,you are able to |
| log in with the created credentials. For example: |
| <source>$ curl -u ${USERNAME}:${PASSWORD} http://localhost:8080/host-manager/text/list |
| OK - Listed hosts |
| localhost:</source> |
| </p> |
| <p> |
| Note that in case you retreive your users using the |
| <code>DataSourceRealm</code>, <code>JDBCRealm</code>, or |
| <code>JNDIRealm</code> mechanism, add the appropriate role in the database |
| or the directory server respectively. |
| </p> |
| </section> |
| <section name="List of Commands"> |
| <p>The following commands are supported:</p> |
| <ul> |
| <li>list</li> |
| <li>add</li> |
| <li>remove</li> |
| <li>start</li> |
| <li>stop</li> |
| </ul> |
| <p> |
| In the following subsections, the username and password is assumed to be |
| <b>test:test</b>. For your environment, use credentials created in the |
| previous sections. |
| </p> |
| <subsection name="List command"> |
| <p> |
| Use the <b>list</b> command to see the available virtual hosts on your |
| Tomcat instance. |
| </p> |
| <p><i>Example command</i>:</p> |
| <code>curl -u test:test http://localhost:8080/host-manager/text/list</code> |
| <p><i>Example response</i>:</p> |
| <source>OK - Listed hosts |
| localhost:</source> |
| </subsection> |
| <subsection name="Add command"> |
| <p> |
| Use the <b>add</b> command to add a new virtual host. Parameters used |
| for the <b>add</b> command: |
| </p> |
| <ul> |
| <li>String <b>name</b>: Name of the virtual host. <b>REQUIRED</b></li> |
| <li>String <b>aliases</b>: Aliases for your virtual host.</li> |
| <li>String <b>appBase</b>: Base path for the application that will be |
| served by this virtual host. Provide relative or absolute path.</li> |
| <li>Boolean <b>manager</b>: If true, the Manager app is added to the |
| virtual host. You can access it with the <i>/manager</i> context.</li> |
| <li>Boolean <b>autoDeploy</b>: If true, Tomcat automatically redeploys |
| applications placed in the appBase directory.</li> |
| <li>Boolean <b>deployOnStartup</b>: If true, Tomcat automatically deploys |
| applications placed in the appBase directory on startup.</li> |
| <li>Boolean <b>deployXML</b>: If true, the <i>/META-INF/context.xml</i> |
| file is read and used by Tomcat.</li> |
| <li>Boolean <b>copyXML</b>: If true, Tomcat copies <i>/META-INF/context.xml</i> |
| file and uses the original copy regardless of updates to the application's |
| <i>/META-INF/context.xml</i> file. Available only for |
| <b>Tomcat 8 and newer</b>.</li> |
| </ul> |
| <p><i>Example command</i>:</p> |
| <source><![CDATA[curl -u test:test http://localhost:8080/host-manager/text/add?name=www.awesomeserver.com&aliases=awesomeserver.com&appBase/mnt/appDir&deployOnStartup=true]]></source> |
| <p><i>Example response</i>:</p> |
| <source>add: Adding host [www.awesomeserver.com]</source> |
| </subsection> |
| <subsection name="Remove command"> |
| <p> |
| Use the <b>remove</b> command to remove a virtual host. Parameters used |
| for the <b>remove</b> command: |
| </p> |
| <ul> |
| <li>String <b>name</b>: Name of the virtual host to be removed. |
| <b>REQUIRED</b></li> |
| </ul> |
| <p><i>Example command</i>:</p> |
| <source><![CDATA[curl -u test:test http://localhost:8080/host-manager/text/remove?name=www.awesomeserver.com]]></source> |
| <p><i>Example response</i>:</p> |
| <source>remove: Removing host [www.awesomeserver.com]</source> |
| </subsection> |
| <subsection name="Start command"> |
| <p> |
| Use the <b>start</b> command to start a virtual host. Parameters used |
| for the <b>start</b> command: |
| </p> |
| <ul> |
| <li>String <b>name</b>: Name of the virtual host to be started. |
| <b>REQUIRED</b></li> |
| </ul> |
| <p><i>Example command</i>:</p> |
| <source><![CDATA[curl -u test:test http://localhost:8080/host-manager/text/start?name=www.awesomeserver.com]]></source> |
| <p><i>Example response</i>:</p> |
| <source>OK - Host www.awesomeserver.com started</source> |
| </subsection> |
| <subsection name="Stop command"> |
| <p> |
| Use the <b>stop</b> command to stop a virtual host. Parameters used |
| for the <b>stop</b> command: |
| </p> |
| <ul> |
| <li>String <b>name</b>: Name of the virtual host to be stopped. |
| <b>REQUIRED</b></li> |
| </ul> |
| <p><i>Example command</i>:</p> |
| <source><![CDATA[curl -u test:test http://localhost:8080/host-manager/text/stop?name=www.awesomeserver.com]]></source> |
| <p><i>Example response</i>:</p> |
| <source>OK - Host www.awesomeserver.com stopped</source> |
| </subsection> |
| </section> |
| </body> |
| </document> |