Difference between revisions of "AppSuite:Apache Configuration"

(Setup SSL support on MacOS)
(Setup SSL support on MacOS)
Line 48: Line 48:
 
Based on: http://webdevstudios.com/2013/05/24/how-to-set-up-ssl-with-osx-mountain-lions-built-in-apache/
 
Based on: http://webdevstudios.com/2013/05/24/how-to-set-up-ssl-with-osx-mountain-lions-built-in-apache/
  
* Open terminal and go to '''/private/etc/apache2'''
+
* Open terminal and '''cd /private/etc/apache2'''
 
* Become root: '''sudo su'''
 
* Become root: '''sudo su'''
 
* '''mkdir ssl'''
 
* '''mkdir ssl'''
* Open the '''httpd.conf''' file in your text editor
+
* Open ''httpd.conf'' in your text editor, e.g. '''vim httpd.conf'''
 
** Make sure the SSL module is enabled if it’s not. Do this by uncommenting (aka, remove the ‘#’ symbol in front) the line that looks like: ''LoadModule ssl_module libexec/apache2/mod_ssl.so''
 
** Make sure the SSL module is enabled if it’s not. Do this by uncommenting (aka, remove the ‘#’ symbol in front) the line that looks like: ''LoadModule ssl_module libexec/apache2/mod_ssl.so''
 
** In the same file search for and uncomment (remove the #) this line: ''Include /private/etc/apache2/extra/httpd-ssl.conf''
 
** In the same file search for and uncomment (remove the #) this line: ''Include /private/etc/apache2/extra/httpd-ssl.conf''
 
** Save and close.
 
** Save and close.
* Now open the '''httpd-ssl.conf''' file in your text editor
+
* Now open ''httpd-ssl.conf'' file in your text editor, e.g. '''vim httpd-ssl.conf'''
 
** Make sure '''ServerName''' line looks like: ''ServerName localhost''
 
** Make sure '''ServerName''' line looks like: ''ServerName localhost''
 
** Modify '''ServerAdmin''' line to use one of your email addresses
 
** Modify '''ServerAdmin''' line to use one of your email addresses
Line 62: Line 62:
 
** In the same file comment out (add a # to the beginning of the line) the '''SSLCACertificatePath''' and '''SSLCARevocationPath''' lines if they’re not already.
 
** In the same file comment out (add a # to the beginning of the line) the '''SSLCACertificatePath''' and '''SSLCARevocationPath''' lines if they’re not already.
 
** Save and close.
 
** Save and close.
* Now go to folder '''/private/etc/apache2/ssl'''
+
* Now go to new ssl folder: '''cd /private/etc/apache2/ssl'''
 
** '''openssl genrsa -des3 -out server.key 1024'''<br>Pass-phrase can be anything stupid, we'll remove it
 
** '''openssl genrsa -des3 -out server.key 1024'''<br>Pass-phrase can be anything stupid, we'll remove it
 
** '''openssl req -new -key server.key -out server.csr'''
 
** '''openssl req -new -key server.key -out server.csr'''
Line 68: Line 68:
 
** '''openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt'''
 
** '''openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt'''
 
* Restart apache: '''apachectl restart'''
 
* Restart apache: '''apachectl restart'''
 +
  
 
[[Category:AppSuite]]
 
[[Category:AppSuite]]
 
[[Category:UI]]
 
[[Category:UI]]

Revision as of 15:30, 30 August 2013

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!

Setup SSL support on MacOS

Based on: http://webdevstudios.com/2013/05/24/how-to-set-up-ssl-with-osx-mountain-lions-built-in-apache/

  • Open terminal and cd /private/etc/apache2
  • Become root: sudo su
  • mkdir ssl
  • Open httpd.conf in your text editor, e.g. vim httpd.conf
    • Make sure the SSL module is enabled if it’s not. Do this by uncommenting (aka, remove the ‘#’ symbol in front) the line that looks like: LoadModule ssl_module libexec/apache2/mod_ssl.so
    • In the same file search for and uncomment (remove the #) this line: Include /private/etc/apache2/extra/httpd-ssl.conf
    • Save and close.
  • Now open httpd-ssl.conf file in your text editor, e.g. vim httpd-ssl.conf
    • Make sure ServerName line looks like: ServerName localhost
    • Modify ServerAdmin line to use one of your email addresses
    • SSLCertificateFile "/private/etc/apache2/ssl/ssl.crt"
    • SSLCertificateKeyFile "/private/etc/apache2/ssl/ssl.key"
    • In the same file comment out (add a # to the beginning of the line) the SSLCACertificatePath and SSLCARevocationPath lines if they’re not already.
    • Save and close.
  • Now go to new ssl folder: cd /private/etc/apache2/ssl
    • openssl genrsa -des3 -out server.key 1024
      Pass-phrase can be anything stupid, we'll remove it
    • openssl req -new -key server.key -out server.csr
    • cp server.key server.key.org
      openssl rsa -in server.key.org -out server.key
    • openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  • Restart apache: apachectl restart