3 Replies Latest reply: Jan 21, 2014 12:23 PM by viswanathan_gurumurthy RSS

Making eXo Platform available at the root URL using Apache

biscuit Newbie

I have been asked to front an eXo Platform installation (running on Tomcat) with Apache HTTPD in such a way that URLs that are normally available at:

 

     http://myserver:port/portal/private/myportal

 

are made available at:

 

     http://myserver/

 

I have made some progress with lots of ProxyPass and ProxyPassReverse directives mapping /public, /eXoResources, etc to their corresponding ajp:// URLs, before having a final catch--all entry:

 

     ProxyPass  / ajp://localhost:8009/portal/private/myportal/

     ProxyPassReverse / ajp://localhost:8009/portal/private/myportal/

 

But it still gets stuck on various bits of JavaScript and so-on which are generated on the Tomcat side and refer to the Tomcat URL. There are various properties that can be set to control how this JavaScript gets generated:

 

     eXo.env.portal.portalName

     eXo.env.server.context

     eXo.env.server.portalBaseURL

     eXo.env.portal.context

 

However, documentation on eXoPlatform's website is a bit sparse and the only thing I can find is this, which seems to avoid modifying configuration on the Tomcat side, and instead relies on Apache doing massses of in-line modification of Tomcat's responses using mod_substitute, which I really don't like the look of.

 

So I have a few questions:

 

  • Is this approach fundamentally flawed - is it actually possible to achieve what we want or does it introduce ambiguity into the URLs (eg what do we do with the few /public/ URLs we have)?
  • Will the above properties help?
  • Is the use of mod_substitute the only way of achieving this?

 

Thanks in advance for any help!

 

Rich