Update of Open-Xchange Server v6.20 to v6.22 on Debian GNU/Linux 6.0

This article will guide you through the update of an existing Open-Xchange Server 6 installation to the newest major release, v6.22.

Supported update path

Please note that the update to v6.22 is only supported from an installed version 6.20.7 or later. If you have an earlier version of Open-Xchange Server 6 installed, please update to the latest release of v6.20 before attempting an update to v6.22. Also an update to 6.22.0 is needed before upgrading to a further 6.22.x release.

The latest v6.20 release will remain accessible on our servers. If you need to access the repository after the release of v6.22, please use the following lines in your apt repository configuration to access v6.20 packages:

deb http://software.open-xchange.com/OX6/6.20/DebianSqueeze/ /

# if you have a valid maintenance subscription, please uncomment the  
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/6.20/updates/DebianSqueeze/ /


  • An Open-Xchange Server installation v6.20.7 or later. This update guide is valid for a system installed through our Download and Installation Guide for Debian GNU/Linux 6.0 (Squeeze)
  • If you have custom packages done by Open-Xchange, please discuss with your Open-Xchange contact when these packages are available for 6.22. Do not attempt the update earlier
  • If you have built custom packages yourself which install config files in the OX config tree, please check the page v6.22 Packaging Changes
  • If you have custom plugins written by yourself which depend on Open-Xchange Server OSGI bundles, check the pages v6.22 Packaging Changes and v6.22 Necessary Code Changes for changes you might need to do.
  • Custom packages built for 6.20.7 or earlier might not work with 6.22.
  • As for every update we strongly recommend that you make a backup of your system(s) before you proceed.

Update Open-Xchange Repositories

Add the following repositories to your apt configuration to access the v6.22 packages:

deb http://software.open-xchange.com/OX6/6.22/6.22.0/frontend/DebianSqueeze/ /
deb http://software.open-xchange.com/OX6/6.22/6.22.0/backend/DebianSqueeze/ /
deb http://software.open-xchange.com/OX6/6.22/6.22.0/usm/DebianSqueeze/ /

# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the urls so that the most recent
# packages get installed
# deb http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/6.22/6.22.0/updates/frontend/DebianSqueeze/ /
# deb http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/6.22/6.22.0/updates/backend/DebianSqueeze/ /
# deb http://LDBACCOUNT:LDBPASSWORD@software.open-xchange.com/OX6/6.22/6.22.0/updates/usm/DebianSqueeze/ /

Please note that frontend and backend packages are now provided from two different repositories. Depending on your setup and the packages installed on the specific system you're updating it is possible that you only need one of these repositories. All packages providing open-xchange-admin functionality are included in the backend repository.

Updating repositories and update packages

Reload the package index:

$ apt-get update

Download and update all installed packages:

$ apt-get dist-upgrade

Please note: By upgrading Open-Xchange packages on systems with additional locales may occur following interaction dialog:

Configuration file `/var/www/ox6/lang/languages.js.old'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
  What would you like to do about it ?  Your options are:
   Y or I  : install the package maintainer's version
   N or O  : keep your currently-installed version
     D     : show the differences between the versions
     Z     : background this process to examine the situation
 The default action is to keep your current version.
*** languages.js.old (Y/I/N/O/D/Z) [default=N] ?

Please choose in this case the default value N by confirming via ENTER key.

IMPORTANT: Please be extremely careful when executing apt-get autoremove after the upgrade. On some test systems packages were marked for automatic removal even if they were still needed.

To remove a package from the autoremove list, you can use:

$ apt-mark unmarkauto package1 [package2 [package3 [...]]]

Install additional language packages if necessary

Starting with v6.22 the localization files for German, French and British English are no longer part of the core packages. This change was necessary to allow customers to uninstall these languages when they are not needed. If you want to offer German, French and/or British English to your customers as language option, you need to install the corresponding packages after the update.

For German:

$ apt-get install open-xchange-l10n-de-de open-xchange-gui-l10n-de-de

For French:

 $ apt-get install open-xchange-l10n-fr-fr open-xchange-gui-l10n-fr-fr

For British English:

 $ apt-get install open-xchange-gui-l10n-en-gb

Restart Open-Xchange

To restart Open-Xchange Server after the update, run

$ /etc/init.d/open-xchange restart

This script will check on startup if the old processes for open-xchange-groupware and open-xchange-admin are running, and stops them if they are. You might still want to check with

$ ps aux | grep open-xchange

that there is now only one process running Open-Xchange Server.

Leftover configuration files and runtime data

After the update you may see leftover configuration files and runtime data below /opt/open-xchange/etc.

Some of these files belong to packages which have been uninstalled during the update, they are marked with the status rc in the output of dpkg -l. You can remove these packages with the command

$ dpkg --purge <packagename>

Other orphaned files may be runtime data or temporary files which do not belong to any package and therefore couldn't be removed during the package update.

Finally, there may be backup files created by the package manager during earlier updates.

It is safe to remove:

  • All files and subdirectories below:

unless you have built your own packages which install files into these directories.

  • All files ending in .dpkg-bak or .dpkg-remove