Virtual Hosting and JBoss Web
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 JBoss Web 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="webapps/ren"/> <Host name="stimpy" appBase="webapps/stimpy"/> </Engine>
Consult the configuration documentation for other attributes of the Engine and Hostelements.
Webapps Directory
Create directories for each of the virtual hosts:
mkdir $CATALINA_HOME/webapps/ren mkdir $CATALINA_HOME/webapps/stimpy
Configuring Your Contexts
Approach #1
Within your Context, create a
META-INF
directory and then place your Context definition in it in a file namedcontext.xml
. i.e.$CATALINA_HOME/webapps/ren/ROOT/META-INF/context.xml
This makes deployment easier, particularly if you're distributing a WAR file.
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/stimpyNote 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.xmlIf you want to use the JBoss Web 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.