October 11, 2010

Replace Outlook Webmail with Open Source Zarafa


Looking for a Webmail offering that's competitive with Microsoft's Outlook Web App (OWA), but available on Linux? One of the best Outlook alternatives for Linux is Zarafa, a collaboration platform with support options for businesses that need a robust replacement for Exchange.

Zarafa seamlessly integrates with your already working Linux email server, offers all of the advantages of the Exchange OWA platform (and more), and does so at nearly half the cost. And, although there is a cost involved with the software, Zarafa is open source (GPLv3). And in this article I am going to show you how to install Zarafa on the Fedora platform (release 13 in this instance) and integrate it with a working Postfix installation.

If you're looking for a guide to getting Postfix up and running, see "Install and Configure a Postfix Mail Server." Make sure you have Postfix running and delivering mail before you start the process of installing Zarafa.


What exactly does Zarafa offer that might entice you to give it a try? Take a look at these features:

  • Address book
  • Calendar
  • Notes
  • Tasks
  • Personal Folders / Public Outlook Folders
  • Highly configurable permissions for users and folders
  • Meeting invitation free/busy option
  • Resources planning
  • POP3
  • IMAP
  • iCalendar
  • Caldav
  • Z-push synchronization
  • BlackBerry integration over BES
  • Out-of-office message
  • Brick-level backup
  • Single sign-on

What more do you need? How about installation? Let's get to work


As I have already mentioned, make sure you already have your working Postfix server up and running before you tackle this task. Also, make sure all of your users are UNIX users on the system. Zarafa has no means to create or edit users. You will also need to have a working LAMP server up and running as Zarafa depends upon MySQL and Apache. Once you have that server up and running, you are ready to go.

For information on installing a LAMP server take a look at "Easy LAMP Server Installation." Although that article is targeted for Ubuntu, it can easily be translated to the Fedora platform by replacing sudo with su'ing to the root user and replacing apt-get  with yum.

Before you actually install the Zarafa server, let's integrate it with Postfix first. This is actually quite simple to do, following these steps:

  1. Open up a terminal window.
  2. su to the root user (and enter the root user password).
  3. Open up the /etc/postfix/main.cf file.
  4. Add this line to the bottom of the file: mailbox_command = /usr/bin/zarafa-dagent “$USER”
  5. Save and close the main.cf file.
  6. Restart Postfix with the command service postfix restart.

Now you are ready to install Zarafa. Here are the steps for installing your Zarafa interface:

  1. Open up a terminal window.
  2. Issue the command su and then enter the root user password.
  3. Issue the command yum install zarafa zarafa-webaccess.
  4. Accept any dependencies necessary.

Depending upon the speed of your machine and your network connection, this installation could take some time. But, believe it or not, the above commands will install the complete system.

Starting the Servers

There are a few sub-systems to start in order to gain access to the Zarafa Web interface: apache, mysql,zarafa-server, zarafa-gateway, and zarafa-spooler. To start these systems, issue the following commands:

  • service httpd start
  • service mysqld start
  • service zarafa-server start
  • service zarafa-gateway start
  • service zarafa-spooler start

Creating Stores and Test User

The next step in the process is to create a public store where email will be held. The command to do this is:

zarafa-admin -s

With your newly created stores you now need to migrate users into Zarafa. The easiest way to do that is to use this handy script, written by Matteo Predieri. Copy the contents of that pastebin entry into the file ~/Downloads/zarafa_import and then give it executable permissions with the command chmod u+x ~/Downloads/zarafa_import. With this script you need to create the file /tmp/userlists.txt that contains all of the users you want to migrate into Zarafa. Each user will be on a single line like so:

username password email@address firstname lastname

Zarafa interfaceAdd each user you want and then save the file. Now issue the command (as the root user) ~/Downloads/zarafa_import and all of your users will be imported into Zarafa. You can now log into Zarafa by pointing your browser to http://ADDRESS_OF_SERVER/webaccess. Log in with one of your users and you will see a very familiar Web-based interface (see Figure 1).

The actual administration of Zarafa users and stores is handled through the zarafa-admin command. This command not only allows you to add/edit users, it also allows you to create multiple companies on your Zarafa server.

Free vs. Paid

There are, basically, two different versions of Zarafa. There is the paid version you can obtain from the Zarafa Website and there is the community edition (which is what we installed in this article). In order to actually get the "official" support for Zarafa, you have to purchase licenses, which are not cheap. You can get a full list of prices from the Zarafa Prices page. For smaller organizations, who are not so worried about support, the community edition will work just fine.

Moving Forward

This article only touched on the power of Zarafa. What we didn't discuss is LDAP and Active Directory integration as well as multi-company setups. But this article will give you a solid base for moving forward with your installation. Once you have Zarafa installed, you can then start to build upon the foundation to create an amazingly powerful Web-based collaboration tool.

Click Here!