paldie
asked on
Virtual Hosting on JBoss
I am working on migrating my development hosting environment from Tomcat 6 to JBoss 4.2.3. I got my CF server running on it, but I am having trouble figuring out the virtual hosting part of things. The really confusing part is that I have JBoss sitting in /usr/local/jboss, but all my web apps are in /home/david/workspace/cold fusion. If someone could just give me an example of how to create the tomcat host in jboss...
<Host name="muracms" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/home/david/workspace/coldfusion/muracms"/>
</Host>
ASKER
@ramazanyich - That is what I tried in my server.xml on JBoss (in the same path), but it just crashes.
probably you need to remove server/default/jboss-web.d eployer/RO OT.war as it is suggested in http://docs.jboss.org/jbportal/v2.7.1/referenceGuide/html/configuration.html (see pp3.2.1 there).
After that jboss should use your Context definition.
I tried it on my local installation and indeed without removing of ROOT.war my context was not used.
But since I remove ROOT.war my context is used.
After that jboss should use your Context definition.
I tried it on my local installation and indeed without removing of ROOT.war my context was not used.
But since I remove ROOT.war my context is used.
ASKER
It seems that your solution, ramazanyich, only works for JBoss Web, but not on JBoss AS. I tried it and it still didn't seem to work. I am going to have some time to try taking the steps a little further tonight and will see what comes from it.
If you worry about appbase then the simplest way is to move all your apps from webapps folder of tomcat to the server/deploy directory. All war files will be automatically picked up by jboss AS as web applications (web deployer recognizes them by .war extension)
ASKER
The problem is that I don't keep them in the tomcat/webapps folder. I keep them in /home/david/workspaces/col dfusion/ so that I can keep all my work in one place on my drive.
Ok, I see. So in that case you should not bother with <Context> or <Host> element in jboss-web.
the application (by application I mean all type of applications: web, ejbs,etc) scanner is configured in server/default/conf/jboss- service.xm l . If you search for <attribute name="URLs"> element in this file you will see that it is configured to track deploy folder inside server/default. But you can put multiple urls there.
And there is also comment there:
URLs are comma separated and resolve relative to the server home URL
unless the given path is absolute. If the URL ends in "/" it is
considered a collection and scanned, otherwise it is simply deployed;
this follows RFC2518 convention and allows discrimination between
collections and directories that are simply unpacked archives.
URLs may be local (file:) or remote (http:). Scanning is supported
for remote URLs but unpacked deployment units are not.
Example URLs:
deploy/
scans ${jboss.server.url}/deploy /, which is local or remote
depending on the URL used to boot the server
${jboss.server.home}/deplo y/
scans ${jboss.server.home)/deplo y, which is always local
file:/var/opt/myapp.ear
deploy myapp.ear from a local location
file:/var/opt/apps/
scans the specified directory
http://www.test.com/netboot/myapp.ear
deploys myapp.ear from a remote location
http://www.test.com/netboot/apps/
scans the specified WebDAV location
-->
so for your case ityou will need to add
file://home/david/workspac e/coldfusi on/muracms /
and jboss will scan your folder for web apps.
the application (by application I mean all type of applications: web, ejbs,etc) scanner is configured in server/default/conf/jboss-
And there is also comment there:
URLs are comma separated and resolve relative to the server home URL
unless the given path is absolute. If the URL ends in "/" it is
considered a collection and scanned, otherwise it is simply deployed;
this follows RFC2518 convention and allows discrimination between
collections and directories that are simply unpacked archives.
URLs may be local (file:) or remote (http:). Scanning is supported
for remote URLs but unpacked deployment units are not.
Example URLs:
deploy/
scans ${jboss.server.url}/deploy
depending on the URL used to boot the server
${jboss.server.home}/deplo
scans ${jboss.server.home)/deplo
file:/var/opt/myapp.ear
deploy myapp.ear from a local location
file:/var/opt/apps/
scans the specified directory
http://www.test.com/netboot/myapp.ear
deploys myapp.ear from a remote location
http://www.test.com/netboot/apps/
scans the specified WebDAV location
-->
so for your case ityou will need to add
file://home/david/workspac
and jboss will scan your folder for web apps.
ASKER
I did a search for <attribute name="URLs" and found nothing, so I did a search for URL and didn't find anything like what you said, and even just scanning through the document didn't help. I am on JBoss 5.1.0.GA as Railo CF Server doesn't work on more recent versions of JBoss. Are you using a more modern version that may have added that attribute?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
This was only a partial solution
It's configuration similar to tomcat config. I think you can put <Context> element inside <Host name="localhost"... part there.