AppSuite:Parallel UISupport OX6 AppSuite SLES 11
Add OX6 UI to an OX App Suite Installation
This document outlines the steps required to add an OX6 UI to an OX App Suite installation.
Supported OX Versions
Running parallel UIs (OX6 and OX App Suite) is supported beginning with OX6 version 6.22.2 (backend version 7.0.2) and OX App Suite version 7.0.1.
Requirements
- An OX App Suite installation v7.0.2 or later. This update guide is valid for a system installed through our Download and Installation Guide for SUSE Linux Enterprise Server 11.
- If you have custom plugins written by yourself which depends on an specific Open-Xchange Server, Open-Xchange can't guarantee that the plugins will work with the parallel setup.
- As for every modification of the installation we strongly recommend that you make a backup of your system(s) before you proceed.
Add Open-Xchange Repository
We start by adding some OX6 frontend repos to our zypper repos.
$ zypper ar http://software.open-xchange.com/OX6/6.22/frontend/SLES11/ ox-frontend
If you have a valid maintenance subscription, also add the update repo:
$ zypper ar http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/6.22/updates/frontend/SLES11/ ox-updates-frontend
Updating repositories and install packages
Install the OX6 frontend packages.
$ zypper install open-xchange-gui
This will install the OX6 fronted packages. (OX App Suite frontend package names start with open-xchange-appsuite.)
Configure services
Since we are only adding a frontend, there is nothing to change in the configuration of the backend servers, the database, mail, or such. It is only required to adjust the apache web server configuration in the file vi /etc/apache2/vhosts.d/ox.conf.
Basically we need to merge the OX App Suite and OX6 versions of this file. A sample is given in the following.
# /etc/apache2/vhosts.d/ox.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/htdocs/
<Directory /srv/www/htdocs/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
RedirectMatch ^/$ /appsuite/
</Directory>
<Directory /srv/www/htdocs//appsuite>
Options None +SymLinksIfOwnerMatch
AllowOverride Indexes FileInfo
</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
AddType text/plain .po
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>
Restart the web server:
$ service apache2 restart
That's it. It should now be able to access the OX6 frontend using the location /ox6/ in the request.