Difference between revisions of "AppSuite:Apache Configuration"

m
Line 3: Line 3:
 
If you read this in your browser you should have done this already:
 
If you read this in your browser you should have done this already:
  
# Check out the UI from git
+
* Check out the UI from git
# Figure out Apache's document root. Common places are:
+
* Figure out Apache's document root. Common places are:
  * MacOS: /Library/WebServer/Documents
+
** MacOS: /Library/WebServer/Documents
  * Linux: /var/www
+
** Linux: /var/www
# Create a new folder appsuite in Apache's document root
+
* Create a new folder appsuite in Apache's document root
# You need node.js to build the UI<br>For MacOS (use /var/www instead of /Library/WebServer/Documents for debian):
+
* You need node.js to build the UI<br>For MacOS (use /var/www instead of /Library/WebServer/Documents for debian):
  * Visit https://sites.google.com/site/nodejsmacosx/ and install stable version.
+
** Visit https://sites.google.com/site/nodejsmacosx/ and install stable version.
  * Open terminal
+
** Open terminal
  * Set environment variable:<br>export buildir="/Library/WebServer/Documents/appsuite"
+
** Set environment variable:<br>export buildir="/Library/WebServer/Documents/appsuite"
  * Build UI: ./build.sh
+
** Build UI: ./build.sh
  * Build documentation: ./build.sh docs
+
** 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.
+
** 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:<br>export buildir="/Library/WebServer/Documents/appsuite"
+
** local.conf:<br>export buildir="/Library/WebServer/Documents/appsuite"
# Run the app loading server: ./appserver.sh
+
* Run the app loading server: ./appserver.sh
 
<br>Don't worry: If it doesn't tell you anything it's happily running.
 
<br>Don't worry: If it doesn't tell you anything it's happily running.
# If everything works fine, the documentation should be at http://localhost/appsuite/doc.
+
* If everything works fine, the documentation should be at http://localhost/appsuite/doc.
  
 
Now configure Apache:
 
Now configure Apache:
  
# Make sure Apache loads the following modules:<br>mod_proxy, mod_proxy_ajp, mod_expires, mod_deflate, mod_rewrite, mod_headers, mod_mime, and mod_setenvif
+
* Make sure Apache loads the following modules:<br>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:
# 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
    ProxyPass /appsuite/api/apps/load/ http://localhost:8337/apps/load/
+
::# optional parameters: retry=0 connectiontimeout=5 timeout=10
    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
    <Directory /Library/WebServer/Documents/appsuite>
+
:::AllowOverride Indexes FileInfo
      Options None +FollowSymLinks
+
::</Directory>
      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.
    Use the proper document root depending on your OS or custom configuration!
+
* Restart Apache, e.g. sudo apachectl restart
 
 
# 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!
 
And please double check everything you're doing!

Revision as of 19:07, 9 April 2013

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!