Zimbra + Funambol 8.5 sin entorno gráfico

Bueno gente, mi anterior instalación de funambol (versión 7.X) empezó a dar error con las modificaciones que se le hizo a la aplicación del iPhone, por si les sirve el error es este:
….
[2010-07-21 10:57:51,512] [funambol.transport.http] [ERROR] [B190EF60990A956046CB72100C6ABD24] [iph-eTBQtRwEWFu5pP/LHOdmgQ==] [mail@protected.com] [] Error processing the request
java.lang.ArrayIndexOutOfBoundsException: 8192
at org.xmlpull.mxp1.MXParser.parseCDSect(MXParser.java:2869)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1189)
at org.xmlpull.mxp1.MXParser.nextToken(MXParser.java:1100)
…..
Así que voy a aprovechar para hacerles un howto de como instalar esto, espero les sirva.

1) descargamos el Zimbra connector y el funambol.

wget http://download.forge.objectweb.org/sync4j/funambol-8.5.2-x64.bin
wget http://ufpr.dl.sourceforge.net/project/zimbrafunambol/zimbrafunambol/ZimbraConnector_0.6.02/ZimbraConnector_0.6.02.zip

2)  instalamos Funambol:

chmod +x funambol-8.5.2-x64.bin
./funambol-8.5.2-x64.bin
q
yes -> para aceptar la licencia.
[enter] -> para que se instale en el /opt/
no -> para no iniciar el servidor

3)  copiamos el ZimbraConnector

unzip ZimbraConnector_0.6.02.zip
cd ZimbraConnector_0.6.02
cp output/ZimbraConnector.s4j /opt/Funambol/ds-server/modules/

4) creamos el archivo de configuración:

mkdir -p /opt/Funambol/ds-server/config/connector/
y creamos este archivo llamado ZimbraConnector.xml

<java version="1.5.0">
 <object>
   <void property="dataSource">
     <string>jdbc/fnblds</string>
   </void>
 </object>
</java>

5) Editamos el archivo /opt/Funambol/ds-server/install.properties y agregamos a la línea 72 ,ZimbraConnector al final, la línea entera les debería quedar algo así:

modules-to-install=content-provider-8.5.3,email-connector-8.5.3,foundation-8.5.3,phones-support-8.5.2,webdemo-8.5.3,ZimbraConnector

6) Iniciamos el servidor e instalamos el módulo:

cari1:~/ZimbraConnector_0.6.02# cd /opt/Funambol
cari1:/opt/Funambol# bin/funambol start
cari1:/opt/Funambol# bin/install-modules
     [echo] Funambol Data Synchronization Server will be installed on the Tomcat 6.0.x application server
     [echo] Undeploying funambol...
     [echo] Pre installation for modules content-provider-8.5.3,email-connector-8.5.3,foundation-8.5.3,phones-support-8.5.2,webdemo-8.5.3,ZimbraConnector
     [echo] content-provider-8.5.3 pre-installation...
     [echo] content-provider-8.5.3 pre-installation successfully completed
     [echo] email-connector-8.5.3 pre-installation...
     [echo] email-connector-8.5.3 pre-installation successfully completed
     [echo] foundation-8.5.3 pre-installation...
     [echo] foundation-8.5.3 pre-installation successfully completed
     [echo] phones-support-8.5.2 pre-installation...
     [echo] phones-support-8.5.2 pre-installation successfully completed
     [echo] webdemo-8.5.3 pre-installation...
     [echo] webdemo-8.5.3 pre-installation successfully completed
     [echo] ZimbraConnector pre-installation...
     [echo] ZimbraConnector pre-installation successfully completed

     [echo] Copying configuration files

     [echo] Post installation for modules content-provider-8.5.3,email-connector-8.5.3,foundation-8.5.3,phones-support-8.5.2,webdemo-8.5.3,ZimbraConnector
     [echo] has.install: true
     [echo] Starting custom installation...
     [echo] Install Funambol Content Provider on Tomcat (/opt/Funambol/ds-server/output/content-provider-8.5.3)
     [echo] Funambol home: (/opt/Funambol/ds-server)
     [echo] Content Provider installation successfully completed
     [echo] content-provider-8.5.3 installation...
     [echo] Database installation for module content-provider-8.5.3 on hypersonic (/opt/Funambol/ds-server)

  [iterate] The Funambol Data Synchronization Server installation program can now create
  [iterate] the database required by the module content-provider-8.5.3 (if any is needed).
  [iterate] You can skip this step if you have already a valid database created
  [iterate] or the module does not require a database.

  [iterate] If you choose 'y' your existing data will be deleted.

  [iterate] Do you want to recreate the database?
  [iterate]               (y,n)
