Zimbra OpenSource + zpush (synchronisation des terminaux mobiles)

Billet posté le 12 févr. 2012

Depuis quelques années j’utilise le groupware Zimbra.

C’est une solution OpenSource qui fournit tout packagé :

  • OpenLDAP
  • MySQL / mariadb
  • Lucene
  • Jetty
  • POP/IMAP (et leurs alternatives en S)
  • Postfix

Toutes ces briques sont intégrées pour fournir un webmail puissant qui permet de faire du travail collaboratif (ça va je l’ai bien vendu mon produit ?)

Une démo est disponible par ici : http://www.zimbra.com/products/hosted_demo.php

Un inconvénient de cette solution OpenSource c’est qu’il n’y a pas de possibilité de faire en natif une synchronisation de type ActiveSync.

C’est quoi l’intérêt d’une synchronisation ActiveSync :

  • synchroniser ses mails
  • synchroniser ses contacts
  • synchroniser ses calendriers
  • synchroniser ses tâches

Le seul moyen d’avoir ces synchronisations en natif serait d’acheter des licences Zimbra pour la version Zimbra Network. Franchement, non merci :-)

Quoi mais alors tout est perdu ?

Mais non, il existe une alternative appelée zpush.

Ci-dessous voici une configuration vhost pour apache :

<VirtualHost MON_IP:80>
ServerName <mon_hostname>
DocumentRoot /dossier/de/zpush
CustomLog /var/log/apache2/<mon_log>-access.log common
ErrorLog /var/log/apache2/<mon_log>-error.log
Alias /Microsoft-Server-ActiveSync /dossier/de/zpush/index.php
<Directory /dossier/de/zpush.lovetux.net>
AllowOverride All
</Directory>
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag magic_quotes_runtime off
php_flag short_open_tag on
</VirtualHost>
Ne pas oublier de télécharger le backend Zimbra : http://sourceforge.net/projects/zimbrabackend/

Ce fichier sera à copier dans le dossier backend de zpush. Ensuite dans le fichier config.php du dossier parent il faut dire à zpush d’utiliser le backup zimbra cité ci-dessus :

// The data providers that we are using (see configuration below)
$BACKEND_PROVIDER = "BackendZimbra";
define('ZIMBRA_URL', 'https://webmail.lovetux.net');
define('ZIMBRA_USER_DIR', 'zimbra');
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',false);
define('ZIMBRA_ENFORCE_VALID_EMAIL',true);
define('ZIMBRA_DEBUG',false);

Pis après sur les appareils supportant le protocole ActiveSync il suffit de remplir les informations suivantes :

  • nom d’utiilisateur
  • mot de passe
  • nom du serveur
  • avec ou sans SSL

Bonne synchro !