Changes

Jump to navigation Jump to search
1,083 bytes added ,  01:53, 10 November 2010
Line 1: Line 1:  
{{Needs review}}
 
{{Needs review}}
{{Note box|This HOWTO is still under development. Please feel free to comment / edit / update.}}
   
{{Level|Advanced}}
 
{{Level|Advanced}}
 
== Introduction ==  
 
== Introduction ==  
 +
The Funambol middleware allows you to synchronize mobile devices with [http://wiki.contribs.org/Sogo SOGo] through the
 +
use of the Funambol [http://wiki.contribs.org/Sogo SOGo] Connector. The connector allows any SyncML enabled devices to
 +
fully synchronize contacts, events and tasks with [http://wiki.contribs.org/Sogo SOGo].
   −
This is a very preliminary writeup on the installation of Funambol on an SME8b5 installation for use with [[Sogo]]
+
This HOWTO describes the installation procedure for installing Funambol with the [http://wiki.contribs.org/Sogo SOGo] Connector on an SME8b5 installation.
 
  −
Use only for testing on non production machines and when you find an error, please correct it right here :-)
      
== Download & Install Funambol ==
 
== Download & Install Funambol ==
   
Goto https://www.forge.funambol.org/DomainHome.html
 
Goto https://www.forge.funambol.org/DomainHome.html
to download Funambol 8.0. The latest GNU/Linux 32bit funambol server is 8.5, but this has not been confirmed yet for use with SOGO.
+
to download Funambol 8.5. The latest GNU/Linux 32bit funambol server is 8.7, but this has not been confirmed yet for use with SOGO.
   −
  wget http://download.forge.objectweb.org/sync4j/funambol-8.0.2.bin
+
  wget http://download.forge.objectweb.org/sync4j/funambol-8.5.2.bin
    
Run the binary to install:
 
Run the binary to install:
   −
  chmod +x funambol-8.0.2.bin
+
  chmod +x funambol-8.5.2.bin
  ./funambol-8.0.2.bin
+
  ./funambol-8.5.2.bin
    
Agree on the licence terms and accept '''/opt''' as the directory to extract Funambol. This will install it in:
 
Agree on the licence terms and accept '''/opt''' as the directory to extract Funambol. This will install it in:
Line 26: Line 25:  
At the end of the install, answer '''NO''' on the question if you want to start the server.
 
At the end of the install, answer '''NO''' on the question if you want to start the server.
   −
== Download Apache Commons components ==
+
== Setup Funambol to use MySQL ==
The Funambol SOGo Connector also requires Apache commons collections (v3.2.1), confguration (v1.6), logging (v1.1), lang (v2.4) and the JSON.simple package. The following subsections have the command required to download and insert the .jar files into the Funambol installation.
  −
 
  −
These components can be downloaded from here:
  −
 
  −
http://commons.apache.org/
  −
 
  −
and are copied into 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
  −
unzip commons-collections-3.2.1-bin.zip
  −
cp -p commons-collections-3.2.1/commons-collections-3.2.1.jar /opt/Funambol/tools/tomcat/lib/
  −
rm -rf commons-collections-3.2.1
  −
 
  −
=== confguration (v1.6) ===
  −
wget http://www.apache.org/dist/commons/configuration/binaries/commons-configuration-1.6.zip
  −
unzip commons-configuration-1.6.zip
  −
cp -p commons-configuration-1.6/commons-configuration-1.6.jar /opt/Funambol/tools/tomcat/lib/
  −
rm -rf  commons-configuration-1.6
     −
=== logging (v1.1) ===
+
=== Download & Configure MySQL JDBC driver ===
wget http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.1.1-bin.zip
+
Funambol by installation defaults to use the Hypersonic DB engine, but [http://wiki.contribs.org/Sogo SOGo] uses MySQL and for Funambol to access the [http://wiki.contribs.org/Sogo SOGo] databases it needs to be setup to also use MySQL for the Funambol database.
unzip commons-logging-1.1.1-bin.zip
  −
cp -p commons-logging-1.1.1/commons-logging-1.1.1.jar /opt/Funambol/tools/tomcat/lib/
  −
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
  −
unzip commons-lang-2.5-bin.zip
  −
cp -p commons-lang-2.5/commons-lang-2.5.jar /opt/Funambol/tools/tomcat/lib/
  −
rm -rf commons-lang-2.5
  −
 
  −
=== json-simple ===
  −
wget http://json-simple.googlecode.com/files/json_simple.jar
  −
cp json_simple.jar /opt/Funambol/tools/tomcat/lib/
  −
 
  −
== Download & Configure Funambol SOGO Connector ==
  −
Check here: http://www.scalableogo.org/english/downloads/backend.html for the latest version of the
  −
'''Funambol SOGo Connector'''
  −
 
  −
wget http://www.scalableogo.org/uploads/Funambol/funambol-sogo-1.0.7.s4j
  −
cp funambol-sogo-1.0.7.s4j /opt/Funambol/ds-server/modules
  −
 
  −
Then, open the '''/opt/Funambol/ds-server/install.properties''' file
  −
 
  −
vim /opt/Funambol/ds-server/install.properties
  −
 
  −
and add '''funambol-sogo-1.0.7''' at the end of the "modules-to-install" line.
  −
 
  −
== Download & Configure MySQL JDBC driver ==
  −
Funambol by installation defaults to use the Hypersonic DB engine, but SOGO requires the use of MySQL.
      
Goto http://dev.mysql.com/downloads/connector/j/5.0.html to download the JDBC driver for MySQL. The current version is '''mysql-connector-java-5.0.8.zip'''.
 
Goto http://dev.mysql.com/downloads/connector/j/5.0.html to download the JDBC driver for MySQL. The current version is '''mysql-connector-java-5.0.8.zip'''.
Line 101: Line 50:  
  dbms=mysql
 
  dbms=mysql
   −
Comment out the  existing jdbc driver for Hypersonic and add the MySQL:
+
Comment out the  existing jdbc driver for Hypersonic and add the MySQL connection information:
    
  # MySQL
 
  # MySQL
Line 111: Line 60:  
  jdbc.password=yourpassword
 
  jdbc.password=yourpassword
   −
== Reconfigure MySQL for InnoDB and access from the local network ==
+
=== Reconfigure MySQL for InnoDB and access from the local network ===
 
+
Funambol uses MySQL with the InnoDB engine and uses networking for access.
Funambol uses MySQL wit the InnoDB engine and uses networking for access.
      
  /sbin/e-smith/config setprop mysqld InnoDB enabled
 
  /sbin/e-smith/config setprop mysqld InnoDB enabled
Line 120: Line 68:  
  /etc/rc.d/rc7.d/S50mysqld restart
 
  /etc/rc.d/rc7.d/S50mysqld restart
   −
== Creating MYSQL user and database ==
+
=== Creating MYSQL user and database ===
 
   
To create the Funambol Database, you'll need to perform each of the following steps:  
 
To create the Funambol Database, you'll need to perform each of the following steps:  
   
  mysqladmin create funambol --default-character-set=utf8
 
  mysqladmin create funambol --default-character-set=utf8
 
  mysql -e "grant all privileges on funambol.* to funambol@localhost identified by 'yourpassword'"
 
  mysql -e "grant all privileges on funambol.* to funambol@localhost identified by 'yourpassword'"
 
  mysql -e "flush privileges"
 
  mysql -e "flush privileges"
   
{{Warning box|You may wish to alter the "funambol" and "yourpassword" information in the grant privileges line above. Be sure to configure it correctly in '''/opt/Funambol/ds-server/install.properties''' !}}
 
{{Warning box|You may wish to alter the "funambol" and "yourpassword" information in the grant privileges line above. Be sure to configure it correctly in '''/opt/Funambol/ds-server/install.properties''' !}}
    
== Disable Hypersonic JDBC driver ==
 
== Disable Hypersonic JDBC driver ==
   
Edit '''/opt/Funambol/bin/funambol''' and change '''COMED=true''' to '''COMED=false''' somewhere around line 44.
 
Edit '''/opt/Funambol/bin/funambol''' and change '''COMED=true''' to '''COMED=false''' somewhere around line 44.
   Line 139: Line 83:     
== Create Funambol user and group ==
 
== Create Funambol user and group ==
   
  groupadd funambol
 
  groupadd funambol
 
  useradd -g funambol -d /opt/Funambol funambol
 
  useradd -g funambol -d /opt/Funambol funambol
Line 145: Line 88:     
== Set Funambol to start on system startup ==
 
== Set Funambol to start on system startup ==
   
To make Funambol start automagically, create
 
To make Funambol start automagically, create
   Line 186: Line 128:  
  ln -s /etc/init.d/funambol /etc/rc.d/rc0.d/K02funambol
 
  ln -s /etc/init.d/funambol /etc/rc.d/rc0.d/K02funambol
   −
== Install Modules in Funambol ==
+
== Add the SOGo Connector ==
 +
''At this stage the core Funambol installation is complete with the exception of the creation of the Funambol database tables. The sections below add the [http://wiki.contribs.org/Sogo SOGo] parts before doing so.''
 +
 
 +
=== Apache Commons Components ===
 +
The Funambol [http://wiki.contribs.org/Sogo SOGo] Connector requires Apache commons collections (v3.2.1), confguration (v1.6), logging (v1.1), lang (v2.4) and the JSON.simple package. The following subsections have the command required to download and insert the .jar files into the Funambol installation.
 +
 
 +
These components can be downloaded from here:
 +
 
 +
http://commons.apache.org/
 +
 
 +
and are copied into 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
 +
unzip commons-collections-3.2.1-bin.zip
 +
cp -p commons-collections-3.2.1/commons-collections-3.2.1.jar /opt/Funambol/tools/tomcat/lib/
 +
rm -rf commons-collections-3.2.1
 +
 
 +
==== confguration (v1.6) ====
 +
wget http://www.apache.org/dist/commons/configuration/binaries/commons-configuration-1.6.zip
 +
unzip commons-configuration-1.6.zip
 +
cp -p commons-configuration-1.6/commons-configuration-1.6.jar /opt/Funambol/tools/tomcat/lib/
 +
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
 +
unzip commons-logging-1.1.1-bin.zip
 +
cp -p commons-logging-1.1.1/commons-logging-1.1.1.jar /opt/Funambol/tools/tomcat/lib/
 +
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
 +
unzip commons-lang-2.5-bin.zip
 +
cp -p commons-lang-2.5/commons-lang-2.5.jar /opt/Funambol/tools/tomcat/lib/
 +
rm -rf commons-lang-2.5
 +
 
 +
==== json-simple ====
 +
wget http://json-simple.googlecode.com/files/json_simple.jar
 +
cp json_simple.jar /opt/Funambol/tools/tomcat/lib/
 +
 
 +
=== Download & Configure Funambol [http://wiki.contribs.org/Sogo SOGo] Connector ===
 +
Check here: http://www.sogo.nu/english/downloads/backend.html for the latest version of the
 +
'''Funambol SOGo Connector'''
   −
Next, install the Funambol SOGo Connector within Funambol server by issuing the following commands :
+
wget http://www.sogo.nu/uploads/Funambol/funambol-sogo-1.0.8.s4j
 +
cp funambol-sogo-1.0.8.s4j /opt/Funambol/ds-server/modules
 +
 
 +
Then, open the '''/opt/Funambol/ds-server/install.properties''' file
 +
 
 +
vim /opt/Funambol/ds-server/install.properties
 +
 
 +
and add '''funambol-sogo-1.0.8''' at the end of the "modules-to-install" line.
 +
 
 +
== Install Modules and Create Funambol Database Tables ==
 +
 
 +
With Funambol ready to go and the SOGo modules in place, Funambol needs to be configured and the database tables created by issuing the following commands :
    
  cd /opt/Funambol/
 
  cd /opt/Funambol/
Line 195: Line 192:  
Answer 'yes' to all questions.
 
Answer 'yes' to all questions.
   −
Once complete, update file ownerships for all files in the '''/opt/Funambol''' tree
+
Once complete, update file ownerships for all files in the '''/opt/Funambol''' tree (''the install creates a couple of configuration and log files in the /opt/Funambiol tree''):
    
  chown -R funambol:funambol /opt/Funambol/
 
  chown -R funambol:funambol /opt/Funambol/
Line 203: Line 200:  
  /etc/init.d/funambol start
 
  /etc/init.d/funambol start
   −
and have a quick look if it is running correctly by accessing the web page on:
+
== Verify Funambol Installation ==
   −
  http://<server_domain_name>:8080
+
Have a quick look if Funambol is running correctly by accessing the web page on:
 +
 
 +
  http://<server_domain_name>:8080/funambol/ds
 +
 
 +
if the server is running, a web page with Funambol Data Synchronization Service information will appear.
    
== Change Funambol Admin Password ==
 
== Change Funambol Admin Password ==
Line 236: Line 237:  
{{Note box|TODO: setup apache to proxy the funambol port.}}
 
{{Note box|TODO: setup apache to proxy the funambol port.}}
   −
== SOGO Sync Sources ==
+
== Create SOGo Sync Sources ==
 
The SOGo-Funambol documentation describes how to create the '''sogo-cal''', '''sogo-card''' and '''sogo-todo''' sync sources through the Funambol administration tool. There are Windows versions of this tool that can be run from a PC and connect to the Funambol server we just installed.
 
The SOGo-Funambol documentation describes how to create the '''sogo-cal''', '''sogo-card''' and '''sogo-todo''' sync sources through the Funambol administration tool. There are Windows versions of this tool that can be run from a PC and connect to the Funambol server we just installed.
   −
However, the commands below emulate this process and creates entries in the funambol database and the sections below create templated versions of the required XML files, as this allows the SOGo database password to be inserted into these XML files.
+
However, the commands below emulate this process and creates entries in the funambol database and the sections below create templated versions of the required XML files, as this allows the [http://wiki.contribs.org/Sogo SOGo] database password to be inserted into these XML files.
   −
The commands below inserts the required entries into the funambol database. Then create and expand the template files as described below to complete the configuration.
+
The section below inserts the required entries into the funambol database. The next sections create and expand the template files as needed to complete the configuration for [http://wiki.contribs.org/Sogo SOGo].
    
=== Create Funambol Database Sync Source Entries ===
 
=== Create Funambol Database Sync Source Entries ===
Line 471: Line 472:  
* Funambol Documentation: https://www.forge.funambol.org/download/documentation.html
 
* Funambol Documentation: https://www.forge.funambol.org/download/documentation.html
 
* SOGo Documentation: http://www.sogo.nu/english/downloads/documentation.html
 
* SOGo Documentation: http://www.sogo.nu/english/downloads/documentation.html
  −
      
----
 
----
 
[[Category: Howto]]
 
[[Category: Howto]]
374

edits

Navigation menu