y
     [echo] content-provider-8.5.3 installation successfully completed
     [echo] has.install: ${has.install}
     [echo] email-connector-8.5.3 installation...
     [echo] Deploying deploy.wsdd...
     [echo] Database installation for module email-connector-8.5.3 on hypersonic (/opt/Funambol/ds-server)

  [iterate] The Funambol Data Synchronization Server installation program can now create
  [iterate] the database required by the module email-connector-8.5.3 (if any is needed).
  [iterate] You can skip this step if you have already a valid database created
  [iterate] or the module does not require a database.

  [iterate] If you choose 'y' your existing data will be deleted.

  [iterate] Do you want to recreate the database?
  [iterate]               (y,n)
y
     [echo] email-connector-8.5.3 installation successfully completed
     [echo] has.install: true
     [echo] Starting custom installation...
     [echo] Foundation Installation
     [echo] Foundation installation successfully completed
     [echo] foundation-8.5.3 installation...
     [echo] Database installation for module foundation-8.5.3 on hypersonic (/opt/Funambol/ds-server)

  [iterate] The Funambol Data Synchronization Server installation program can now create
  [iterate] the database required by the module foundation-8.5.3 (if any is needed).
  [iterate] You can skip this step if you have already a valid database created
  [iterate] or the module does not require a database.

  [iterate] If you choose 'y' your existing data will be deleted.

  [iterate] Do you want to recreate the database?
  [iterate]               (y,n)
y
     [echo] foundation-8.5.3 installation successfully completed
     [echo] has.install: ${has.install}
     [echo] phones-support-8.5.2 installation...
     [echo] Database installation for module phones-support-8.5.2 on hypersonic (/opt/Funambol/ds-server)

  [iterate] The Funambol Data Synchronization Server installation program can now create
  [iterate] the database required by the module phones-support-8.5.2 (if any is needed).
  [iterate] You can skip this step if you have already a valid database created
  [iterate] or the module does not require a database.

  [iterate] If you choose 'y' your existing data will be deleted.

  [iterate] Do you want to recreate the database?
  [iterate]               (y,n)
y
     [echo] phones-support-8.5.2 installation successfully completed
     [echo] has.install: true
     [echo] Starting custom installation...
     [echo] Install Funambol Web Demo Client on Tomcat (/opt/Funambol/ds-server/output/webdemo-8.5.3)
     [echo] Funambol home: (/opt/Funambol/ds-server)
     [echo] Web Demo Client installation successfully completed
     [echo] webdemo-8.5.3 installation...
     [echo] Database installation for module webdemo-8.5.3 on hypersonic (/opt/Funambol/ds-server)

  [iterate] The Funambol Data Synchronization Server installation program can now create
  [iterate] the database required by the module webdemo-8.5.3 (if any is needed).
  [iterate] You can skip this step if you have already a valid database created
  [iterate] or the module does not require a database.

  [iterate] If you choose 'y' your existing data will be deleted.

  [iterate] Do you want to recreate the database?
  [iterate]               (y,n)
y
     [echo] webdemo-8.5.3 installation successfully completed
     [echo] has.install: ${has.install}
     [echo] ZimbraConnector installation...
     [echo] Database installation for module ZimbraConnector on hypersonic (/opt/Funambol/ds-server)

  [iterate] The Funambol Data Synchronization Server installation program can now create
  [iterate] the database required by the module ZimbraConnector (if any is needed).
  [iterate] You can skip this step if you have already a valid database created
  [iterate] or the module does not require a database.

  [iterate] If you choose 'y' your existing data will be deleted.

  [iterate] Do you want to recreate the database?
  [iterate]               (y,n)
y
     [echo] ZimbraConnector installation successfully completed
      [war] Warning: selected war files include a WEB-INF/web.xml which will be ignored (please use webxml attribute to war task)
     [echo] Remove output dir

BUILD SUCCESSFUL
Total time: 1 minute 22 seconds

7) Ahora tenemos que activar el módulo ZimbraConnector.

cari1:/opt/Funambol# bin/funambol stop

Reemplazan las siguientes líneas en el archivo /opt/Funambol/tools/hypersonic/data/funambol.script:

