AppSuite:Apache Configuration: Difference between revisions

From Open-Xchange
mNo edit summary
No edit summary
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!