After having my email being served by Zimbra Open Source Edition for over a couple of months now, the time was there to implement my email/contacts/tasks sync to my Android cell phone again (after years of true ActiveSync with Exchange).
I started looking at possibilities, being z-push and funambol (probably others too, but not by my knowledge or what I have found) and investigating how to implement (one of) them.
A couple of years ago, I already had some trial and error experience with Funambol, back in the days it was still called Sync4j, but I have never gotten it to work stable enough, so I first went with z-push.
Z-push relies on a couple of packages, being php, apache and php-pear, and a couple of others.
The base of my configuration comes from a basic-detailed description I found on a slashdevslashnull page, describing the steps and info needed for an install.
I didn’t have any success, failing on several parts…
First one: running an Apache on the same host as the Zimbra isn’t all that easy, so I installed a separate Ubuntu server on my virtual server, just for the z-push frontend.
Second: the configuration of the z-push config.php isn’t very well documented. Using the IMAP backend, I got to logging in, but I didn’t have any success in real data. The problem lies in the security settings conflicting between the IMAP z-push backend config and the Zimbra IMAP service.
I did a little more research, and stumbled upon Zimbra-backend for z-push, a backend communications module to interface both products.
The config needed in config.php is even less documented, and it took me a while to figure it out.
To enable debugging, you need to create a file called debug.txt in the z-push root dir, and give it the proper file rights for it to be writable.
This block seems to do it fine, that is: it is giving me a good readout in de created debug.txt file:
// ***********************
// Zimbra Backend Settings
// ***********************
define('ZIMBRA_URL', 'https://172.16.248.21');
define('ZIMBRA_SYNC_CONTACT_PICTURES', true);
define('ZIMBRA_VIRTUAL_CONTACTS',true);
define('ZIMBRA_VIRTUAL_APPOINTMENTS',true);
define('ZIMBRA_VIRTUAL_TASKS',true);
define('ZIMBRA_IGNORE_EMAILED_CONTACTS',true);
define('ZIMBRA_HTML',true);
With this config I can enable my T-Mobile G1 Android 1.6 powered smartphone to pick up email, contacts and such through ActiveSync with the Touchdown application.