Zarafa on SME 9

From SME Server
Jump to: navigation, search

PythonIcon.png Skill level: Advanced
The instructions on this page may require deviations from standard procedures. A good understanding of linux and Koozali SME Server is recommended.

Important.png Note:
This wiki page is specific to SME9 only.

There is a separate wiki page on how to install Zarafa 7.x on SME7 Zarafa on SME 7.

There is a separate wiki page on how to manually install Zarafa 7.x on SME8 Zarafa on SME 8.

Important.png Note:
This is a tested contrib and currently works on SME9beta2. It should be ready for production servers when SME9 reaches RC stage.

This contrib will NOT work on SME 7 or SME8, there are unresolved dependencies.

Warning.png Warning:
This contrib does not use the standard mail locations of SME. The mail delivery is changed to a new service that uses MySQL to store mail messages and /home/e-smith/files/zarafa/ to store attachments. By default, MySQL and /home/e-smith/files/zarafa/ are included in the standard SME backup schema. Make sure you include these if you have a custom backup schema


Paul Floor


Contrib 9:
The latest version of smeserver-zarafa-unix is available in the SME repository, click on the version number(s) for more information.


Zarafa is a workgroup sharing solution based on the look-and-feel of Microsoft Outlook, which enables the sharing of mail and appointments from Outlook and a web-based interface.

There is an additional interface called zarafa-webapp with additional features


Latest zarafa tested version

Information on latest and previous versions of zarafa rpms can be found in the changelog document

Zarafa rpms installation

Select the appropriate rhel-6 arch for your application.

Note: The free version contains the free 3 Outlook license version. if you are planning on using or testing this with any outlook clients, you will want to download the free version.

tar -zxvf zcp*.tar.gz
cd into zcp directory
rm -f *dev*.rpm          <<This is to remove the dev rpms, they are not required.
yum localinstall *.rpm

This will also install several dependencies.


Important.png Note:
This contrib uses the unix plugin and automatically and properly enables all valid users as Zarafa users and all valid groups as Zarafa groups. Everything is initially done automatically for you by the post-install event so you do not need to do anything further. In addition, when you add or delete a user or group from the server manager, the user or group is automatically added or deleted in Zarafa. Also, any password change will automatically change the zarafa login password to match.

By default, Zarafa is enabled for all users except admin. You can change this to 'per user' via db entries.

If Zarafa was used with the db-plugin before, the InnoDB engine has to be enabled. To enable the InnoDB engine, run the following commands:

db configuration setprop mysqld InnoDB enabled
expand-template /etc/my.cnf
sv t /service/mysqld

Users accounts have to match the existing zarafa-users.

Now install smeserver-zarafa-unix by performing the following:

yum install smeserver-zarafa-unix --enablerepo=smecontribs

NOTE: If you installed the GPL version of Zarafa, you must disable zarafa-licensed...
config setprop zarafa-licensed status disabled 

After rpm install execute the following:

signal-event zarafa-post-install
signal-event post-upgrade; signal-event reboot

The default MySQL database created is named 'zarafa' and the default user is named 'zarafa'

The MySQL password is a strong random string and automatically set. See:

config show zarafa-server

To reset the existing database password you can use:

Controlling Zarafa Services

To control the zarafa services (start/stop etc.) the following command can be used:

signal-event zarafa-services [option]

Where the [option] can be on of the following:


The update option will rebuild the zarafa config files based on the current db settings.

To disable global Zarafa for all users
config setprop zarafa-server GlobalForward disabled
signal-event user-modify
To enable an individual user if Global is disabled
db accounts setprop $USERNAME Zarafa enabled
signal-event user-modify $USERNAME
To enable the admin account
db accounts setprop admin Zarafa enabled
signal-event user-modify-admin


Access with a browser,

https://server/webmail (with Horde disabled '/server-manager > Email > Webmail Access')
https://server/zarafa-webapp (This is the new Zarafa Webapp with additional features)


To use MS Outlook install the zarafaclient-*.msi add-on contained in the win32 directory of zarafa-*.tar.gz

