This is a quick and dirty howto to configure Zarafa mail server on CentOS / RHEL 6.
Original article in french can be found here: * http://www.badministrateur.com/node/120
Zimbra, scalix, open-x-change, all MS-Exchange competitors. Zarafa is slightly different with a rapid developpment cycle pushing updates quickly to the consumer. Zarafa is also instigator of z-push framework, the open source ActiveSync solution. As of today, it's the only 100% free solution which supports z-push.
I've installed Zarafa on a CentOS 6.2 test server to evaluate its possibilites of configuration and administration.
I guess you already have a minimal CentOS 6 installation. Zarafa stores mail and attachments in a MySQL database (attachments can also be stored in file system), uses PHP and apache for webmail and activesync. Let's install some packages needed:
# yum install file libxslt poppler-utils unzip sysstat # yum install mysql-server mysql php php-cli w3m httpd
MySQL has to be configured and needs a root password:
# service mysqld start # chkconfig mysqld on # mysql-secure-installation
or # mysqladmin -u root -p password
Let's fetch Zarafa's RPM packages. There are two community versions, the free one, which includes 3 MAPI licences for outlook clients, and the opensource one, as the MAPI code is closed source. I've done my tests on zcp-7.0.6 and zcp-7.0.7 but you can download any version of Zarafa at http://download.zarafa.com/community/final/
# wget http://download.zarafa.com/community/final/7.0/7.0.7-34256/zcp-7.0.7-34256-rhel-6-x86_64-free.tar.gz # tar xvf /zcp-7.0.7-34256-rhel-6-x86_64-free.tar.gz # cd /zcp-7.0.7-34256-rhel-6-x86_64-free
You'll need to manually install a package which lets preview Microsoft OpenXML documents, named catdoc and supplied with ZCP.
# rpm -ivh catdoc*
And then launch Zarafa's installation:
Setup process is quick. If you server is already right configured, you can leave most default options. Enable Zarafa Gateway if you need POP / IMAP access. Also enable Zarafa ical Gateway so non MAPI / ActiveSync can access a shared calendar. Locale is not asked when installing, so we'll have to set this manually in file /etc/sysconfig/zarafa
If you wish to store attachments in the database instead of file system, modify the following lines in /etc/zarafa/server.cfg:
attachment_storage = database
attachment_storage = files attachment_path = /var/lib/zarafa attachment_compression = 9
Please note that database storage is adapted to small organisations (less than 20 users) and makes backups easier (a mysql dump is enough) whereas file storage is faster but makes backups more complicated as database & file backup might not be done at the same time. Compression can be maxed to level 9 if your CPU is lazy (that happens too often these days).
After having made necessary modifications, relauch Zarafa
# service zarafa-sever restart
Your webmail is usually set up to http://yourserver/webaccess. It might be easier to redirect so people must not type webaccess. You can do this by doing the following steps:
# rm /etc/httpd/conf.d/welcome.conf and modifiy the following line in /etc/httpd/conf/httpd.conf
Don't forget to lauch apache
# service httpd start # chkconfig httpd on
If you use a SELinux setup, you might want to let apache create new sockets:
# setsebool http_can_network_connect=1
It's time to administer your Zarafa setup. Admin tool zarafa-admin is very convenient. Let's create a test user:
# zarafa-admin -c badministrateur -p password -f "Full Account Name" -e firstname.lastname@example.org -a 2 where a is the admin level, (0) = user, (1) = admin, (2) = organisation admin
You can check whether this worked with
# zarafa-admin -l
User list for Default(2): Username Fullname Homeserver
SYSTEM SYSTEM Zarafa badministrateur Full Account Name
# zarafa-admin --details badministrateur
Username: badministrateur Fullname: Full Account Name Emailaddress: email@example.com Active: yes Administrator: yes (system) Address book: Visible Auto-accept meeting req:no Mapped properties: PR_EC_ENABLED_FEATURES PR_EC_DISABLED_FEATURES imap; pop3 Current user store quota settings: Quota overrides: no Warning level: unlimited Soft level: unlimited Hard level: unlimited Current store size: 0,00 MiB Groups (1): Everyone
You might want to configure transport... (enough for today, will make article later)