DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39496>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39496


[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[EMAIL PROTECTED]




------- Additional Comments From [EMAIL PROTECTED]  2006-06-27 09:29 -------
Hi,

I think the underlying problem is this: Tomcat nowadays deploys *any* directory
contained in the Host's appBase as a webapp. This has nothing to do with
localhost or not, which you can validate by using the same test-webapp described
above, but outside the "webapps"-Directory, e. g.

<Host name="www.testdomain.com" debug="0" appBase="/tmp/test"
  unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="" debug="0"/>
    <Context path="/manager" reloadable="true" 
      docBase="/path/to/apache-tomcat-5.5.17/server/webapps/manager"
privileged="true"/>
</Host>

and then look at the webapps on this host. There is "/" and "/subdir", the
latter of which should not be there. This behaviour is the same if you use
localhost instead of testdomain.com, the difference was caused by the fact that
localhost has appBase="webapps", which does not contain a directory "subdir", so
the virtual mappings can pass unhindered by erroneously deployed webapps.


I dug through the sources and found that version 5.5.12 has these lines in
org.apache.catalina.startup.HostConfig.deployDirectories()
    // Make sure there is an application configuration directory
    // This is needed if the Context appBase is the same as the
    // web server document root to make sure only web applications
    // are deployed and not directories for web space.
    File webInf = new File(dir, "/WEB-INF");
    if (!webInf.exists() || !webInf.isDirectory() ||
        !webInf.canRead())
        continue;

I don't know when or why they were removed, but this clearly is the reason for
the new behaviour -- which I consider unwanted and wrong. Please do tell if
there is a rationale for auto-deploying *all* directories, regardless if they
are, in fact, a webapp; I at least can't see a reason to do so.

As a workaround I suggest using an empty directory as the Host's appBase, and
then putting absolute paths as the Context's docBases. This way, there simply
won't *be* any extra subdirectories for Tomcat to deploy.

Wolfgang

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to