Known working hardware

Tested and working with Android 4.1.1 on a Samsung Galaxy 3S over a SSL connection / mail-push is working.

Additional Refrences

The following is from the original Zarafa page and is provided for reference only. Items below are UNTESTED...


The default ports for Zarafa are 8000 + default values so imap = 8143, imaps 8993

SME and Zarafa use different folder naming.

drafts > Drafts          [client specific ?, Drafts is default Thunderbird-2.0]
sent-mail > Sent Items
trash > Deleted Items
junkmail > Junk E-mail


The Thunderbird client uses its own Trash folder, not the Zarafa "Deleted Items" folder,

Change in the config editor

Preferences > advance > config editor, find mail.server.number and add new string as below

user_pref("mail.server.server5.port", "8143");
user_pref("", "");
user_pref("mail.server.server5.numHdrsToKeep", 30);
user_pref("mail.server.server5.timeout", 29);

right click > new
preference name > mail.server.server5.trash_folder_name
value > Deleted Items

+user_pref("mail.server.server5.trash_folder_name", "Deleted Items");

Drafts and Sent Items can be changed in : Account Settings > user > Copies and Folders

If junkmail exists just delete it.

Calendar CalDAV / iCal

Starting from Zarafa 6.30 there is decent CalDAV/iCal support for calendars (tasks not yet) that can be accessed with an CalDAV or iCal client eg, Thunderbird with Lighting, Sunbird, Evolution, MAC ical, ...

