Open-Xchange mobile configuration module

Introduction

The Open-Xchange mobile configuration module provides the ability to configure mobile devices for Open-Xchange usage. Currently iPhone, iPad and Windows Mobile are supported.

To configure a device. The device must be navigated to the URL where the mobile configuration servlet is listening (by default /servlet/mobileconfig). In addition to this URL the login of the user which should be configured on the device must be added as GET parameter "l". So a full URL should look like this:

https://myhost.com/servlet/mobileconfig?l=testuer%40myhost.com

Please note that the parameter must be URL encoded, thus @ is written as %40.

This way the string given in the login parameter will be splitted according to the EAS setting (by default $USER@$DOMAIN), so in the example above the username would be testuer and the domain myhost.com. The email address in this scenario is assumed to be the same like the login. If you have a different setup you can provide a different email addresse with the "m" parameter set.

It's also possible to pass only a user name without a context. This is done by omitting the separator character. If no context is found the contextname "defaultcontext" is used internally as in many other parts of the product.

Configuration settings

The bundle can be configured at two points, on the one hand the configuration file mobileconfig.properties in the groupware configuration path, and on the other hand the template files which are used for configuration (by default /opt/open-xchange/templates/).

Most of the setting in the configuration file should be self-explanatory, but two part might be explained in more detail. First the RegEx setting for the mobile device and second the sign part.

The RegEx settings are used for the detection of the device, therefor the user-agent header send by the device must match the RegEx specified in the configuration file. Most of the time there should be no need to change these setting. But if you have special devices which aren't detected correctly you should consider changing these values. If the detection went wrong, a line with the not-detected header is printed to the log file.

The signing part is only needed for iPhone/iPad Configuration it doesn't influence Windows Mobile. With these settings the configuration file will be signed before sending, This way you won't get warnings if you install the profile on the iPhone/iPad, but it requires a key and a certificate with a valid CA known by the iPhone/iPad.

IMPORTANT: To change the URL which is used in the templates, you have to edit /opt/open-xchange/etc/groupware/mobilityconfiguration.properties and edit the URL properly.

Templates

The configuration files send to the mobile devices can be adjusted to your special need through templates. The iPhone configuration is generated from /opt/open-xchange/templates/iPhoneTemplate.tmpl and the Windows Mobile configuration is generated from /opt/open-xchange/templates/winMobileTemplate.tmpl. These templates are process by FreeMarker so you are able to use all function and methods FreeMarker offers. In addition 4 variables are passed to the template files:

  1. host - the full qualified hostname for the current webserver (should be the same as the EAS installation)
  2. domain - the domain (will be a splitted part of the login according to the EAS setting)
  3. username - the username (will be a splitted part of the login according to the EAS setting)
  4. email - the email (either the same as the login, or the same like the mail parameter if given)

Note: The iPhone template can be changed using the Apple Configuration Utility. Using that tool you can e.g. change the homescreen icon which is provisioned. Furthermore a reference documentation can be found here. The same applies to the Windows Mobile template.

Installation on OX AppSuite

Debian GNU/Linux 7.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/OX6/updates/DebianWheezy/ /
# 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 https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/updates/updates/DebianWheezy/ /

and run

$ apt-get update
$ apt-get install open-xchange-mobile-configuration-generator

Debian GNU/Linux 8.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/OX6/updates/DebianJessie/ /
# 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 https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/updates/updates/DebianJessie/ /

and run

$ apt-get update
$ apt-get install open-xchange-mobile-configuration-generator

SUSE Linux Enterprise Server 11

Add the package repository using zypper if not already present:

$ zypper ar https://software.open-xchange.com/OX6/updates/SLES11 ox

If you have a valid maintenance subscription, please run the following command and add the ldb account data to the url so that the most recent packages get installed:

$ zypper ar https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/updates/updates/SLES11 ox-updates

and run

$ zypper ref
$ zypper in open-xchange-mobile-configuration-generator

SUSE Linux Enterprise Server 12

Add the package repository using zypper if not already present:

$ zypper ar https://software.open-xchange.com/OX6/updates/SLE_12 ox

If you have a valid maintenance subscription, please run the following command and add the ldb account data to the url so that the most recent packages get installed:

$ zypper ar https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/updates/updates/SLES11 ox-updates

and run

$ zypper ref
$ zypper in open-xchange-mobile-configuration-generator

RedHat Enterprise Linux 6

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/OX6/updates/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# 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
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/updates/updates/RHEL6/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-mobile-configuration-generator

RedHat Enterprise Linux 7

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/OX6/updates/RHEL7/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# 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
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/updates/updates/RHEL7/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-mobile-configuration-generator

CentOS 6

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/OX6/updates/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# 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
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/updates/updates/RHEL6/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-mobile-configuration-generator

CentOS 7

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/OX6/updates/RHEL7/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# 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
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/updates/updates/RHEL7/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-mobile-configuration-generator

Installation on OX v6.22.x

Debian GNU/Linux 7.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/OX6/6.22/updates/backend/DebianWheezy/ /
# 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 https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/6.22/updates/backend/updates/DebianWheezy/ /

and run

$ apt-get update
$ apt-get install open-xchange-eas-provisioning

Debian GNU/Linux 8.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/OX6/6.22/updates/backend/DebianJessie/ /
# 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 https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/6.22/updates/backend/updates/DebianJessie/ /

and run

$ apt-get update
$ apt-get install open-xchange-eas-provisioning

SUSE Linux Enterprise Server 11

Add the package repository using zypper if not already present:

$ zypper ar https://software.open-xchange.com/OX6/6.22/updates/backend/SLES11 ox

If you have a valid maintenance subscription, please run the following command and add the ldb account data to the url so that the most recent packages get installed:

$ zypper ar https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/6.22/updates/backend/updates/SLES11 ox-updates

and run

$ zypper ref
$ zypper in open-xchange-eas-provisioning

SUSE Linux Enterprise Server 12

Add the package repository using zypper if not already present:

$ zypper ar https://software.open-xchange.com/OX6/6.22/updates/backend/SLE_12 ox

If you have a valid maintenance subscription, please run the following command and add the ldb account data to the url so that the most recent packages get installed:

$ zypper ar https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/6.22/updates/backend/updates/SLES11 ox-updates

and run

$ zypper ref
$ zypper in open-xchange-eas-provisioning

RedHat Enterprise Linux 6

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/OX6/6.22/updates/backend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# 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
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/6.22/updates/backend/updates/RHEL6/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-eas-provisioning

RedHat Enterprise Linux 7

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/OX6/6.22/updates/backend/RHEL7/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# 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
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/6.22/updates/backend/updates/RHEL7/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-eas-provisioning

CentOS 6

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/OX6/6.22/updates/backend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# 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
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/6.22/updates/backend/updates/RHEL6/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-eas-provisioning

CentOS 7

Start a console and create a software repository file if not already present:

$ vim /etc/yum.repos.d/ox.repo

[ox]
name=Open-Xchange
baseurl=https://software.open-xchange.com/OX6/6.22/updates/backend/RHEL7/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m
# 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
# [ox-updates]
# name=Open-Xchange Updates
# baseurl=https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/OX6/6.22/updates/backend/updates/RHEL7/
# gpgkey=https://software.open-xchange.com/oxbuildkey.pub
# enabled=1
# gpgcheck=1
# metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-eas-provisioning