AppSuite:Apache Configuration

Revision as of 14:24, 25 April 2013 by Tierlieb (talk | contribs) (stability index)

API status: In Development

Apache Configuration

To setup your development environment please follow these steps.

Setup build system

  1. Check out the UI from git
  2. Figure out Apache's document root. Common places are:
    MacOS: /Library/WebServer/Documents
    Linux: /var/www
  3. Create a new folder appsuite in Apache's document root
  4. You need node.js to build the UI. For MacOS (use /var/www instead of /Library/WebServer/Documents for debian).

Installing node.js

  1. Visit https://sites.google.com/site/nodejsmacosx/ and install stable version.
  2. Open terminal
  3. Set environment variable:
    export buildir="/Library/WebServer/Documents/appsuite"
  4. Build UI: ./build.sh
  5. 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"

AppServer

Run the app loading server: ./appserver.sh Don't worry: If it doesn't tell you anything it's happily running.

Apache config

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 # 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!