tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mel Martinez <>
Subject Proposed ApacheConfig tweak:Re: Bugzilla #512 is Bunk
Date Thu, 01 Mar 2001 17:36:07 GMT

--- Stephen Jones <> wrote:
> In httpd.conf, you cannot do this:
> <VirtualHost .... blah>
>      .... normal config for VirtualHost ...
>      Include
> /usr/local/jakarta-tomcat/conf/mod_jk.conf-auto
> </VirtualHost>
> There are three main purposes of including
> mod_jk.conf-auto:
> (1) To get the mod_jk Apache Module loaded, as
> follows:
>       LoadModule jk_module libexec/
> The first (1) Apache directive is the problem: the
> LoadModule directive
> is illegal within the VirtualHost context.
> (See
> )

Without trying to change the fact that the LoadModule
call should not be inside a virtual host definition, a
simple patch that should fix this as a side benefit
(the main benefit is improved flexibility in deploying
tomcat and apache) would be to make a simple change to 

Specifically, ApacheConfig currently generates (based
on operating system type and other conditions) a line
similar to:

LoadModule jk_module modules/mod_jk.dll   or

LoadModule jk_module modules/

and so on.  It should not be too difficult to modify to generate the following
declaration format instead:

<IfModule !mod_jk.c>
LoadModule jk_module modules/

This would serve two purposes.  Obviously, if the
module is already loaded, then LoadModule would not be
called. Thus, if you simply make sure to use
LoadModule to load mod_jk prior to the VirtualHost
definition, then I believe that if you include the
mod_jk.conf-auto file it should not cause a problem.
I.E. step (1) would be ignored.

The more important benefit would be to allow the
deployment engineer freedom to put the (or
mod_jk.dll) module elsewhere than inside
${TOMCAT_HOME}/modules/.  Inside httpd.conf, you would
simply specify where you want to load
from prior to including mod_jk.conf-auto.  

Some examples:

#...inside a solaris version of httpd.conf...
LoadModule jk_module /path/modules/solaris/

#...while inside a linux version of httpd.conf:
LoadModule jk_module /path/modules/linux/

and so on.  This would make it easier to deploy the
same apache/tomcat configuration from CVS to multiple
platforms since you don't have to maintain a custom
mod_jk.conf for each platform.

The same fix should be applied to the other LoadModule
calls (such as for jserv).

I will try to put some time into creating this patch
later today.  I don't think I can get it done for a
day or two though.  Too busy with other things.  I do
need this patch for my own purposes, though, so I will
definitely pursue it.

Does anybody see a problem with this proposal?

If I don't hear any nay-saying I'll proceed.  I'll
post it first as a [PATCH] as I'll need folks using
jserv to test it out as well, but this looks pretty
straight forward.



Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.

View raw message