Template:ApacheAppSuiteConf: Difference between revisions
From Open-Xchange
No edit summary |
No edit summary |
||
| Line 12: | Line 12: | ||
# Allow from 192.168 10 172.16 | # Allow from 192.168 10 172.16 | ||
</Location> | </Location> | ||
# the old path is kept for compatibility reasons | # the old path is kept for compatibility reasons | ||
<Location /servlet/axis2/services> | <Location /servlet/axis2/services> | ||
| Line 22: | Line 22: | ||
# Allow from 192.168 10 172.16 | # Allow from 192.168 10 172.16 | ||
</Location> | </Location> | ||
{{{loadmodule}}} | {{{loadmodule}}} | ||
<IfModule mod_proxy_{{#if:{{{connector|}}}|{{{connector}}}|ajp}}.c> | <IfModule mod_proxy_{{#if:{{{connector|}}}|{{{connector}}}|ajp}}.c> | ||
ProxyRequests Off | ProxyRequests Off | ||
| Line 35: | Line 35: | ||
# Enable and maybe add additional hosts running OX here | # Enable and maybe add additional hosts running OX here | ||
# BalancerMember {{#if:{{{connector|}}}|{{{connector}}}|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|jsessionid scolonpathdelim=On | |||
{{#ifeq: {{{connector}}} | http | | |||
SetEnv proxy-initial-not-pooled | |||
SetEnv proxy-sendchunked | |||
| }} | |||
</Proxy> | </Proxy> | ||
{{#ifeq: {{{connector}}} | http | {{Template:ApacheAppSuiteConf/easHttpProxy|easProxyName={{{easProxyName}}}}} | }} | {{#ifeq: {{{connector}}} | http | {{Template:ApacheAppSuiteConf/easHttpProxy|easProxyName={{{easProxyName}}}}} | }} | ||
| Line 42: | Line 46: | ||
ProxyPass balancer://oxcluster/ajax | ProxyPass balancer://oxcluster/ajax | ||
</Proxy> | </Proxy> | ||
# | # OX frontend | ||
<Proxy /ajax> | <Proxy /ajax> | ||
ProxyPass balancer://oxcluster/ajax | ProxyPass balancer://oxcluster/ajax | ||
| Line 64: | Line 68: | ||
ProxyPass balancer://oxcluster/webservices | ProxyPass balancer://oxcluster/webservices | ||
</Proxy> | </Proxy> | ||
{{#ifeq: {{{connector}}} | http | | |||
<Proxy /realtime> | |||
ProxyPass balancer://oxcluster/realtime | |||
</Proxy> | |||
| }} | |||
# OXtender{{#ifeq: {{{connector}}} | http | /EAS specific proxy container with higher timeout | }} | # OXtender{{#ifeq: {{{connector}}} | http | /EAS specific proxy container with higher timeout | }} | ||
<Proxy /Microsoft-Server-ActiveSync> | <Proxy /Microsoft-Server-ActiveSync> | ||
| Line 77: | Line 86: | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
DocumentRoot {{#if:{{{docroot|}}}|{{{docroot}}}|/var/www}} | DocumentRoot {{#if:{{{docroot|}}}|{{{docroot}}}|/var/www}} | ||
<Directory {{#if:{{{docroot|}}}|{{{docroot}}}|/var/www}}> | <Directory {{#if:{{{docroot|}}}|{{{docroot}}}|/var/www}}> | ||
| Line 86: | Line 95: | ||
RedirectMatch ^/$ /appsuite/ | RedirectMatch ^/$ /appsuite/ | ||
</Directory> | </Directory> | ||
<Directory {{#if:{{{docroot|}}}|{{{docroot}}}/appsuite|/var/www/appsuite}}> | <Directory {{#if:{{{docroot|}}}|{{{docroot}}}/appsuite|/var/www/appsuite}}> | ||
Options None +SymLinksIfOwnerMatch | Options None +SymLinksIfOwnerMatch | ||
AllowOverride Indexes FileInfo | AllowOverride Indexes FileInfo | ||
</Directory> | </Directory> | ||
ErrorLog ${APACHE_LOG_DIR}/error.log | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
# Possible values include: debug, info, notice, warn, error, crit, | # Possible values include: debug, info, notice, warn, error, crit, | ||
# alert, emerg. | # alert, emerg. | ||
LogLevel warn | LogLevel warn | ||
CustomLog ${APACHE_LOG_DIR}/access.log combined | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
</VirtualHost><noinclude> | </VirtualHost><noinclude> | ||
{{Template:ApacheAppSuiteConf/doc}} | {{Template:ApacheAppSuiteConf/doc}} | ||
</noinclude> | </noinclude> | ||
Revision as of 09:48, 22 July 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|jsessionid scolonpathdelim=On
</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