INSERT INTO FNBL_SYNC_SOURCE VALUES('briefcase','foundation/foundation/fs-foundation/BriefcaseSource.xml','briefcase','fs-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('cal','foundation/foundation/calendar-foundation/VCalendarSource.xml','cal','calendar-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('card','foundation/foundation/contact-foundation/VCardSource.xml','card','contact-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('configuration','foundation/foundation/configuration/configuration.xml','configuration','config-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('event','foundation/foundation/calendar-foundation/VEventSource.xml','event','calendar-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('mail','email/email/email-ss/mail.xml','mail','email-ss')
INSERT INTO FNBL_SYNC_SOURCE VALUES('note','foundation/foundation/note-foundation/PlainTextNoteSource.xml','note','note-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('scal','foundation/foundation/calendar-foundation/SIFEventSource.xml','scal','calendar-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('scard','foundation/foundation/contact-foundation/SIFContactSource.xml','scard','contact-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('snote','foundation/foundation/note-foundation/SIFNoteSource.xml','snote','note-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('stask','foundation/foundation/calendar-foundation/SIFTaskSource.xml','stask','calendar-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('task','foundation/foundation/calendar-foundation/VTodoSource.xml','task','calendar-foundation')

por estas otras:

INSERT INTO FNBL_SYNC_SOURCE VALUES('briefcase','foundation/foundation/fs-foundation/BriefcaseSource.xml','briefcase','fs-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('cal','zimbra/zimbra/calendarSyncSource/cal.xml','cal','calendarSyncSource')
INSERT INTO FNBL_SYNC_SOURCE VALUES('card','zimbra/zimbra/contactSyncSource/card.xml','card','contactSyncSource')
INSERT INTO FNBL_SYNC_SOURCE VALUES('configuration','foundation/foundation/configuration/configuration.xml','configuration','config-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('event','zimbra/zimbra/calendarSyncSource/event.xml','event','calendarSyncSource')
INSERT INTO FNBL_SYNC_SOURCE VALUES('mail','email/email/email-ss/mail.xml','mail','email-ss')
INSERT INTO FNBL_SYNC_SOURCE VALUES('note','foundation/foundation/note-foundation/PlainTextNoteSource.xml','note','note-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('scal','zimbra/zimbra/calendarSyncSource/scal.xml','scal','calendarSyncSource')
INSERT INTO FNBL_SYNC_SOURCE VALUES('scard','zimbra/zimbra/contactSyncSource/scard.xml','scard','contactSyncSource')
INSERT INTO FNBL_SYNC_SOURCE VALUES('snote','foundation/foundation/note-foundation/SIFNoteSource.xml','snote','note-foundation')
INSERT INTO FNBL_SYNC_SOURCE VALUES('stask','zimbra/zimbra/calendarSyncSource/stask.xml','stask','calendarSyncSource')
INSERT INTO FNBL_SYNC_SOURCE VALUES('tast','zimbra/zimbra/calendarSyncSource/tast.xml','tast','calendarSyncSource')
INSERT INTO FNBL_SYNC_SOURCE VALUES('zimbraGalContacts','zimbra/zimbra/galContactSyncSource/zimbraGalContacts.xml','zimbraGalContacts','galContactSyncSource')

y crean los siguientes archivos:

a) /opt/Funambol/config/zimbra/zimbra/calendarSyncSource/tast.xml
b) /opt/Funambol/config/zimbra/zimbra/calendarSyncSource/stask.xml
c) /opt/Funambol/config/zimbra/zimbra/calendarSyncSource/cal.xml
d) /opt/Funambol/config/zimbra/zimbra/calendarSyncSource/event.xml
e) /opt/Funambol/config/zimbra/zimbra/calendarSyncSource/scal.xml
f) /opt/Funambol/config/zimbra/zimbra/galContactSyncSource/zimbraGalContacts.xml
g) /opt/Funambol/config/zimbra/zimbra/contactSyncSource/card.xml
h) /opt/Funambol/config/zimbra/zimbra/contactSyncSource/scard.xml

A todos estos archivos los pueden encontrar aquí:
http://solucionesroot.com/descargas/

Solo deben reemplazar su host en la última línea.
Iniciamos el servidor:

cari1:/opt/Funambol# bin/funambol start
En el iPhone, ipad o lo que sean ponen de url:
http://host.com:8080/funambol/ds
usuario: el correo
clave: la clave del correo

Y con eso debería andar, si les interesa hostear una instalación de funambol no duden en consultar en mi embresa funambol hosting

Tags: , , , , ,

7 Responses to “Zimbra + Funambol 8.5 sin entorno gráfico”

  1. Nicolas says:

    Hola Matias:

    Buenas, como estas? Estoy intentando levantar un server de Funambol para que funcione con nuestro servidor Zimbra, pero la falta de documentacion sobre Funambol, y el conector en particular (sumado a mi particular falta de talento), me esta desmotivando bastante .

    Te escribo para consultarte lo siguiente, puede ser que el archivo con los XMLs de configuracion este dañado? Porque estoy intentando seguir tu tutorial (ya que el del wiki de Zimbra no me anda), y cuando llego a ese paso me tranco.

    Gracias, y disculpa la molestia.

    Saludos,

    • Matias Neiff says:

      Hola Nicolas, lo que seguramente pasa es que está vieja mi versión, es cuestión de adaptar a la nueva quizás. Cuando me haga un tiempo me fijo de actualizar la configuración.

      Un abrazo.
      MN

  2. alejandro says:

    Una pregunta eso es para sincronizar tareas, calendario, contactos y notas pero como sincronizas el correo de zimbra 🙁

  3. Gustavo says:

    Hola, has podido adaptar este tutorial para que funcione con Zimbra version 7.1.2 que es la ultima?

  4. javier says:

    cuando trato de sincronizar zimbra y funambol obtengo el siguiente mensaje:

    [ERROR] – Error sync initializing: The server returned the error code 511

    alguna idea que me pueda ayudar?
    saludos
    javier