Difference between revisions of "Funambol"
(Added client URL and sync names) |
|||
Line 1: | Line 1: | ||
+ | {{Needs review}} | ||
{{Level|Advanced}} | {{Level|Advanced}} | ||
== Introduction == | == Introduction == |
Revision as of 15:36, 29 April 2010
Introduction
This is a very preliminary writeup on the installation of Funambol on an SME8b5 installation for use with SOGO.
Use only for testing on non production machines and when you find an error, please correct it right here :-)
Download & Install Funambol
Goto https://www.forge.funambol.org/DomainHome.html
and install Funambol v8. The latests is funambol-8.0.2.bin
chmod +x funambol-8.0.2.bin ./funambol-8.0.2.bin
Install in
/opt/Funambol
If running after installation, stop the Funambol server using :
/opt/Funambol/bin/funambol stop
Download MySQL component
Funambol by installation defaults to use the Hypersonic DB engine. See the /opt/Funambol/ds-server/install.properties file for details and to change to the MySQL connector.
unzip mysql-connector-java-5.0.8.zip cp mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar . rm -rf mysql-connector-java-5.0.8
Download Apache Commons components
Download components from here
http://commons.apache.org/
Copy components in the following directory
cd /opt/Funambol/tools/tomcat/lib/
collections (v3.2.1)
wget http://www.apache.org/dist/commons/collections/binaries/commons-collections-3.2.1-bin.zip rm -rf commons-collections-3.2.1.jar unzip commons-collections-3.2.1-bin.zip cp -p commons-collections-3.2.1/commons-collections-3.2.1.jar . rm -rf commons-collections-3.2.1
confguration (v1.6)
wget http://www.apache.org/dist/commons/configuration/binaries/commons-configuration-1.6.zip rm -rf commons-configuration-1.6.jar unzip commons-configuration-1.6.zip cp -p commons-configuration-1.6/commons-configuration-1.6.jar . rm -rf commons-configuration-1.6
logging (v1.1)
wget http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.1.1-bin.zip rm -rf commons-logging-1.1.1.jar unzip commons-logging-1.1.1-bin.zip cp -p commons-logging-1.1.1/commons-logging-1.1.1.jar . rm -rf commons-logging-1.1.1
lang (v2.4)
wget http://www.apache.org/dist/commons/lang/binaries/commons-lang-2.5-bin.zip rm -rf commons-lang-2.5.jar unzip commons-lang-2.5-bin.zip cp -p commons-lang-2.5/commons-lang-2.5.jar . rm -rf commons-lang-2.5
json-simple
wget http://json-simple.googlecode.com/files/json_simple.jar
funambol-sogo-1.0.7.s4j
cd /opt/Funambol/ds-server/modules wget http://www.scalableogo.org/uploads/Funambol/funambol-sogo-1.0.7.s4j
Then, open the /opt/Funambol/ds-server/install.properties file
vim /opt/Funambol/ds-server/install.properties
and add "funambolsogo-1.0.7" at the end of the "modules-to-install" line.
Install Funambol SOGo Connector
Start the Funambol server using:
/opt/Funambol/bin/funambol start
Next, install the Funambol SOGo Connector within Funambol server by issuing the following commands :
cd /opt/Funambol/ ./bin/install-modules
Answer 'yes' to all questions.
Note the default install using the Hypersonic DB engine.
See also:
https://core.forge.funambol.org/wiki/HOWTOFunambolMySQLFedora10
MySQL Engine : Also in /usr/lib/Funambol/bin/funambol change COMED=true to COMED=false somewhere around line 50 while you're at it (this prevents the start/stop script from trying to start or stop the Hypersonic database, since we’re going to use MySQL). After that, rm -rf /usr/lib/Funambol/tools/hypersonic to save yet a bit more disk space
Configuring the Calendar Sync connection
mkdir -p /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-cal.xml cd /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-cal.xml touch template-begin vim sogo-cal.xml expand-template /opt/Funambol/config/sogo/sogo/sogo/sogo-cal.xml
Note the $sogod{'DbPassword'} in the scripts below. This pulls in the the database password that SOGO uses to access the MySQL database.
<?xml version="1.0" encoding="UTF-8"?> <java version="1.5.0_10" class="java.beans.XMLDecoder"> <object class="ca.inverse.sogo.engine.source.SOGoSyncSource"> <void property="databasePassword"> <string>{$sogod{'DbPassword'}}</string> </void> <void property="databaseURL"> <string>jdbc:mysql://localhost/sogo</string> </void> <void property="databaseUsername"> <string>sogo</string> </void> <void property="info"> <object class="com.funambol.framework.engine.source.SyncSourceInfo"> <void property="supportedTypes"> <array class="com.funambol.framework.engine.source.ContentType" length="1"> <void index="0"> <object class="com.funambol.framework.engine.source.ContentType"> <void property="type"> <string>text/x-vevent</string> </void> <void property="version"> <string>1</string> </void> </object> </void> </array> </void> </object> </void> <void property="name"> <string>sogo-cal</string> </void> <void property="sourceURI"> <string>sogo-cal</string> </void> </object> </java>
Configuring the Address Book Sync connection
mkdir -p /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-card.xml cd /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-card.xml touch template-begin vim sogo-card.xml expand-template /opt/Funambol/config/sogo/sogo/sogo/sogo-card.xml
<?xml version="1.0" encoding="UTF-8"?> <java version="1.5.0_10" class="java.beans.XMLDecoder"> <object class="ca.inverse.sogo.engine.source.SOGoSyncSource"> <void property="databasePassword"> <string>{$sogod{'DbPassword'}}</string> </void> <void property="databaseURL"> <string>jdbc:mysql://localhost/sogo</string> </void> <void property="databaseUsername"> <string>sogo</string> </void> <void property="info"> <object class="com.funambol.framework.engine.source.SyncSourceInfo"> <void property="supportedTypes"> <array class="com.funambol.framework.engine.source.ContentType" length="1"> <void index="0"> <object class="com.funambol.framework.engine.source.ContentType"> <void property="type"> <string>text/x-vcard</string> </void> <void property="version"> <string>1</string> </void> </object> </void> </array> </void> </object> </void> <void property="name"> <string>sogo-card</string> </void> <void property="sourceURI"> <string>sogo-card</string> </void> </object> </java>
Configuring the Todo List Sync connection
mkdir -p /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-todo.xml cd /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-todo.xml touch template-begin vim sogo-todo.xml expand-template /opt/Funambol/config/sogo/sogo/sogo/sogo-todo.xml
<?xml version="1.0" encoding="UTF-8"?> <java version="1.5.0_10" class="java.beans.XMLDecoder"> <object class="ca.inverse.sogo.engine.source.SOGoSyncSource"> <void property="databasePassword"> <string>{$sogod{'DbPassword'}}</string> </void> <void property="databaseURL"> <string>jdbc:mysql://localhost/sogo</string> </void> <void property="databaseUsername"> <string>sogo</string> </void> <void property="info"> <object class="com.funambol.framework.engine.source.SyncSourceInfo"> <void property="supportedTypes"> <array class="com.funambol.framework.engine.source.ContentType" length="1"> <void index="0"> <object class="com.funambol.framework.engine.source.ContentType"> <void property="type"> <string>text/x-vtodo</string> </void> <void property="version"> <string>1</string> </void> </object> </void> </array> </void> </object> </void> <void property="name"> <string>sogo-todo</string> </void> <void property="sourceURI"> <string>sogo-todo</string> </void> </object> </java>
Auto-create Funambol user accounts
Edit the Funambol config file
vim /opt/Funambol/config/Funambol.xml
And change the officer parameter:
<void property="officer"> <string>ca/inverse/sogo/security/SOGoOfficer.xml</string> </void>
Then create the SOGoOfficer.xml file
vim /opt/Funambol/config/ca/inverse/sogo/security/SOGoOfficer.xml
<?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>localhost</string> </void> <void property="port"> <string>20000</string> </void> </object> </java>
Funambol Client Configuration
The URL for accessing the Funambol server is:
http://<server_domain_name>:8080/funambol/ds
To connect to the SOGO Funambol sync items use:
- Contacts: sogo-card
- Calendar: sogo-cal
- Tasks: sogo-todo
To connect to the generic Funambol sync items use:
- Contacts: card
- Calendar: event
- Tasks: task