AppSuite:Apache Configuration

From Open-Xchange
Revision as of 19:07, 9 April 2013 by Mattes (talk | contribs)

Apache Configuration

If you read this in your browser you should have done this already:

  • Check out the UI from git
  • Figure out Apache's document root. Common places are:
    • MacOS: /Library/WebServer/Documents
    • Linux: /var/www
  • Create a new folder appsuite in Apache's document root
  • You need node.js to build the UI
    For MacOS (use /var/www instead of /Library/WebServer/Documents for debian):
    • Visit https://sites.google.com/site/nodejsmacosx/ and install stable version.
    • Open terminal
    • Set environment variable:
      export buildir="/Library/WebServer/Documents/appsuite"
    • Build UI: ./build.sh
    • Build documentation: ./build.sh docs
    • Note: Instead of exporting the builddir every time your want to build the ui or run the appserver, you can also create a file local.conf and set the directory in there. This way, every time the buildsystem or appserver runs, it automatically picks up the correct directory.
    • local.conf:
      export buildir="/Library/WebServer/Documents/appsuite"
  • Run the app loading server: ./appserver.sh


Don't worry: If it doesn't tell you anything it's happily running.

Now configure Apache:

  • Make sure Apache loads the following modules:
    mod_proxy, mod_proxy_ajp, mod_expires, mod_deflate, mod_rewrite, mod_headers, mod_mime, and mod_setenvif
  • Tell your Apache to process .htaccess files and how to connect to backend:
ProxyPass /appsuite/api/apps/load/ http://localhost:8337/apps/load/
ProxyPass /appsuite/api ajp://127.0.0.1:8009/ajax
  1. optional parameters: retry=0 connectiontimeout=5 timeout=10
<Directory /Library/WebServer/Documents/appsuite>
Options None +FollowSymLinks
AllowOverride Indexes FileInfo
</Directory>
Use the proper document root depending on your OS or custom configuration!
  • If backend does not run on localhost (127.0.0.1), you have to adjust the ProxyPass directive.
  • Restart Apache, e.g. sudo apachectl restart

And please double check everything you're doing!