# Apache Tomcat 7

Version 7.0.37, Feb 12 2013

Links

- Docs Home
- FAQ
- User Comments

User Guide

- 1) Introduction
- 2) Setup
- 3) First webapp
- 4) Deployer
- 5) Manager
- 6) Realms and AAA
- 7) Security Manager
- 8) JNDI Resources
- 9) JDBC DataSources
- 10) Classloading
- 11) JSPs
- 12) SSL
- 13) SSI
- 14) CGI
- 15) Proxy Support
- 16) MBean Descriptor
- 17) Default Servlet
- 18) Clustering
- 19) Load Balancer
- 20) Connectors
- 21) Monitoring and Management
- 22) Logging
- 23) APR/Native
- 24) Virtual Hosting
- 25) Advanced IO
- 26) Additional Components
- 27) Mavenized
- 28) Security Considerations
- 29) Windows Service
- 30) Windows Authentication
- 31) Tomcat's JDBC Pool
- 32) WebSocket

Reference

- Release Notes
- Configuration
- Tomcat Javadocs
- Servlet Javadocs
- JSP 2.2 Javadocs
- EL 2.2 Javadocs
- JK 1.2 Documentation

Apache Tomcat Development

- Building
- Changelog
- Status
- Developers
- Architecture
- Functional Specs.
- Tribes

# Virtual Hosting and Tomcat

Table of Contents

> - Assumptions
> - server.xml
> - Webapps Directory
> - Configuring Your Contexts
>   1. General
>   2. context.xml - approach #1
>   3. context.xml - approach #2
>   4. Further Information

Assumptions

> For the sake of this how-to, assume you have a development host with two host names, `ren` and `stimpy`. Let's also assume one instance of Tomcat running, so `$CATALINA_HOME` refers to wherever it's installed, perhaps `/usr/local/tomcat`.

> Also, this how-to uses Unix-style path separators and commands; if you're on Windows modify accordingly.

server.xml

> At the simplest, edit the Engine portion of your `server.xml` file to look like this:

>     <Engine name="Catalina" defaultHost="ren">
>         <Host name="ren"    appBase="renapps"/>
>         <Host name="stimpy" appBase="stimpyapps"/>
>     </Engine>

> Note that the directory structures under the appBase for each host should not overlap each other.

> Consult the configuration documentation for other attributes of the Engine and Host elements.

Webapps Directory

> Create directories for each of the virtual hosts:

>     mkdir $CATALINA_HOME/renapps
>     mkdir $CATALINA_HOME/stimpyapps

Configuring Your Contexts

> General

> > Contexts are normally located underneath the appBase directory. For example, to deploy the `foobar` context as a war file in the `ren` host, use `$CATALINA_HOME/renapps/foobar.war`. Note that the default or ROOT context for `ren` would be deployed as `$CATALINA_HOME/renapps/ROOT.war` (WAR) or `$CATALINA_HOME/renapps/ROOT` (directory).

> > NOTE: The `docBase` for a context should never be the same as the `appBase` for a host.

> context.xml - approach #1

> > Within your Context, create a `META-INF` directory and then place your Context definition in it in a file named `context.xml`. i.e. `$CATALINA_HOME/renapps/ROOT/META-INF/context.xml` This makes deployment easier, particularly if you're distributing a WAR file.

> context.xml - approach #2

> > Create a structure under `$CATALINA_HOME/conf/Catalina` corresponding to your virtual hosts, e.g.:

> >     mkdir $CATALINA_HOME/conf/Catalina/ren
> >     mkdir $CATALINA_HOME/conf/Catalina/stimpy

> > Note that the ending directory name "Catalina" represents the `name` attribute of the Engine element as shown above.

> > Now, for your default webapps, add:

> >     $CATALINA_HOME/conf/Catalina/ren/ROOT.xml
> >     $CATALINA_HOME/conf/Catalina/stimpy/ROOT.xml

> > If you want to use the Tomcat manager webapp for each host, you'll also need to add it here:

> >     cd $CATALINA_HOME/conf/Catalina
> >     cp localhost/manager.xml ren/
> >     cp localhost/manager.xml stimpy/

> Further Information

> > Consult the configuration documentation for other attributes of the Context element.

Comments

> Notice: This is not a Q&A section. The Apache Comments System is explained here. Comments should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic.
> Questions on how to configure or use Apache Tomcat should be directed to our mailing lists. If you need help, ask on the users mailing list.

Copyright © 1999-2013, Apache Software Foundation