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

    Making eXo Platform available at the root URL using Apache

    biscuit

      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