AppSuite:Apache Configuration

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

Apache Configuration

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

  1. Check out the UI from git
  2. Figure out Apache's document root. Common places are:
  * MacOS: /Library/WebServer/Documents
  * Linux: /var/www
  1. Create a new folder appsuite in Apache's document root
  2. 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"
  1. Run the app loading server: ./appserver.sh


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

  1. If everything works fine, the documentation should be at http://localhost/appsuite/doc.

Now configure Apache:

  1. 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
  1. 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
   # 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!
  1. If backend does not run on localhost (127.0.0.1), you have to adjust the ProxyPass directive.
  1. Restart Apache, e.g. sudo apachectl restart

And please double check everything you're doing!