Ahora nos toca la integración de los teléfonos con los buzones de Zarafa. Hay un grupo de desarrolladores que se han basado en el active-sync de Microsoft para hacer una integración casi perfecta: z-push.
No es difícil, pero me he encontrado los siguientes problemas:
1º) Android 2.2.1 <-> zarafa 7.x <-> z-push = TODO OK
2º) iOS iPhone 4.x / iPAD <-> zarafa 7.x <-> z-push = TODO OK
3º) Android 2.3.x <-> zarafa 7.x <-> z-push = Problemas !!!
4º) WM 6.5/7 <-> zarafa 7.x <-> z-push = NO USO WM 🙂
La relación con Android ha sido extraña. Cuando tenía el exchange 2003, la sincronización era perfecta con mi HTC Hero y su 2.2.1…… una vez migrado el Exchange a la versión 2010, se acabó la armonía…… las citas en el Calendario (imprescindibles para mi trabajo diario), si las creaba en el teléfono, se replicaban en el exchange, pero si las creaba en el exchange, estas no se replicaban en el teléfono. Repasé los log’s del teléfono, pero por alguna razón, las citas creadas de esta manera no aparecían en las listas de sincronización…. así que lo dejé estar, ya que los días de exchange se estaban acabando.
Una vez migrado a zarafa, la armonía entre mi samsung Galaxy con 2.2.1 era perfecta, pero, por aquellas cosas de probar, lo actualicé a la versión 2.3.4…. aquí empezaron otra vez los problemas…. el correo no se sincronizaba de manera automática en el modo «difusión» y las citas del calendario tampoco iban finas….. si creaba la tarea en el teléfono, ésta aparecía en el calendario, pero si las creaba directamente en el webaccess, estas no se replicaban en el teléfono; lo mismo con las modificaciones…. así que tocó volver al android 2.2.1.
Salvado esto, para instalar el z-push, hemos de seguir los siguientes pasos:
1º) Descargamos z-push, por ejemplo en /usr/src
root@zeus:/usr/src# wget -c https://download.berlios.de/z-push/z-push-1.5.5-790.tar.gz
Y lo extraemos en el directorio raiz del servidor apache
tar -xzvf z-push-
Nos vamos al fichero /var/www/z-push–versionquesea/config.php y ponemos nuestra zona horaria:
// Defines the default time zone
if (function_exists("date_default_timezone_set")){
date_default_timezone_set("Europe/Madrid");
}
Una vez realizado, hemos de hacer un Alias, ya que el active-sync va a buscar la carpeta Microsoft-Server-ActiveSync. Como ya tenía los teléfonos con Active-sync SSL, me gustaba la idea de cifrar en SSL la sincronización de los teléfonos, así que editamos (en mi caso), nano /etc/apache2/sites-available/zarafa-webaccess y lo dejamos de la siguiente manera:
Alias /webaccess /usr/share/zarafa-webaccess
Alias /owa /usr/share/zarafa-webaccess
Alias /Microsoft-Server-ActiveSync /var/www/z-push--version/index.php
De esta manera, puedo acceder a mi webAccess:
a) httpss://nombredelservidor/webaccess
b) httpss://nombredelservidor/owa (like Exchange)
y nos funciona el active-sync con SSL 🙂
Ahora damos permisos a la carpeta state, que sirve para mantener los datos de sincronización y el estado de las mismas.
chmod 777 /var/www/z-push--version/state
Y ahora a eliminar (en mi caso) la cuenta en el teléfono y volverla a crear/sincronizar.
Con ésto, tenemos remplazado el Exchange sin perder (casi) funcionalidades.