AppSuite:Parallel UISupport OX6 AppSuite Debian 6.0
TODO:
- verify the version numbers: 6.22.2 for OX6 and 7.0.2 of OX App Suite
- Add some disclaimer that plugins require dedicated versions for OX6 and App Suite in the requirements section?
- verify repo location http://software.open-xchange.com/OX6/6.22/frontend/DebianSqueeze/
- I was unable to get one single unanimous answer on how to correctly write the product name of the product with the code name OX7. I used OX App Suite in this document. Please search/replace if this is not correct.
Add OX6 UI to an OX App Suite Installation
This short 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.2.
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 Debian GNU/Linux 6.0 (Squeeze)
- 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 sources.list.
# adjust your existing repository list with the new locations deb http://software.open-xchange.com/OX6/6.22/frontend/DebianSqueeze/ /
Updating repositories and install packages
It should not be necessary to import the Open-Xchange build key since you probably have done so during the OX App Suite installation. Otherwise please follow this quick guide: Importing OX Buildkey
It is highly recommended to import the Open-Xchange build key to your package systems trusted keyring in order to make sure only Open-Xchange packages with valid signing are installed on the system. Otherwise you'll encounter warnings about untrusted package sources.
Reload the package index. This will download the package descriptions available at the software repositories and will enable the Open-Xchange repository as a valid source for signed packages:
$ apt-get update
Install the OX6 frontend packages.
$ apt-get 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 /etc/apache2/sites-available/default
.
Basically we need to merge the OX App Suite and OX6 versions of this file. A sample is given in the following.
# /etc/apache2/sites-available/default <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 # 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>
That's it. It should now be able to access the OX6 frontend using the location /ox6/
in the request.