(doc en cours de rédaction…)
Funambol permet de synchroniser SOGo avec des téléphones portables.
Récupération du programme de Funambol sur le site officiel :
https://www.forge.funambol.org/download/
Nous prenons la version : funambol-10.0.2-x64.bin
Nous allons gérer Funambol avec une base Mysql.
Je vous laisse créer la base ainsi que l'utilisateur qui va gérer la base sur mysql.
Nous en aurons besoin plus tard dans la configuration de funambol.
Reste à lancer le programme.
L'installation se fait par défaut dans le répertoire /opt, ce qui nous va bien.
A la question si vous souhaitez lancer le serveur, répondez no.
Nous le lancerons plus tard après l'avoir configurer correctement.
il faut récupérer sur le net les fichiers qui vont bien :
* funambol-sogo-1.0.8.s4j (le connecteur pour SOGo)
* mysql-connector-java-5.1.16.tar.gz (le connecteur pour mysql)
extraire les fichiers de l'archive pour mysql :
tar zxf mysql-connector-java-5.1.16.tar.gz
copie du fichier dans le bon répertoire :
cp mysql-connector-java-5.1.16/mysql-connector-java-5.1.16-bin.jar /opt/Funambol/ds-server/lib/
nous pouvons supprimer le répertoire de l'archive car nous n'en avons pas besoin :
rm -r mysql-connector-java-5.1.16
Édition du fichier /opt/Funambol/ds-server/install.properties et y mettre :
# ============================================================================== # Funambol Data Synchronization Server # ============================================================================== # Installation properties # ============================================================================== # # The server URI # # This parameter is optional: if empty the server will use the # client request uri # server-uri=http://serveur_funambol:8080/funambol/ds # The context path to use to access SyncServer context-path=/funambol # # The DBMS name. One of: # - hypersonic # - postgresql # - mysql # dbms=mysql # # MySQL # ===== # jdbc.classpath=/opt/Funambol/ds-server/lib/mysql-connector-java-5.1.16-bin.jar jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://ip_serveur_mysql:port/funambol?characterEncoding=UTF-8 jdbc.user=user_qui_va_bien_sur_la_base_mysql jdbc.password=password_du_user # # # # Modules definitions # modules-to-install=content-provider-10.0.0,email-connector-10.0.0,foundation-10.0.0,phones-support-10.0.0,webdemo-10.0.0,funambol-sogo-1.0.8
où : server-uri est l'adresse de connexion de votre serveur funambol (remplacer serveur_funambol par votre serveur) et il faut bien sûr mettre les bonnes infos de connexion à mysql.
Modification du fichier /opt/Funambol/ds-server/modules-classpath.properties et y mettre :
#Wed Jul 27 11:46:00 CEST 2011 modules-classpath=\ content-provider-10.0.0/lib/content-provider-10.0.0.jar email-connector-10.0.0/lib/email-connector-10.0.0.jar foundation-10.0.0/lib/foundation-10.0.0.jar phones-support-10.0.0/lib/phones-support-10.0.0.jar webdemo-10.0.0/lib/webdemo-10.0.0.jar funambol-sogo-1.0.8/lib/funambol-sogo-1.0.8.jar
il faut copier le fichier funambol-sogo-1.0.8.s4j dans le bon répertoire :
cp funambol-sogo-1.0.8.s4j /opt/Funambol/ds-server/modules/
Modification du ficher /opt/Funambol/config/Funambol.xml et y mettre :
<?xml version="1.0" encoding="UTF-8" ?> <java version="1.4.2" class="java.beans.XMLDecoder"> <object class="com.funambol.server.config.ServerConfiguration"> <void property="engineConfiguration"> <object class="com.funambol.server.config.EngineConfiguration"> <void property="officer"> <!-- <string>com/funambol/server/security/UserProvisioningOfficer.xml</string> --> <string>ca/inverse/sogo/security/SOGoOfficer.xml</string> </void> <void property="serverURI"> <string>http://serveur_funambol:8080/funambol/ds</string> </void> <void property="sessionHandler"> <string>com.funambol.server.session.SyncSessionHandler</string> </void> <void property="strategy"> <string>com/funambol/server/engine/Strategy.xml</string> </void> <void property="userManager"> <string>com/funambol/server/admin/DBUserManager.xml</string> </void> <void property="minMaxMsgSize"> <long>1800</long> </void> <void property="deviceInventory"> <string>com/funambol/server/inventory/PSDeviceInventory.xml</string> </void> <void property="dataTransformerManager"> <string>com/funambol/server/engine/transformer/DataTransformerManager.xml</string> </void> <void property="checkForUpdates"> <boolean>true</boolean> </void> </object> </void> <void property="serverInfo"> <object class="com.funambol.framework.core.DevInf"> <object class="com.funambol.framework.core.VerDTD"> <!-- verDTD --> <string>1.2</string> </object> <!-- man --> <string>Funambol</string> <!-- mod --> <string>DS Server</string> <!-- oem --> <string>-</string> <!-- fwV --> <string>-</string> <!-- swV --> <string>10.0.0</string> <!-- hwV --> <string>-</string> <!-- devID --> <string>funambol</string> <!-- devTyp --> <string>server</string> <!-- utc --> <boolean>true</boolean> <!-- supportLargeObjs --> <boolean>true</boolean> <!-- supportNumberOfChanges --> <boolean>true</boolean> <array class="com.funambol.framework.core.DataStore" length="0"/> <array class="com.funambol.framework.core.Ext" length="1"> <void index="0"> <object class="com.funambol.framework.core.Ext"> <string>X-funambol-smartslow</string> <array class="java.lang.String" length="0"/> </object> </void> </array> </object> </void> </object> </java>
Ceci afin de modifier le Officer et y mettre celui de SOGo.
Attention au serverURI qu'il faut adapter en fonction.
Création du fichier SOGoOfficer :
mkdir -p /opt/Funambol/config/ca/inverse/sogo/security
vi /opt/Funambol/config/ca/inverse/sogo/security/SOGoOfficer.xml
et y mettre :
<?xml version="1.0" encoding="UTF-8"?> <java version="1.4.0" class="java.beans.XMLDecoder"> <object class="ca.inverse.sogo.security.SOGoOfficer"> <void property="host"> <string>serveur_internet</string> </void> <void property="port"> <string>20000</string> </void> </object> </java>
où serveur_internet doit contenir le serveur d'accès à internet s'il n'est pas sur la même machine, sinon, localhost.