Zarafa Installation Instructions for Synology NAS
From Zarafa wiki
This article is a community contribution and includes features that are not supported by Zarafa support subscriptions. Please contact [email protected] before you deploy this setup in a commercial offering.
Please make sure not to enable IMAP/POP3 features of the Synology Mail Station when using Zarafa, to make sure that no conflicts occur in mail delivery.
What is Zarafa?
Zarafa - is a Open Source Email & Collaboration Software. Store all your contacts / emails / notes / task on your Synology NAS. Zarafa has a powerful webfrontend (Outlook Webaccess alike) and provides Active Sync Support to easily connect mobile devices. It acts like a exchange server to Microsoft Outlook (sync all contacts / task etc.). POP3 and IMAP connections are also possible. To send and receive emails, it is necessary to setup postfix / fetchmail.
Depending on your current situation you can setup zarafa in many different ways. You can access Zarafa via many different ways:
- with Microsoft Outlook
- via Active Sync with your Smartphone
- via Zarafa Webaccess
- via POP3/IMAP Gateway of Zarafa
- via ICal
Zarafa with postfix and own domain
In this setup you have your own domain (like [email protected]). Postfix has to be configured to send and receive emails. Zarafa sends emails to postfix, and receives emails from postfix.
Zarafa with postfix and fetchmail for POP3 / IMAP mailboxes
In this setup you have a email address from a provider (like [email protected] etc.). In this configuration fetchmail receives you email from the providers pop3/imap mailbox and delivers it to Zarafa. Zarafa sends emails to postfix which delivers it to your providers SMTP Server.
Installation of the SPK
- Make a Backup of your important configuration files and MySQL Database (only in case something goes wrong)
- Simply install the new SPK
- Install the Z-Push SPK if you want to use syncronization to mobile devices, if not yet installed (see Active Sync below)
All prerequisites have to be enabled in the DSM interface in the control panel.
Enable Telnet / SSH access
Some parts of Zarafa has to be configured via commandline, therefore click on “Terminal” and Enable “SSH Service”
Zarafa needs a mailserver to send/receive mails. Therefore enable the Mailserver. If you don’t have a own domain (only a POP3 mailbox) please enter some type of dummy domain here (like mydummydomain.local)
Note: In DSM 4.1 or greater you need to install and enable the package "Mail Server". The configuration could be found directly in the start menu (not in the control panel)
Please disable POP3 and IMAP in the Mailserver configuration in order not to run into conflicts between Zarafa POP3/IMAP capabilities and the integrated dovecot of the Synology Mailserver package
Enable Web Services
Zarafa has a powerful webinterface and Active Sync Interface. Please enable Webstation and mysql
The SPK is available in the Package center. You can install Zarafa by clicking the green "Install" button. You can also download as an alternative the SPK from the Zarafa Community hub and install it through the Package Center like any other SPK.
During installation you will be asked for the MySQL root password, the desired user language and if needed a license key.
After installation you will find a icon in the DSM startmenu.
You can access the Zarafa Webaccess via http://YOURNASIP/webaccess
Since version 0.3.3 of the SPK an Administration GUI is included. Therefore the main task for administrating Zarafa and Fetchmail could be done with this Tool. For advanced configurations it might be needed to login by SSH. Therefore connect to your NAS with putty or any other terminal program and login with the root account.
Zarafa Admin GUI
The admin GUI can be started in the DDSM startmenu with the icon "Zarafa Administration". Please make sure that you are logged in as the user "admin" to see the icon
The Admin GUI allows the following operations:
Creating / Deleting Zarafa Users Configuration of Fetchmail View Logfiles
Create Zarafa Users=
Before you can login to any Zarafa service you have to create Zarafa Users with the Admin GUI.
Select the tab "Zarafa Users" and click on "Create".
Enter the information for the new Zarafa user and click on "Save"
A message box will show the creation of the user:
All logfiles are located under /var/log/zarafa/ . The logfiles can be viewed with the Admin GUI in the tab "Logfile viewer".
Starting / Stopping Zarafa
You can start / stop Zarafa via DSM (via package center) or via commandline Start:
/var/packages/Zarafa/scripts/start-stop-status stop /var/packages/Zarafa/scripts/start-stop-status start
Zarafa Configuration files
The Zarafa Configuration files are located in /etc/zarafa/
Change mysql password if needed
The password of the mysql root account will be asked during installation of the SPK. However if you change your root password of the mysql, it is needed to modify the server.cfg as shown below. Please note it is needed to restart zarafa to accept these changes.
If you changed the root password of the mysql server you have to modify a zarafa-configuration file to start the zarafa succesfully. This could be done in the file
Change the following lines to your mysql root password (Only needed if you changed your default mysql password!!
# The user under which we connect with MySQL mysql_user = root # The password for the user (leave empty for no password) mysql_password =
Adding a License key
If you want to use more than three Outlook Users with Zarafa, you can purchase a license for your Zarafa installation. Please note that a license key will only work for x86 based NAS. On ARM based devices it is only possible to use the maximum of three outlook Users.
You can add the license in the following way:
echo <license key> > /usr/local/zarafa/zarafa-licensed/etc/zarafa/license/base
Then restart the Zarafa Package. The server.log should state that you will use the commercial license.
Postfix / Fetchmail Configuration
Postfix can be used in various scenarios (Mailserver for a single domain, postfix with smarthost and getting mails from POP3/IMAP with fetchmail). This document currently describes the following configurations:
- Postfix with smarthost and fetchmail for receiving mails from POP3/IMAP mailboxes
- Postfix with your own domain (local user database)
Please look in the configuration description for the advantages.
Please note also that you have to configure the MX records of your domain to point to your Synology device. The port 25 is also needed to be forwarded when you want to use postfix with your own domain. More information about postfix information can be found here or in the official Zarafa and postfix documentation.
Please note also that in the configuration with your own domain which is described here, an empty user database is used for easier administration. The disadvantage is that this can lead to backscatter spam, as postfix simply accepts every email and try to deliver it to zarafa. Zarafa may discard it and will send a NDR back to the sender. Therefore it is recommended to use some type of user database that postfix is able to discard an incoming mail.
Postfix logs to the standard syslog. Synology reduces this logs by default. For starting it is very useful to get full log details from postfix. Edit the file /etc/syslog.deny
and comment out debug, info, notice. Then reboot your NAS. You should revert this changes after your configuration works as expected.
# These priorities in this config file are not logged # refer to syslog.h
#alert #crit #debug #emerg #err #info #notice
You can then view the logfiles with
tail -f /var/log/messages
Configure Postfix with smarthost and fetchmail for receiving mails from POP3/IMAP mailboxes
This section describes how to configure postfix/fetchmail for the following configuration
- Emails will be received with fetchmail by using POP3/IMAP
- Fetchmail stores this emails into Zarafa
- Zarafa sends emails to postfix, which uses a smarthost/relay to deliver emails
Configure Postfix with smarthost
Since version 4.1 of the DSM you can configure some configuration options of postfix in the DSM UI. Please make the following selections in the DSM for the mail server:
Please make sure to add the [ ] brackets to the smarthost you provide
Fetchmail retrieves emails from POP3 and IMAP accounts. Fetchmail could be configured using the Admin GUI.
You can find the fetchmail configuration in the Fetchmail tab. You can create / delete / modify the fetchmail configuration and can restart fetchmail here.
In order to create a new user click on "Create"
Enter the information which are needed to fetch emails from you provider POP3/IMAP inbox. Click on "Save" to add the user to your configuration. Default Port list: POP3 Port: 110 POP3 (SSL) Port: 995 IMAP Port: 143 IMAP (SSL) Port: 993
With Click on "Save & Restart fetchmail" the whole configuration will be saved and fetchmail will be restarted. You can confirm if your new configuration works in the fetchmail section of the logviewer.
Please note that the Admin GUI uses an own configuration file for generating the /etc/fetchmailrc file. Therefore manual changes will be overwritten when using the Admin GUI.
Configure Postfix with your own domain
Create a user “vmail” in DSM (i made this user admin – not sure if this is necessary)
Since DSM Version 4.1 - Configure Postfix
Configure the mail server package in the DSM to serve your domain:
Edit the file /var/packages/MailServer/target/etc/template/master.template and add the zarafa part seen below:
Add the zarafa part seen below:
... # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== zarafa unix - n n - 10 pipe flags= user=vmail argv=/usr/local/zarafa/bin/zarafa-dagent $(user) #submission inet n - n - - smtpd ...
(Note: before flags is a space!!) Next edit /var/packages/MailServer/target/etc/template/main.template
Remove/comment this line:
#home_mailbox = .Maildir/
Then add these lines:
mailbox_transport = zarafa: local_recipient_maps = zarafa_destination_recipient_limit = 1
In order to get the changes in the mail server package template files affected, please stop and start the mailserver package in the DSM package center.
... # local admin users who can connect to any store (use this for the zarafa-dagent) # field is SPACE separated # eg: local_admin_users = root vmail local_admin_users = root vmail ...
Then restart the zarafa package:
You can access Zarafa in many different ways.
- via Zarafa Webaccess / Webapp
- with Microsoft Outlook
- via Active Sync with your Smartphone
- via POP3/IMAP Gateway of Zarafa
- via ICal
If you want to access the webaccess/webapp from remote you have to forward ports and enable a DynDNS service if you have a dynamic IP. It is also possible to access the webaccess SSL encrypted. Simply activate SSL in the DSM:
Please look here for more information regarding port forwarding and DynDNS . The Port 443 has to be forwarded to access the webaccess via DynDNS.
Up to three users can use the Zarafa Outlook plugin (if you want more you have to buy a license => See above).
The plugin can be downloaded here. Please note that you can also use the latest plugin, simply goto the link and navigate to the newest version.
Then follow the official documentation.
If you want to use IMAP, you have to enable it for each user with this command
export LC_ALL=C zarafa-admin -u USERNAME --enable-feature imap
A sample configuration of thunderbird is shown below:
Active Sync is realized with z-push. Since Package Version 0.2.9 Z-Push is no longer included. You can download the package from here  Simply download the SPK and install it over the DSM Package center.
If you want to use Z-Push from mobile devices over the internet you have to forward some Ports (http/https) like shown under Zarafa Webaccess.