Funambol
20111004, Ubuntu 11.04, Groupware
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.
Introduction
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
Configuration
Admin password
Start Fundambol administrator console (Java)
sudo /opt/Funambol/admin/bin/funamboladmin
With funamboladmin, change the default the "admin" password
- 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
Certificate
To be able to access Funambol through a secure SSL connection you need to Create a Tomcat self-signed certificate.
Configure Funambol to use your cerificate:
sudo gedit /opt/Funambol/tools/tomcat/conf/server.xml
... <!-- 20111008 wjv Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> <Connector port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/etc/ssl/private/myserver.org.keystore" keystorePass="changeit" clientAuth="false" sslProtocol="TLS" /> ...
Auto startup
sudo cp /opt/Funambol/bin/funambol /opt/Funambol/bin/funambol.original sudo gedit /opt/Funambol/bin/funambol
Edit funambol to point to a fixed path, in this case /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
Database
MySQL
http://wiki.contribs.org/Funambol
The JDBC driver should be accessible within a number of directories.
#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/
Disable hypersonic database
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
<!-- 20111011 wjv selected postgresql as database --> ... <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 database 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
Postgresql jdbc driver
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/
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 (see Funambol 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 this database 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
<!-- 20111011 wjv selected postgresql as database --> ... <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
Synchronization
Sync with outlook
Download and install funambol windows outlook client
User sync URL: https://myserver.org:8443/funambol/ds
Sync with 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
- with funamboladmin create a User
- try sync with sync-ui (it will fail)
- with funamboladmin you will se that an 'Evolution' Device is added, pair this device and the User as a new Principal
- sync with sync-ui
Sync with windows Thunderbird + lightning
NB: didnt see the contact pictures
add hotmail/yahoo email accounts
- with funamboladmin create a User
- go to Modules, email, FunambolEmailConnector
- section account, Add and configure, with Cache you can see if emails are retrieved
Sync with windows mobile
Just install the Funambol client on your device and sync
Remove funambol
Just remove the folder /opt/Funambol