Difference between revisions of "Template:ApacheOXConf"

Line 7: Line 7:
 
  <IfModule mod_proxy_ajp.c>
 
  <IfModule mod_proxy_ajp.c>
 
     ProxyRequests Off
 
     ProxyRequests Off
     <Proxy balancer://localhost>
+
     <Proxy balancer://oxcluster>
 
         Order deny,allow
 
         Order deny,allow
 
         allow from all
 
         allow from all
 +
        # none single server setups need to have the hostname inserted in stead localhost
 
         BalancerMember ajp://localhost:8009 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
 
         BalancerMember ajp://localhost:8009 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
Line 16: Line 17:
 
     </Proxy>
 
     </Proxy>
 
     <Proxy /ajax>
 
     <Proxy /ajax>
         ProxyPass balancer://localhost/ajax
+
         ProxyPass balancer://oxcluster/ajax
 
     </Proxy>
 
     </Proxy>
 
     <Proxy /axis2>
 
     <Proxy /axis2>
         ProxyPass balancer://localhost/axis2
+
         ProxyPass balancer://oxcluster/axis2
 
     </Proxy>
 
     </Proxy>
 
     <Proxy /servlet>
 
     <Proxy /servlet>
         ProxyPass balancer://localhost/servlet
+
         ProxyPass balancer://oxcluster/servlet
 
     </Proxy>
 
     </Proxy>
 
     <Proxy /infostore>
 
     <Proxy /infostore>
         ProxyPass balancer://localhost/infostore
+
         ProxyPass balancer://oxcluster/infostore
 
     </Proxy>
 
     </Proxy>
 
     <Proxy /publications>
 
     <Proxy /publications>
         ProxyPass balancer://localhost/publications
+
         ProxyPass balancer://oxcluster/publications
 
     </Proxy>
 
     </Proxy>
 
     <Proxy /Microsoft-Server-ActiveSync>
 
     <Proxy /Microsoft-Server-ActiveSync>
         ProxyPass balancer://localhost/Microsoft-Server-ActiveSync
+
         ProxyPass balancer://oxcluster/Microsoft-Server-ActiveSync
 
     </Proxy>
 
     </Proxy>
 
     <Proxy /usm-json>
 
     <Proxy /usm-json>
         ProxyPass balancer://localhost/usm-json
+
         ProxyPass balancer://oxcluster/usm-json
 
     </Proxy>
 
     </Proxy>
 
  </IfModule>
 
  </IfModule>

Revision as of 06:44, 4 March 2011

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

$ vim {{{ajpconf}}}
{{{loadmodule}}}
<IfModule mod_proxy_ajp.c>
   ProxyRequests Off
   <Proxy balancer://oxcluster>
       Order deny,allow
       allow from all
       # none single server setups need to have the hostname inserted in stead localhost
       BalancerMember ajp://localhost:8009 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
       # Enable and maybe add additional hosts running OX here
       # BalancerMember ajp://oxhost2:8009 smax=0 ttl=60 retry=60 loadfactor=50 route=OX2
       ProxySet stickysession=JSESSIONID timeout=70 
   </Proxy>
   <Proxy /ajax>
       ProxyPass balancer://oxcluster/ajax
   </Proxy>
   <Proxy /axis2>
       ProxyPass balancer://oxcluster/axis2
   </Proxy>
   <Proxy /servlet>
       ProxyPass balancer://oxcluster/servlet
   </Proxy>
   <Proxy /infostore>
       ProxyPass balancer://oxcluster/infostore
   </Proxy>
   <Proxy /publications>
       ProxyPass balancer://oxcluster/publications
   </Proxy>
   <Proxy /Microsoft-Server-ActiveSync>
       ProxyPass balancer://oxcluster/Microsoft-Server-ActiveSync
   </Proxy>
   <Proxy /usm-json>
       ProxyPass balancer://oxcluster/usm-json
   </Proxy>
</IfModule>

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

For versions of Open-Xchange starting with 6.18:

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

	DocumentRoot {{{docroot}}}

	<Directory {{{docroot}}}>
		AllowOverride None
		Order allow,deny
		allow from all
		RedirectMatch ^/$ /ox6/
               Options +FollowSymLinks +SymLinksIfOwnerMatch
	</Directory>
       # deflate
      AddOutputFilterByType DEFLATE text/html text/plain text/javascript application/javascript text/css text/xml application/xml text/x-js application/x-javascript

	# pre-compressed files
	AddType text/javascript .jsz
	AddType text/css .cssz
	AddType text/xml .xmlz
	
	AddEncoding gzip .jsz .cssz .xmlz
	SetEnvIf Request_URI "\.(jsz|cssz|xmlz)$" no-gzip
	
	ExpiresActive On
	
	<Location /ox6>
	        # Expires (via ExpiresByType to override global settings)
	        ExpiresByType image/gif "access plus 6 months"
	        ExpiresByType image/png "access plus 6 months"
	        ExpiresByType image/jpg "access plus 6 months"
	        ExpiresByType image/jpeg "access plus 6 months"
	        ExpiresByType text/css "access plus 6 months"
	        ExpiresByType text/html "access plus 6 months"
	        ExpiresByType text/xml "access plus 6 months"
	        ExpiresByType text/javascript "access plus 6 months"
	        ExpiresByType text/x-js "access plus 6 months"
	        ExpiresByType application/x-javascript "access plus 6 months"
	        ExpiresDefault "access plus 6 months"
	        Header append Cache-Control "private"
	        Header unset Last-Modified
	        Header unset Vary
	        # Strip version
	        RewriteEngine On
	        RewriteRule v=\w+/(.+) $1 [L]
	        # Turn off ETag
	        Header unset ETag
	        FileETag None
	</Location>
	
	<Location /ox6/ox.html>
	        ExpiresByType text/html "now"
	        ExpiresDefault "now"
	        Header unset Last-Modified
	        Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
	        # Turn off ETag
	        Header unset ETag
	        FileETag None
	</Location>
	
	<Location /ox6/index.html>
	        ExpiresByType text/html "now"
	        ExpiresDefault "now"
	        Header unset Last-Modified
	        Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
	        # Turn off ETag
	        Header unset ETag
	        FileETag None
	</Location>
</VirtualHost>

For versions of Open-Xchange prior to 6.18:

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

	DocumentRoot {{{docroot}}}

	<Directory {{{docroot}}}>
		AllowOverride None
		Order allow,deny
		allow from all
		RedirectMatch ^/$ /ox6/
	</Directory>

	ExpiresActive On
	ExpiresByType image/gif "access plus 23 hours"
	ExpiresByType image/png "access plus 23 hours"
	ExpiresByType image/jpg "access plus 23 hours"
	ExpiresByType image/jpeg "access plus 23 hours"
	ExpiresByType text/javascript "access plus 23 hours"
	ExpiresByType text/css "access plus 23 hours"
	ExpiresByType text/html "access plus 23 hours"
	ExpiresByType application/x-javascript "access plus 23 hours"
	<Files ~ "\.(js|css|gif|jpe?g|png)$">
		Header append Cache-Control "public"
	</Files>

	DeflateFilterNote ratio
	AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/x-js application/x-javascript application/javascript
	BrowserMatch ^Mozilla/4 gzip-only-text/html
	BrowserMatch ^Mozilla/4\.0[678] no-gzip
	BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
	Header append Vary User-Agent env=!dont-vary
</VirtualHost>