OX6:Open-Xchange 620 622 Update Guide for RHEL5

From Open-Xchange
Revision as of 14:18, 4 October 2012 by Thorben (talk | contribs) (Created page with "= Update of Open-Xchange Server v6.20 to v6.22 on RedHat Enterprise Linux 5 = This article will guide you through the update of an existing Open-Xchange Server 6 installation...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Update of Open-Xchange Server v6.20 to v6.22 on RedHat Enterprise Linux 5

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.

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 /etc/yum.repos.d/ox.repo repository configuration to access v6.20 packages:

[ox-updates]
name=Open-Xchange Updates
baseurl=http://http://software.open-xchange.com/OX6/6.20/RHEL5/
gpgkey=http://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

Requirements

  • An Open-Xchange Server installation v6.20.7 or later. This update guide is valid for a system installed through our Open-Xchange Server 6 on RedHat Enterprise Linux 5
  • 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

Open-Xchange maintains public available software repositories for different platforms, such as RHEL. This repository should be added to the RHEL installation to enable simple installation and updates.

Start a console and create a software repository file for Open-Xchange:


In case there are issues with an username and password containing URL unsafe characters, e.g. an @, they have to be entered URL encoded. Details can be found at http://www.w3schools.com/tags/ref_urlencode.asp

Updating repositories and update packages

Reload the package index. This will download the package descriptions available at the software repositories:

$ yum update

The following command starts the download and installation process of all required package for Open-Xchange deployment:

Using Meta packages

The following Meta packages are available:

Name Description
open-xchange-meta-admin all provisioning packages
open-xchange-meta-gui all gui packages
open-xchange-meta-messaging the complete messaging packages like unified inbox, twitter, facebook, etc.
open-xchange-meta-mobility OXtender for business mobility
open-xchange-meta-outlook Outlook OXtender Updater
open-xchange-meta-pubsub all publish/subscribe related packages
open-xchange-meta-server the server backend packages
open-xchange-meta-databaseonly all packages needed when open-xchange is only managed via database and not e.g. LDAP
open-xchange-meta-singleserver most of the above

If you want to install everything on a single server, just run

$ yum install open-xchange-meta-singleserver \
   open-xchange-authentication-database open-xchange-spamhandler-default 

Note: You have to choose between one of the available spamhandler and authentication packages depending on your requirements. If you plan to only manage your open-xchange installation via database and do not plan to integrate e.g. with LDAP and OXLDAPSync, you might also want to install the package open-xchange-meta-databaseonly.

Of course you can still install the single packages as usual to be able to select a specific set of functionality that you'd like to have, for example:

$ yum install \
open-xchange open-xchange-authentication-database \
open-xchange-admin-client open-xchange-admin-lib \
open-xchange-admin-plugin-hosting open-xchange-admin-plugin-hosting-client \
open-xchange-admin-plugin-hosting-lib open-xchange-configjump-generic \
open-xchange-admin-doc open-xchange-contactcollector \
open-xchange-conversion open-xchange-conversion-engine \
open-xchange-conversion-servlet open-xchange-crypto \
open-xchange-data-conversion-ical4j open-xchange-dataretention \
open-xchange-genconf open-xchange-genconf-mysql \
open-xchange-imap open-xchange-mailfilter \
open-xchange-management open-xchange-monitoring \
open-xchange-passwordchange-database open-xchange-passwordchange-servlet \
open-xchange-pop3 open-xchange-publish open-xchange-publish-basic \
open-xchange-publish-infostore-online open-xchange-publish-json \
open-xchange-publish-microformats open-xchange-push-udp \
open-xchange-resource-managerequest open-xchange-server \
open-xchange-settings-extensions open-xchange-smtp \
open-xchange-spamhandler-default open-xchange-sql open-xchange-subscribe \
open-xchange-xerces-sun open-xchange-subscribe-json \
open-xchange-subscribe-microformats open-xchange-subscribe-crawler \
open-xchange-templating open-xchange-threadpool open-xchange-unifiedinbox \
open-xchange-admin-plugin-hosting-doc open-xchange-charset \
open-xchange-group-managerequest open-xchange-i18n open-xchange-jcharset \
open-xchange-sessiond open-xchange-calendar-printing \
open-xchange-user-json open-xchange-gui-wizard-plugin \
open-xchange-report-client \
open-xchange-configjump-generic-gui \
open-xchange-gui open-xchange-gui-wizard-plugin-gui \
open-xchange-online-help-de \
open-xchange-online-help-en open-xchange-online-help-fr


Open-Xchange configuration

To avoid confusion right at the start notice that Open-Xchange uses multiple administration levels and requires different credentials at some stages at the installation and server management. Note that the passwords chosen at this guide are weak and should be replaced by stronger passwords.

  • The MySQL database user
    • Username: openexchange
    • Password used at this guide: db_password
    • Responsibility: Execute all kinds of database operations
  • The Open-Xchange Admin Master
    • Username: oxadminmaster
    • Password used at this guide: admin_master_password
    • Responsibility: Manage contexts, manage all kinds of low level server configuration
  • The Context Admin
    • Username: oxadmin
    • Password used at this guide: admin_password
    • Responsibility: Manage users/groups/resources inside a context

As stated above we assume the MySQL service has been installed previously, and it is running and available.

A good idea is to add the Open-Xchange binaries to PATH:

$  echo PATH=$PATH:/opt/open-xchange/sbin/ >> ~/.bashrc && . ~/.bashrc

Now we have to initialize the Open-Xchange configdb database. This can all be done by executing the initconfigdb script.

$ /opt/open-xchange/sbin/initconfigdb --configdb-pass=db_password -a --mysql-root-passwd=root_password

Use the --mysql-root-passwd option to supply the MySQL root password as configured during database installation.

Add the -i option if you want to remove an already existing open-xchange configdb.

Note: The -a parameter adds an openexchange account to MySQL. This account will be used for database connections from the OX App Suite middleware and requires some privileges. You can also create that account manually during database installation / configuration, in which case you can (should) skip the -a parameter here.

Before starting any service, all basic configuration files need to be set up correctly. The --configdb-pass option indicates the password of the openexchange database user previously created, the --master-pass options specifies the password of the Open-Xchange adminmaster user that will be created when executing the oxinstaller script.

Important: You should have your Open-Xchange license code at hand. If you do not plan to license Open-Xchange, you can use the option --no-license instead. Please also check OXReportClient documentation for more information about configuring a supported and maintained Open-Xchange server.

Important: For MAX_MEMORY_FOR_JAVAVM a rule of thumb for simple installations is half available system memory. The value must be in MB. For example "1024" for 1GB .

$ /opt/open-xchange/sbin/oxinstaller --add-license=YOUR-OX-LICENSE-CODE \
--servername=oxserver --configdb-pass=db_password \
--master-pass=admin_master_password --ajp-bind-port=localhost --servermemory MAX_MEMORY_FOR_JAVAVM

Note: In a clustered setup, --ajp-bind-port must be set to *

Now is a good time to configure the way OX will authenticate to your mail server. Edit the file /opt/open-xchange/etc/mail.properties and change the com.openexchange.mail.loginSource to use. This is very important for servers that require your full email address to log in with.

# adjust com.openexchange.mail.loginSource
$ vim /opt/open-xchange/etc/mail.properties

After initializing the configuration, start the Open-Xchange Administration service by executing:

$ /etc/init.d/open-xchange-admin start

Next we have to register the local server at the Open-Xchange configdb database:

$ /opt/open-xchange/sbin/registerserver -n oxserver -A oxadminmaster -P admin_master_password

Now we have to create a local directory that should be used as Open-Xchange filestore. This directory will contain all Infostore content and files attached to groupware objects. To maintain access by the Open-Xchange Groupware service, it is required to grant permissions to the open-xchange system user.

$ mkdir /var/opt/filestore
$ chown open-xchange:open-xchange /var/opt/filestore

Now register the directory as a filestore at the Open-Xchange server:

$ /opt/open-xchange/sbin/registerfilestore -A oxadminmaster -P admin_master_password \
-t file:/var/opt/filestore -s 1000000

Note: You might want to adapt the value provided with -s, the "The maximum size of the filestore in MB", see registerfilestore --help.

Note 2: If you are setting up OX App Suite, you need a shared filestore accross your OX servers even though you do not plan to have the OX Files feature enabled for your customers.

Finally register the groupware database, this is a separated database where all groupware specific data is stored:

$ /opt/open-xchange/sbin/registerdatabase -A oxadminmaster -P admin_master_password \
-n oxdatabase -p db_password -m true


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-l10n-en-gb 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:
/opt/open-xchange/admindaemon
/opt/open-xchange/etc/common
/opt/open-xchange/etc/groupware

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

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