Funambol

From WickyWiki
Revision as of 16:01, 20 October 2011 by 192.168.1.8 (talk)

Homepage: https://www.forge.funambol.org

Funambol is a synchronisation server for e-mail, contacts, calendar, tasks and notes. You can synchronize various software and devices, configure push e-mail for mobiles etc. Although there is a "webdemo" to view some of the data, it not meant as a webinterface to these. You will need other software and devices for this.

In this text:

  • "myserver.org" is the machine we are installing, it can also be an IP address or "localhost"


Installation

The following installer installs in /opt/Funambol

sudo ./funambol-10.0.3-x64.bin

Start Fundambol administrator console (Java)

sudo /opt/Funambol/admin/bin/funamboladmin

With funamboladmin, configure the "admin" password, default password is "sa"

login to "localhost" with user "admin" and default password "sa"
expand the tree on the left
double click on "Users"
click "search"
select the line of the admin user
click "edit"
change the password and confirm
save
close funamboladmin

To be able to access Funambol through a secure SSL connection you need to Create a Tomcat self-signed certificate

Source: http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

sudo keytool -genkey -alias tomcat -keyalg RSA -keystore /etc/ssl/private/myserver_org.keystore

enter sudo pwd
enter new keystore password (changeit)
reenter
first and last name (myserver.org)
departement
organisation
city
province
countrycode
key password for tomcat (changeit)

Configure Funambol to use your cerificate:

sudo gedit /opt/Funambol/tools/tomcat/conf/server.xml
<Connector 
      port="8443" maxThreads="200"
      scheme="https" secure="true" SSLEnabled="true"
      keystoreFile="/etc/ssl/private/wilbertvolkers.dyndns.org.keystore" keystorePass="changeit"
      clientAuth="false" sslProtocol="TLS" />

Configure auto startup

sudo cp /opt/Funambol/bin/funambol /opt/Funambol/bin/funambol.original
sudo gedit /opt/Funambol/bin/funambol

edit funambol to point to fixed path, typically /opt/Funambol

...
#cd `dirname $0`
FUNAMBOL_HOME=`(cd /opt/Funambol ; pwd)`
...

create startup in the deamons folders

sudo cp /opt/Funambol/bin/funambol /etc/init.d/funambol
sudo update-rc.d -f funambol defaults

start/stop manually

sudo /opt/Funambol/bin/funambol stop
sudo /opt/Funambol/bin/funambol start

sync with outlook

  1. download and install funambol windows outlook client

user sync URL: https://myserver.org:8443/funambol/ds

sync with linux evolution

NB: only managed to get this to work with a local, non SSL address like http://localhost:8080/funambol/ds

sudo apt-get install syncevolution sync-ui
sync-ui

create a sync connection

1. with funamboladmin create a User
2. try sync with sync-ui (it will fail)
3. with funamboladmin you will se that an 'Evolution' Device is added, pair this device and the User as a new Principal
4. sync with sync-ui

sync with windows thunderbird + lightning

NB: didnt see the contact pictures

add hotmail/yahoo email accounts

1. with funamboladmin create a User
2. go to Modules, email, FunambolEmailConnector
2. section account, Add and configure, with Cache you can see if emails are retrieved

sync with windows mobile

mySQL for funambol

#http://wiki.contribs.org/Funambol #mysql jdbc driver sudo apt-get install libmysql-java

   sudo ln -s /usr/share/java/mysql-connector-java.jar /opt/Funambol/tools/jre-1.6.0/jre/
   sudo ln -s /usr/share/java/mysql-connector-java.jar /opt/Funambol/tools/tomcat/lib/

sudo ln -s /usr/share/java/mysql-connector-java.jar /opt/Funambol/pim-listener/lib/ sudo ln -s /usr/share/java/mysql-connector-java.jar /opt/Funambol/inbox-listener/lib/ sudo ln -s /usr/share/java/mysql-connector-java.jar /opt/Funambol/ox-listener/lib/

