Funambol: Difference between revisions

From WickyWiki
Line 326: Line 326:


Just install the Funambol client on your device and sync
Just install the Funambol client on your device and sync
== Configure e-mail ==


== Remove funambol ==
== Remove funambol ==


Just remove the folder /opt/Funambol
Just remove the folder /opt/Funambol

Revision as of 19:29, 20 October 2011

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

  1. login to "localhost" with user "admin" and default password "sa"
  2. expand the tree on the left
  3. double click on "Users"
  4. click "search"
  5. select the line of the admin user
  6. click "edit"
  7. change the password and confirm
  8. save
  9. 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

  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
  3. 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

Configure e-mail

Remove funambol

Just remove the folder /opt/Funambol