cancel
Showing results for 
Search instead for 
Did you mean: 

Warning message in virtualization startup

sturner
Champ in-the-making
Champ in-the-making
Using Alf 2.0 on Win XP.

When I start the virtualization server, the following message appears three or four times on the log:

  Mar 15, 2007 3:13:01 PM org.alfresco.catalina.host.AVMHostConfig deployAllAVMwebappsInRepository
  WARNING: AVMHostConfig disallows webapps named: WEB-INF

Of course I don't have any webapps called WEB-INF.

Why is the message appearing and should I be worried?

Thanks,
Steve
3 REPLIES 3

jcox
Champ in-the-making
Champ in-the-making
The only way you'd see a message like that
is if you *do* have a webapp by that name.

One way in which that could happen is if you
somehow packaged or expanded your war file
one directory level too high.

For example, witin any given virtual repository
what you should see is:

   /www/avm_webapps/your-webapp/…

By default, your-webapp is ROOT so you should have:

  /www/avm_webapps/ROOT/…

Note that WEB-INF should be a child of your webapp's folder (e.g.: ROOT),
not a child of the "avm_webapps" dir itself.

sturner
Champ in-the-making
Champ in-the-making
The only way you'd see a message like that
is if you *do* have a webapp by that name.

What appears to have happened is that one of my web projects has a top-level folder called WEB-INF that sits alongside ROOT. I think this is a result of my seeing a 'Create Webapp Folder' menu item at the top level of the web app. I wondered what that did and tried it.

It wasn't clear what that action is for - what is a top-level web folder other than ROOT for?

Also - how do I delete this WEB-INF folder? I don't see a control for that.

Thanks,
Steve

jcox
Champ in-the-making
Champ in-the-making
Each web project must have a webapp named ROOT.
After that, your web project can have other non-ROOT webapps.

The ROOT webapp is associated with the virtual host relative path:  "/"
Suppose you only have ROOT webapp, and you issue the request:

   http://mysite.www--sandbox.

The virtualization server knows you're talking about the AVM path

        <store-name>:/www/avm_webapps/ROOT/foo/bar.html

However, suppose you had a webapp named  "foo".   Now the same
request would be mapped to the AVM path:

        <store-name>:/www/avm_webapps/foo/bar.html

In other words, having a webapp named 'foo' makes  /foo/bar.html
refer to the   /bar.html  file within foo   (as opposed to the /foo/bar.html
within ROOT).

The fact that the 1st segment of the requst path in the URL
either maps to a webapp name or a path within a webapp
(depending on whether or not you have a webapp by that name)
is something that I personally dislike, but that's the spec
(grumble grumble!).

To compound matters,  serlvet containers get very unhappy in
certain circumstances if you do not have a ROOT webapp. 

Therefore, here's what's done by the Alfresco GUI:

  o   When you import your first webapp into a web project,
       the GUI forces you to make it the ROOT webapp.   Thus,
       you've satisfied the most basic requirment of a well-configured
       virtual host.

  o   If you want to import *additional*  webapps into a web project,
       you are free to do so, and may name them whatever you'd like
       (typically,  if your war file is named xyz.war, your webapp
       should be named  xyz).

Unless you are doing something funky/snazzy/weird,  you should
not be moving files into the  avm_webapps dir directly.  Instead,
just import your war normally via the web project's wizard.

    Cheers,
    -Jon