Important.png Note:
Currently there is a bug in smeserver-zarafa package (bug #5410) that might prevent you from accessing the calendar. If so, replicate the steps described in the bug report to correct this and issue the following command from the commandline and you should be good to go: /etc/init.d/zarafa-ical restart

  • In Thunderbird/Lightning: New Calendar > on network > CalDAV > Location: see table below
  • In Evolution: New Calendar > Type: CalDAV > URL: see table below (remove the 'Use SSL' option)
  • In Mac iCal client: iCal > Preferences > click '+' > Account URL: see table below
URL Calendar
http://server:8089/ical/ user's own default calendar via ical (not recommended)
http://server:8089/caldav/ user's own default calendar
http://server:8089/caldav/<other-user> 0ther-user's calendar
http://server:8089/caldav/<user>/<calendar> user's self created calendar in user's (own) store
http://server:8089/caldav/<user>/<calendar>/<subcal> user's self created subcalendar in a self created calendar
http://server:8089/caldav/public/<calendar>/ calendar folder in the public folder
URL For MAC OSX ical client
http://server:8089/caldav/ User's calendar list
http://server:8089/caldav/<other-user> Other-users calendar list
http://server:8089/caldav/public Public folders list
URL Tasks
http://server:8089/caldav/<user>/tasks user's default tasks list. ONLY WITH Zarafa 6.40.2 or newer !!

Port 8089 is used for secure SSL connections, port 8088 for unsecured connections.

Mobile synchronisation

To enable synchronization of your mobile phone through ActiveSync with Zarafa, Z-push needs to be installed.

z-push now has RPM's built for RHEL6 making the install simple...

For i386 go here

For X86_64 go here

You will need 2 packages, z-push and z-push-zarafa. Download the latest packages, as of this writing, 2.0.7-1 works without any issue.

yum localinstall z-push*
Know working hardware

Tested and working with Android 4.1 on a Samsung Galaxy 3S over a SSL connection / mail-push is working.

Tested and working with WinMobile 6.1 on a HTC TyTN II over a SSL connection / mail-push is working.

Tested and working with WinMobile 6.1 on an upgraded QTEK9100 over SSL connection. Push mail not tested.

Tested and working with WinMobile 2003 on an QTEK9090 over SSL connection. Push mail not tested.

Tested and working with IPHONE. Push mail not tested.

Tested and working with Nokia 6120 Classic. Push mail not tested.

Additional Mobile Synchronization Information

SSL Synchronization with Windows Mobile devices

Synchronization over a secured connection is possible if you can add your site as a trusted one with corresponding certificate on your mobile.

This is the case for Windows mobile 6 (WM6) devices. Problems should occurs on several WM5 devices, because of a bug that limits addition of certificates with that OS. Here are the steps to add your server as a trusted platform on your WM6 mobile : 1. to convert your server's certificate into a (Binary coded DER X.509) .cer file you can either run the following command and skip to step 4 or just start at the next step.

 openssl x509 -in /home/e-smith/ssl.pem/<certificate name>.pem -inform PEM -out /root/<certificate name>.cer -outform DER

2. copy your server's certificates located in /home/e-smith/ssl.crt/ on a Windows XP/Vista computer 3. we need to transform those .crt certificates to .cer certificate ( same type of certificate but .crt are text-encoded ). To do so :

  • in microsoft windows open a certificate by double clicking on it
  • in "Detail" Tab pane choose "Copy to file"
  • Choose Binary coded DER X.509 (.cer) format
  • save resulting .cer certificates on local machine

4. transfer .cer certificates on your mobile using windows explorer 5. When done, on your WM6 mobile use file explorer to open those certificates. When opening one, the certificate is automatically added to trusted sites. 6. You can then change your Exchange server parameters to use SSL. It will be asked to reenter your password.

Command line admin

man zarafa for details

List users:

/usr/bin/zarafa-admin -l

Update a user to admin status:

/usr/bin/zarafa-admin -u <username> -a 1

Migrating users and data to Zarafa

Customizing the Calendar

The labels and categories in the calendar can be altered to suit user requirements.

The labels are defined in

/usr/share/zarafa-webaccess/client/layout/dialogs/standard/appointment.php beginning at line 225

The categories are in

/usr/share/zarafa-webaccess/client/layout/dialogs/modal/categories.php beginning at line 51.

Zarafa Bayesian learning

This howto enables SpamAssasin Bayesian learning for Zarafa

Mail Sorting

Maildrop as configured with smeserver-mailsorting will deliver to ~/Maildir rather than zarafa

Procmail will sort to zarafa for enabled users from smeserver-mailsorting-1.2-29,

Backup and restore


Backup is done normally with standard backup tool provided with SME, or with other backup contribs (affa). Be sure that those datas are correctly saved :

  • zarafa database. All backup tools are saving all mysql database in standard mode, it should be Ok
  • attachment files. Those one are stored in '/home/e-smith/files/zarafa' directory.
Warning.png Warning:
Database restoring has been tested when facing an issue during upgrade of zarafa from 6.20 to 6.20.4. No problems were detected, meaning there is no compatibility issues between those 2 versions. It should not be the case with every version

Standard full restore function provided by SME or other backup tools will restore Zarafa datas. In certain cases, it is interessant to restore only zarafa database backup (ie update issue). This is done following those steps :

  • stopping zarafa server
/etc/rc.d/init.d/zarafa-server stop
  • deleting all tables currently into zarafa database
mysql zarafa -e "show tables" | grep -v Tables_in | grep -v "+" | \
gawk '{print "drop table " $1 ";"}' | mysql zarafa
  • import the backup of zarafa database
cd /directory/containing/your/backup
mysql < zarafa.dump
  • restart zarafa server
/etc/rc.d/init.d/zarafa-server start


Check your logs when troubleshooting or reporting bugs

tail -f /var/log/zarafa/*
tail  /var/log/slapd
tail  /var/log/messages

Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-zarafa-unix component or use this link .

Search open bugs for smeserver-zarafa at

Zarafa: use their forum for zarafa specific bug reporting,

IDProductVersionStatusSummary (3 tasks)
9171SME Contribs9betaUNCONFIRMEDNew templates for use with zarafa 7.2
8906SME Contribs9.0UNCONFIRMEDserver.conf is not correct for the latest version of Zarafa
8715SME Contribs9.0UNCONFIRMEDZarafa <= 7.1 vulnerable to POODLE (SSLv3)