|Table of Contents|
This document is intended as a base to migrate a Linux server running ZCP to the latest Kopano Core version. It does not contain any specific commands as they could vary in different distributions.
Also keep in mind that some steps in this guide can take time depending on the size and complexity of your environment.
Kopano Core is a fork of ZCP 7.2.3. Migrating from ZCP to Kopano Core means that some features and components are replaced and some are dropped
If you are migrating from ZCP 7.1 to KC 8.x, please take the following into account before upgrading:
- Backups are not compatible. We recommend our users to make a MySQL backup before starting the migration procedure.
- Kopano introduces a new search component with a new index format. Indexes have to be rebuilt, which can take a considerable amount of time.
- Kopano Core is MAPI based. WebApp, Z-Push and other MAPI based clients (such as Zarafa MAPI client) can be used.
- Note: not all versions of the Zarafa MAPI Outlook client is compatible with Kopano Core. Make sure all clients are upgraded to the latest version before migrating your Zarafa server to Kopano
- Optional, but highly recommended steps:
- Run the daemon as an unprivileged user. Please note this means that the attachements directory needs to be 'chowned'. This can take quite some time.
- The socket location has changed to implement support for systemd (also required to run daemons as unpriviledged users.
- Also note: you can use the ZCP LDAP scheme with its attributes. Keep in mind that you might need to migrate the schema if new features require schema changes in the future.
The ZCP packages will need to be purged in order to install Kopano Core. Make sure you have a working backup of /etc/zarafa before you start. Also note: the github version of python-zarafa is not compatible with python-kopano so remove any previous version of it (usually located in for example /usr/local/lib/python2.7/dist-packages/zarafa)
We recommend that you use our repositories to install/migrate Kopano Core. They are available at https://download.kopano.io/supported/. Use the following examples to configure repositories for your operating system:
Example repository configuration
Please be aware that special characters in you username or password like ! can cause some issues
To add the Kopano Core repository for Debian 8, use:
deb https://<username>serial:<password>@download<KOPANOSERIAL>@download.kopano.io/supported/core:/final/Debian_8.0/ ./
Add the repository keyFor Debian-based distributions, we recommend to import the key as well:
curl https://<username>serial:<password>@download<KOPANOSERIAL>@download.kopano.io/supported/core:/final/Debian_8.0/Release.key | apt-key add -
And for Redhat Enterprise Linux 7s
[Kopano-Core] name=Builds of final releases (RHEL_7) type=rpm-md baseurl=https://<username>serial:<password>@download<KOPANOSERIAL>@download.kopano.io/supported/core:/final/RHEL_7/ gpgcheck=0 gpgkey= enabled=1
SUSE Linux Enterprise Server 12
[Kopano] enabled=1 autorefresh=0 baseurl=https://<username>serial:<password>@download<KOPANOSERIAL>@download.kopano.io/supported/core:/final/SLE_12/ type=rpm-md
Installing the packages
You can manually pick the packages you want to install, or install the meta package 'kopano-server-packages'. The meta package will install:
Config file changes
SSL configuration options
In the configuration files server.cfg, ical.cfg and gateway.cfg “ssl_enable_v2” parameter has become obsolete and has to be removed.
The following parameters have to be added to these three files:
server_ssl_protocols = !SSLv2
server_ssl_ciphers = ALL:!LOW:!SSLv2:!EXP:!aNULL
server_ssl_prefer_server_ciphers = no
Most daemons are now started using an unprivileged user by default. If you want to change this (not recommended), edit the configuration files and modify the 'run_as_user' and 'run_as_group' parameters:
‘run_as_user = kopano’
‘run_as_group = kopano’
Check if the user has write access to:
Default socket locations have changed to /var/run/kopano/. All services must use the same socket location, which can be configured in the respective configuration files. For example:
server_socket = /var/run/kopano/server.sock
pid_file = /var/run/kopano/server.pid
Make sure all configuration daemons are configured to use the same user/group combination as well as the same sockets location!
It is highly recommended that you change the new config file instead of copying the Zarafa files
The default location for attachment storage in Kopano is /var/lib/kopano/attachments/. Move any existing attachments to this directory, or alternatively change the option 'attachment_path' in the server.cfg to the location where you previously stored the Zarafa attachments.
If you are running the deamons as an unprivileged user, make sure that the attachments are accessible (read/write) by this user.
The Kopano database is compatible with the Zarafa database, there are no changes neccesary. Make sure the correct database name is configured.
The new default location of the index files is /var/lib/kopano/search/. Make sure there is plenty of disk space available on this filesystem.
- Note that if you migrate from a ZCP 7.1.x installations, the kopano-search index format is not compatible with the zarafa-search
- If you migrate from ZCP 7.2.x, you can either change the option 'index_path' in the search.cfg or you move the index files to /var/lib/kopano/search
In both cases, make sure the kopano user is able to access the files (read/write)
Kopano Core is capable to use the zarafa schema, however it is highly recommended that you import and use the kopano-schema.
If you must use the old (Zarafa) schema, then make sure you change '!propmap /etc/zarafakopano/ldap.propmap.cfg' to '!propmap /etc/kopanozarafa/ldap.propmap.cfg' in the ldap.cfg configuration file.
Make sure you change the socket location in the LDAP or Active Directory if you are using a multi server setup
If you migrate from a ZCP 7.2.1 or lower kopano-backup is not compatible with the old backup files. You will need to recreate backups with the new kopano-backup.
All the caching values can be copied from the Zarafa server.cfg configuration file.