#(todo do we need this?) install funambol connector sudo -i cd /opt/Funambol/tools/tomcat/lib/ wget http://json-simple.googlecode.com/files/json_simple-1.1.jar exit

#disable hypersonic, modify sudo gedit /opt/Funambol/bin/funambol #20111011 wjv disabled hypersonic COMED=false

sudo cp /opt/Funambol/ds-server/install.properties /opt/Funambol/ds-server/install.properties.original sudo gedit /opt/Funambol/ds-server/install.properties ... #20111014 wjv selected mysql as database dbms=mysql ... #20111014 wjv selected mysql as database jdbc.classpath=/usr/share/java/mysql-connector-java.jar jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost/funambol jdbc.user=funambol jdbc.password=qw21YaUv ... sudo cp /opt/Funambol/config/com/funambol/server/db/db.xml /opt/Funambol/config/com/funambol/server/db/db.xml.original sudo gedit /opt/Funambol/config/com/funambol/server/db/db.xml ... <string>url</string> <string>jdbc:mysql://localhost/funambol</string> ... <string>driverClassName</string> <string>org.mysql.Driver</string> ... <string>username</string> <string>funambol</string> ... <string>password</string> <string>q***</string> ...

#create db and user sudo mysqladmin create funambol --default-character-set=utf8 sudo mysql -e "grant all privileges on funambol.* to funambol@localhost identified by 'q***'" sudo mysql -e "flush privileges"

#create database, type 'y' until done, try again if it stops on an error cd /opt/Funambol sudo ./bin/install

-- PostgreSQL for funambol

#postgresql jdbc driver # http://wiki.contribs.org/Funambol # http://www.receptiveit.com.au/mediawiki/index.php/Ubuntu:_Groupware_with_SOGo sudo apt-get install libpg-java

   sudo ln -s /usr/share/java/postgresql.jar /opt/Funambol/tools/tomcat/lib/

sudo ln -s /usr/share/java/postgresql.jar /opt/Funambol/pim-listener/lib/ #install funambol connector sudo -i cd /opt/Funambol/tools/tomcat/lib/ wget http://json-simple.googlecode.com/files/json_simple-1.1.jar exit

#create database su postgres -c psql CREATE USER funambol WITH PASSWORD 'q***'; ALTER USER funambol VALID UNTIL 'infinity'; ALTER USER funambol NOCREATEDB NOCREATEUSER; CREATE DATABASE funambol; GRANT ALL PRIVILEGES ON DATABASE funambol TO funambol; #workaround (manual): CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));'; CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT; \q sudo gedit /var/lib/postgresql/data/pg_hba.conf #20111011 wjv add: host funambol funambol 127.0.0.1/32 md5 sudo /etc/init.d/postgresql restart #test access to this user psql -h 127.0.0.1 -d funambol -U funambol -W \q

#disable hypersonic, modify sudo gedit /opt/Funambol/bin/funambol #20111011 wjv disabled hypersonic COMED=false

sudo cp /opt/Funambol/ds-server/install.properties /opt/Funambol/ds-server/install.properties.original sudo gedit /opt/Funambol/ds-server/install.properties ... #20111011 wjv selected postgresql as database dbms=postgresql ... #20111011 wjv selected postgresql as database jdbc.classpath=/usr/share/java/postgresql.jar jdbc.driver=org.postgresql.Driver jdbc.url=jdbc:postgresql://localhost/funambol jdbc.user=funambol jdbc.password=q*** ... sudo cp /opt/Funambol/config/com/funambol/server/db/db.xml /opt/Funambol/config/com/funambol/server/db/db.xml.original sudo gedit /opt/Funambol/config/com/funambol/server/db/db.xml ... <string>url</string> <string>jdbc:postgresql://localhost/funambol</string> ... <string>driverClassName</string> <string>org.postgresql.Driver</string> ... <string>username</string> <string>funambol</string> ... <string>password</string> <string>q***</string> ...

#create database, type y until done, try again if it stops on an error cd /opt/Funambol sudo ./bin/install


remove funambol

  1. remove the folder /opt/Funambol