Difference between revisions of "Template:ApacheOXConf"

Line 2: Line 2:
  
 
  $ vim {{{ajpconf}}}
 
  $ vim {{{ajpconf}}}
+
 
 
  {{{loadmodule}}}
 
  {{{loadmodule}}}
 
   
 
   
Line 19: Line 19:
  
 
Modify the default website settings to display the Open-Xchange GUI
 
Modify the default website settings to display the Open-Xchange GUI
 +
 +
For versions of Open-Xchange '''prior''' to 6.18:
  
 
  $ vim {{{apacheconf}}}
 
  $ vim {{{apacheconf}}}
+
 
 
  <VirtualHost *:80>
 
  <VirtualHost *:80>
 
  ServerAdmin webmaster@localhost
 
  ServerAdmin webmaster@localhost
Line 53: Line 55:
 
  BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
 
  BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
 
  Header append Vary User-Agent env=!dont-vary
 
  Header append Vary User-Agent env=!dont-vary
 +
</VirtualHost>
 +
 +
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 x-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 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>
 +
 +
<Location /ajax>
 +
  SetOutputFilter DEFLATE
 +
</Location>
 
  </VirtualHost>
 
  </VirtualHost>

Revision as of 08:42, 4 August 2010

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

$ vim {{{ajpconf}}}
{{{loadmodule}}}

<Proxy *>
Order deny,allow
allow from all
</Proxy>

ProxyPass /axis2 ajp://127.0.0.1:8009/axis2 smax=0 ttl=60 retry=5
ProxyPass /ajax ajp://127.0.0.1:8009/ajax smax=0 ttl=60 retry=5
ProxyPass /servlet ajp://127.0.0.1:8009/servlet smax=0 ttl=60 retry=5
ProxyPass /infostore ajp://127.0.0.1:8009/infostore smax=0 ttl=60 retry=5
ProxyPass /publications ajp://127.0.0.1:8009/publications smax=0 ttl=60 retry=5
# next line is required for OXtender for Business Mobility only
ProxyPass /Microsoft-Server-ActiveSync ajp://127.0.0.1:8009/Microsoft-Server-ActiveSync smax=0 ttl=60 retry=5

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

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>

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 x-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 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>
	
	<Location /ajax>
	  SetOutputFilter DEFLATE
	</Location>
</VirtualHost>