Push e-mail avec Z-PUSH : Installation et configuration pour Zimbra

z-push

Pouvoir profiter du push e-mail avec Zimbra est possible grâce à une application PHP simulant un serveur Microsoft Server ActiveSync.

Pour cela, rien de plus simple.

Le seul inconvénient est de disposer d'un serveur, autre que celui sur lequel est installé Zimbra, car il faut obligatoirement un serveur sur lequel sera installé Apache et PHP.

Un second serveur Ubuntu sera donc utile pour pouvoir profiter du push e-mail.

$ wget http://download.berlios.de/z-push/z-push-1.5.5-790.tar.gz

  • Copier l'archive dans le répertoire public_html du home correspondant au serveur virtuel

$ cp ./z-push-1.5.5-790.tar.gz /home/push/public_html/

  • Se rendre dans le dossier public_html et extraire le contenu de l'archive

$ cd /home/push/public_html/ && tar -xvzf ./z-push-1.5.5-790.tar.gz

  • Se rendre dans le dossier ./z-push/backend nouvellement créé

$ cd ./z-push/backend/

$ wget http://freefr.dl.sourceforge.net/project/zimbrabackend/Release51/zimbra5...
$ tar -xvzf zimbra51.tgz

  • Retourner dans le dossier z-push et éditer le fichier config.php

$ cd .. && nano ./config.php

  • Dans le fichier config.php, modifier les lignes suivantes :

    === Disable Provisioning ===
    define('PROVISIONING', false);

    === Replace ===
    $BACKEND_PROVIDER = "BackendZimbra";

    === Add ===
    define('ZIMBRA_URL', 'http://<zimbra url>');
    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);

    === Optional ===
    define('ZIMBRA_NOKIA_MFE_FIX',true);
    define('ZIMBRA_NOKIA_MFE_ALWAYS_OVERWRITE',true);

    Commenter toutes les définitions IMAP (SERVER, PORT etc etc)
  • Le fichier doit ressembler à ceci config.php
  • Modifier le propriétaire du dossier state

$ chown www-data:www-data ./state/

  • Via Virtualmin, pour le domaine push.mondomaine.com par exemple, créer un Alias /Microsoft-Server-ActiveSync pointant vers /home/push/public_html/z-push/index.php

    Dans Virtualmin, on sélectionne le domaine dans la liste déroulante, puis Services --> Configure Website
    Cliquer sur le bouton Alias et redirections puis saisir les infos dans la section Alias des répertoires des documents
    Cliquer sur le bouton Sauvegarder puis sur Appliquer les changements en haut à droite
     

La configuration du serveur PUSH est enfin terminée.

Il ne reste plus qu'à configurer Microsoft Exchange Active Sync sur le téléphone en y indiquant l'adresse http du serveur (push.mondomaine.com par exemple - Ne pas indiquer l'alias /Microsoft-Server-ActiveSync dans l'adresse du serveur) et les services à synchroniser (agenda, carnet d'adresses, tâches etc etc)

Il faut, bien entendu, que le serveur push.mondomaine.com (par exemple) soit accessible de l'extérieur.


Comment faire pour que le webmail du serveur Zimbra (installé sur la machine 10.10.0.10 par exemple) et le serveur push.mondomaine.com (installé sur la machine 10.10.0.20 par exemple) soient tous les 2 accessibles de l'extérieur sur le port HTTP 80 et/ou HTTPS 443.

Surtout que dans un routeur, il est possible de rediriger un port que sur une seule adresse IP.

Donc, soit on redirige le port 80 & 443 vers la machine 10.10.0.10 et dans ce cas le serveur web installé sur la machine 10.10.0.20 n'est pas accessible soit on fait l'inverse et dans ce cas c'est le webmail Zimbra installé sur la machine 10.10.0.10 qui n'est plus accessible.

Pour résoudre ce problème, il suffit de créer un second serveur virtuel sur la machine où se trouve le serveur push.mondomaine.com et de le nommer zimbra.mondomaine.com (par exemple) et de le configurer comme un serveur proxy qui transmettra les requêtes HTTP vers le serveur Zimbra.

Il suffit donc de paramétrer le routeur afin de rediriger le port 80 et 443 vers la machine 10.10.0.20. Le serveur virtuel zimbra.mondomaine.com se chargera de transmettre les requêtes vers la machine 10.10.0.10 et affichera, par conséquent, le webmail de Zimbra.

Cliquer pour la configuration d'un serveur virtuel en mode proxy.


Importer un certificat SSL auto-signé dans les appareils mobiles utilisant le serveur Z-PUSH en HTTPS

  1. Avec un navigateur (Firefox par exemple), se rendre à l'adresse HTTPS du serveur Z-PUSH (https://push.mondomaine.com)
  2. Accepter l'exception de sécurité pour le certificat SSL auto-signé
  3. Dans Firefox, cliquer sur l'icone de sécurité située à gauche de l'adresse puis sur "Plus d'informations".
  4. Cliquer sur "Afficher le certificat" puis dans l'onglet "Détails", cliquer sur exporter.
  5. Enregistrer le certificat avec le type "Certificat X.509 (DER)"
  6. Transférer le certificat sur l'appareil mobile (Bluetooth, USB etc etc ...)
  7. Dans l'appareil mobile, se rendre dans le dossier où a été enregistré le certificat puis l'ouvrir afin de l'enregistrer dans la base des certificats d'autorité.
Etiquettes: