Difference between revisions of "Template:ApacheAppSuiteConf"

Line 1: Line 1:
Configure the ''mod_proxy_ajp'' module by creating a new Apache configuration file.
+
Configure the ''mod_proxy_{{#if:{{{connector|}}}|{{{connector}}}|ajp}}'' module by creating a new Apache configuration file.
  
  $ vim {{{ajpconf}}}
+
  $ vim {{#if:{{{connectorConf|}}}|{{{connectorConf}}}|{{{ajpconf}}}}}
  
 
  # Please note that the servlet path to the soap API has changed:
 
  # Please note that the servlet path to the soap API has changed:
Line 25: Line 25:
 
  {{{loadmodule}}}
 
  {{{loadmodule}}}
 
   
 
   
  <IfModule mod_proxy_ajp.c>
+
  <IfModule mod_proxy_{{#if:{{{connector|}}}|{{{connector}}}|ajp}}.c>
 
     ProxyRequests Off
 
     ProxyRequests Off
 +
    {{#ifeq: {{{connector}}} | http | {{Template:ApacheAppSuiteConf/httpProxyPreserveHost}} | }}
 
     <Proxy balancer://oxcluster>
 
     <Proxy balancer://oxcluster>
 
         Order deny,allow
 
         Order deny,allow
 
         Allow from all
 
         Allow from all
 
         # multiple server setups need to have the hostname inserted instead localhost
 
         # multiple server setups need to have the hostname inserted instead localhost
         BalancerMember ajp://localhost:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
+
         BalancerMember {{#if:{{{connector|}}}|{{{connector}}}|ajp}}://localhost:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
 
         # Enable and maybe add additional hosts running OX here
 
         # Enable and maybe add additional hosts running OX here
         # BalancerMember ajp://oxhost2:8009 timeout=100  smax=0 ttl=60 retry=60 loadfactor=50 route=OX2
+
         # BalancerMember {{#if:{{{connector|}}}|{{{connector}}}|ajp}}://oxhost2:8009 timeout=100  smax=0 ttl=60 retry=60 loadfactor=50 route=OX2
 
         ProxySet stickysession=JSESSIONID
 
         ProxySet stickysession=JSESSIONID
 
     </Proxy>
 
     </Proxy>
+
    {{#ifeq: {{{connector}}} | http | {{Template:ApacheAppSuiteConf/easHttpProxy|easProxyName={{{easProxyName}}}}} | }}
 
     # OX AppSuite frontend
 
     # OX AppSuite frontend
 
     <Proxy /appsuite/api>
 
     <Proxy /appsuite/api>
Line 42: Line 43:
 
     </Proxy>
 
     </Proxy>
 
   
 
   
     # OX6 frontend
+
     # OX frontend
 
     <Proxy /ajax>
 
     <Proxy /ajax>
 
         ProxyPass balancer://oxcluster/ajax
 
         ProxyPass balancer://oxcluster/ajax
Line 55: Line 56:
 
         ProxyPass balancer://oxcluster/publications
 
         ProxyPass balancer://oxcluster/publications
 
     </Proxy>
 
     </Proxy>
+
     # USM
     # OXtender
 
    <Proxy /Microsoft-Server-ActiveSync>
 
        ProxyPass balancer://oxcluster/Microsoft-Server-ActiveSync
 
    </Proxy>
 
 
     <Proxy /usm-json>
 
     <Proxy /usm-json>
 
         ProxyPass balancer://oxcluster/usm-json
 
         ProxyPass balancer://oxcluster/usm-json
 
     </Proxy>
 
     </Proxy>
 
 
     # SOAP
 
     # SOAP
 
     <Proxy /webservices>
 
     <Proxy /webservices>
 
         ProxyPass balancer://oxcluster/webservices
 
         ProxyPass balancer://oxcluster/webservices
 
   </Proxy>
 
   </Proxy>
 +
    # OXtender{{#ifeq: {{{connector}}} | http | /EAS specific proxy container with higher timeout | }}
 +
    <Proxy /Microsoft-Server-ActiveSync>
 +
        ProxyPass balancer://{{#if:{{{easProxyName|}}}|{{{easProxyName}}}|oxcluster}}/Microsoft-Server-ActiveSync
 +
    </Proxy>
 
  </IfModule>
 
  </IfModule>
  

Revision as of 16:42, 17 January 2013

Configure the mod_proxy_ajp module by creating a new Apache configuration file.

$ vim {{{ajpconf}}}
# Please note that the servlet path to the soap API has changed:
<Location /webservices>
    # restrict access to the soap provisioning API
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    # you might add more ip addresses / networks here
    # Allow from 192.168 10 172.16
</Location>

# the old path is kept for compatibility reasons
<Location /servlet/axis2/services>
    # restrict access to the soap provisioning API
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    # you might add more ip addresses / networks here
    # Allow from 192.168 10 172.16
</Location>

{{{loadmodule}}}

<IfModule mod_proxy_ajp.c>
   ProxyRequests Off
   
   <Proxy balancer://oxcluster>
       Order deny,allow
       Allow from all
       # multiple server setups need to have the hostname inserted instead localhost
       BalancerMember ajp://localhost:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
       # Enable and maybe add additional hosts running OX here
       # BalancerMember ajp://oxhost2:8009 timeout=100  smax=0 ttl=60 retry=60 loadfactor=50 route=OX2
       ProxySet stickysession=JSESSIONID
   </Proxy>
   
   # OX AppSuite frontend
   <Proxy /appsuite/api>
       ProxyPass balancer://oxcluster/ajax
   </Proxy>

   # OX frontend
   <Proxy /ajax>
       ProxyPass balancer://oxcluster/ajax
   </Proxy>
   <Proxy /servlet>
       ProxyPass balancer://oxcluster/servlet
   </Proxy>
   <Proxy /infostore>
       ProxyPass balancer://oxcluster/infostore
   </Proxy>
   <Proxy /publications>
       ProxyPass balancer://oxcluster/publications
   </Proxy>
   # USM
   <Proxy /usm-json>
       ProxyPass balancer://oxcluster/usm-json
   </Proxy>
   # SOAP
   <Proxy /webservices>
       ProxyPass balancer://oxcluster/webservices
  </Proxy>
   # OXtender
   <Proxy /Microsoft-Server-ActiveSync>
       ProxyPass balancer://oxcluster/Microsoft-Server-ActiveSync
   </Proxy>
</IfModule>


Modify the default website settings to display the Open-Xchange GUI

$ vim {{{apacheconf}}}
<VirtualHost *:80>
       ServerAdmin webmaster@localhost

       DocumentRoot /var/www
       <Directory /var/www>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
               RedirectMatch ^/$ /appsuite/
       </Directory>
 
       <Directory /var/www/appsuite>
               Options None +SymLinksIfOwnerMatch
               AllowOverride Indexes FileInfo
       </Directory>

       ErrorLog ${APACHE_LOG_DIR}/error.log

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn

       CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Usage

Parameters used by this template

connector
ajp or http, fallback to ajp if empty
connectorConf
path to the configuration file of the chosen connector, fallback to ajpConf (deprecated)
loadmodule
Loadmodule directive needed for apache on RedHat based distros e.g.: LoadModule proxy_http_module modules/mod_proxy_http.so
apacheconf
path to the config file of the default apache vhost(http)
docroot
path to the apache docroot, fallback to /var/www
easProxyName
the proxyName to use for the eas specific proxy container, only when using http for the connector parameter

See also

Template:ApacheAppSuiteConf/testcases