With the help of several people on this list, I've been able to get my
server configured [mostly] the way I wanted it configured. Here's my
solution, hopefully it will be helpful to others
Goals:
* One instance of Tomcat running behind Apache
* Multiple VirtualHosts, each pointing to its own Tomcat webapp
* The ability to hot-deploy an app without affecting the other apps
* Minimal or no modifications required to server.xml for additional
hosts
* A solution that is maintainable and is not a hack
Solution:
* Apache with mod_jk
* Each domain has a .conf file at /etc/httpd/conf.d/vhosts
* The conf file routes .do and .jsp files to tomcat using mod_jk
JkMount /*.do router
JkMount /*.jsp router
* The VirtualHost declaration has the DocumentRoot set to the path
of the webapp
* Tomcat's server.xml file has a host declaration for each webapp
and a declaration for localhost (though that is not necessary)
<Host name="localhost" appBase="webapps" />
<Host name="foo.mydomain.com" appBase="webapps/foo" />
<Host name="bar.mydomain.com" appBase="webapps/bar" />
<Host name="eggs.mydomain.com" appBase="webapps/eggs" />
* Deploy a war file named ROOT.war to the correct appBase for each
application. This file must be named ROOT.war
* GOTCHA: I tried to also include the manager webapp for each of the
hosts by adding the manager.xml file to
$CATALINA_HOME/conf/Catalina/foo.mydomain.com/ as described here
http://webtuitive.com/samples/virtual-hosting-howto.jsp
but by having a context defined in this location, I was not able
to deploy my applications using Automatic Application Deployment
as defined in the Tomcat docs. I'm not sure why this doesn't work
but by removing the manager.xml file, I am able to hot-deploy my
apps.
This is working well for me, and that in itself makes me happy. The
only things I'd like to improve upon are:
* Not having to modify server.xml directly. According to the Tomcat
docs, you shouldn't modify this file. I'm not sure how to avoid
this.
* Being able to include the manager app for each host that I define.
I
was using ant's tomcat tasks to tie into the manager for deploying
my apps, but now I have to scp the war file into the directory.
This isn't the worst thing that could happen, but it seems like
there is a solution out there for this.
Anyway, thanks to everybody who helped out on this.
Josh Gormley
-----Original Message-----
From: Mikolaj Rydzewski [mailto:[EMAIL PROTECTED]
Sent: Thursday, December 28, 2006 9:34 AM
To: Tomcat Users List
Subject: Re: Virtual Hosts
Gormley, Josh wrote:
> As a side question, is this possible to do without modifying the
> server.xml file every time I want to add a new host? I've read that
> it's bad practice to modify the server.xml file much like it's bad
> practice to modify the httpd.conf file in Apache. In Apache, I have a
> vhost directory with .conf files for each host -- is there a similar
> method to do this with Tomcat?
>
There is a host-manager webapp which comes with Tomcat to allow adding
vhosts on the fly (I haven't used it, however). You will need user with
admin role in tomcat-users.xml to access it.
--
Mikolaj Rydzewski <[EMAIL PROTECTED]>
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]