Funambol: Difference between revisions

From WickyWiki
No edit summary
Line 4: Line 4:


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.
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:
In this text:
* "myserver.org" is the machine we are installing, it can also be an IP address or "localhost"
* "myserver.org" is the machine we are installing, it can also be an IP address or "localhost"


== Installation ==
== Installation ==


The following installer installs in /opt/Funambol
The following installer installs in /opt/Funambol
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo ./funambol-10.0.3-x64.bin
sudo ./funambol-10.0.3-x64.bin
Line 17: Line 19:


Start Fundambol administrator console (Java)
Start Fundambol administrator console (Java)
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo /opt/Funambol/admin/bin/funamboladmin
sudo /opt/Funambol/admin/bin/funamboladmin
</syntaxhighlight>
</syntaxhighlight>


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


To be able to access Funambol through a secure SSL connection you need to [[Create a Tomcat self-signed certificate]]
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
<syntaxhighlight lang=bash>
sudo keytool -genkey -alias tomcat -keyalg RSA -keystore /etc/ssl/private/myserver_org.keystore
</syntaxhighlight>
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:
Configure Funambol to use your cerificate:
Line 58: Line 45:


<syntaxhighlight lang=xml>
<syntaxhighlight lang=xml>
<!-- 20111008 wjv Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
  ...
<Connector  
  <!-- 20111008 wjv Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
port="8443" maxThreads="200"
  <Connector  
scheme="https" secure="true" SSLEnabled="true"
    port="8443" maxThreads="200"
keystoreFile="/etc/ssl/private/wilbertvolkers.dyndns.org.keystore" keystorePass="changeit"
    scheme="https" secure="true" SSLEnabled="true"
clientAuth="false" sslProtocol="TLS" />
    keystoreFile="/etc/ssl/private/wilbertvolkers.dyndns.org.keystore" keystorePass="changeit"
    clientAuth="false" sslProtocol="TLS" />
  ...
</syntaxhighlight>
</syntaxhighlight>


Configure auto startup
Configure auto startup
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo cp /opt/Funambol/bin/funambol /opt/Funambol/bin/funambol.original
sudo cp /opt/Funambol/bin/funambol /opt/Funambol/bin/funambol.original
Line 72: Line 62:
</syntaxhighlight>
</syntaxhighlight>


edit funambol to point to fixed path, typically /opt/Funambol
Edit funambol to point to fixed path, typically /opt/Funambol
 
<syntaxhighlight lang=bash>
...
...
#cd `dirname $0`
#cd `dirname $0`
FUNAMBOL_HOME=`(cd /opt/Funambol ; pwd)`
FUNAMBOL_HOME=`(cd /opt/Funambol ; pwd)`
...
...
</syntaxhighlight>
Create startup in the deamons folders


create startup in the deamons folders
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo cp /opt/Funambol/bin/funambol /etc/init.d/funambol
sudo cp /opt/Funambol/bin/funambol /etc/init.d/funambol
Line 84: Line 78:
</syntaxhighlight>
</syntaxhighlight>


start/stop manually
Start/stop manually
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo /opt/Funambol/bin/funambol stop
sudo /opt/Funambol/bin/funambol stop
Line 91: Line 86:


== sync with outlook ==
== sync with outlook ==
download and install funambol windows outlook client


user sync URL: https://myserver.org:8443/funambol/ds
Download and install funambol windows outlook client
 
User sync URL: https://myserver.org:8443/funambol/ds


== sync with linux evolution ==
== Sync with linux evolution ==


NB: only managed to get this to work with a local, non SSL address like http://localhost:8080/funambol/ds
NB: only managed to get this to work with a local, non SSL address like http://localhost:8080/funambol/ds
Line 104: Line 100:
</syntaxhighlight>
</syntaxhighlight>


create a sync connection
Create a sync connection


1. with funamboladmin create a User
# with funamboladmin create a User
2. try sync with sync-ui (it will fail)
# 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
# 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 sync-ui


== sync with windows thunderbird + lightning ==
== sync with windows thunderbird + lightning ==
Line 116: Line 112:


add hotmail/yahoo email accounts
add hotmail/yahoo email accounts
1. with funamboladmin create a User
# with funamboladmin create a User
2. go to Modules, email, FunambolEmailConnector
# go to Modules, email, FunambolEmailConnector
2. section account, Add and configure, with Cache you can see if emails are retrieved
# section account, Add and configure, with Cache you can see if emails are retrieved
 
== Sync with windows mobile ==


== sync with windows mobile ==
== MySQL for funambol ==


== mySQL for funambol ==
http://wiki.contribs.org/Funambol


#http://wiki.contribs.org/Funambol
<syntaxhighlight lang=bash>
#mysql jdbc driver
#mysql jdbc driver
<syntaxhighlight lang=bash>
sudo apt-get install libmysql-java
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/jre-1.6.0/jre/
Line 135: Line 132:
</syntaxhighlight>
</syntaxhighlight>


#(todo do we need this?) install funambol connector
(todo do we need this?) install funambol connector
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo -i
sudo -i
Line 143: Line 141:
</syntaxhighlight>
</syntaxhighlight>


#disable hypersonic, modify
Disable hypersonic, modify
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo gedit /opt/Funambol/bin/funambol
sudo gedit /opt/Funambol/bin/funambol
</syntaxhighlight>
</syntaxhighlight>
#20111011 wjv disabled hypersonic
 
COMED=false
<syntaxhighlight lang=bash>
#20111011 wjv disabled hypersonic
COMED=false
</syntaxhighlight>


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 154: Line 156:
sudo gedit /opt/Funambol/ds-server/install.properties
sudo gedit /opt/Funambol/ds-server/install.properties
</syntaxhighlight>
</syntaxhighlight>
...
 
#20111014 wjv selected mysql as database
<syntaxhighlight lang=bash>
dbms=mysql
...
...
#20111014 wjv selected mysql as database
#20111014 wjv selected mysql as database
dbms=mysql
jdbc.classpath=/usr/share/java/mysql-connector-java.jar
...
jdbc.driver=com.mysql.jdbc.Driver
#20111014 wjv selected mysql as database
jdbc.url=jdbc:mysql://localhost/funambol
jdbc.classpath=/usr/share/java/mysql-connector-java.jar
jdbc.user=funambol
jdbc.driver=com.mysql.jdbc.Driver
jdbc.password=qw21YaUv
jdbc.url=jdbc:mysql://localhost/funambol
...
jdbc.user=funambol
jdbc.password=qw21YaUv
...
</syntaxhighlight>
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo cp /opt/Funambol/config/com/funambol/server/db/db.xml /opt/Funambol/config/com/funambol/server/db/db.xml.original
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
sudo gedit /opt/Funambol/config/com/funambol/server/db/db.xml
</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang=xml>
<syntaxhighlight lang=xml>
<!-- 20111011 wjc selected postgresql as database -->
<!-- 20111011 wjc selected postgresql as database -->
Line 186: Line 193:
</syntaxhighlight>
</syntaxhighlight>


#create db and user
Create db and user
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo mysqladmin create funambol --default-character-set=utf8
sudo mysqladmin create funambol --default-character-set=utf8
Line 193: Line 201:
</syntaxhighlight>
</syntaxhighlight>


#create database, type 'y' until done, try again if it stops on an error
Create database, type 'y' until done, try again if it stops on an error
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
cd /opt/Funambol
cd /opt/Funambol
Line 199: Line 208:
</syntaxhighlight>
</syntaxhighlight>


-- PostgreSQL for funambol
== PostgreSQL for funambol ==
 
Postgresql jdbc driver
*http://wiki.contribs.org/Funambol
*http://www.receptiveit.com.au/mediawiki/index.php/Ubuntu:_Groupware_with_SOGo


#postgresql jdbc driver
# http://wiki.contribs.org/Funambol
# http://www.receptiveit.com.au/mediawiki/index.php/Ubuntu:_Groupware_with_SOGo
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo apt-get install libpg-java
sudo apt-get install libpg-java
Line 209: Line 219:
sudo ln -s /usr/share/java/postgresql.jar /opt/Funambol/pim-listener/lib/
sudo ln -s /usr/share/java/postgresql.jar /opt/Funambol/pim-listener/lib/
</syntaxhighlight>
</syntaxhighlight>
#install funambol connector
 
Install funambol connector
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo -i
sudo -i
Line 217: Line 229:
</syntaxhighlight>
</syntaxhighlight>


#create database
Create database
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
su postgres -c psql
su postgres -c psql
</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang=sql>
<syntaxhighlight lang=sql>
CREATE USER funambol WITH PASSWORD 'q***';
CREATE USER funambol WITH PASSWORD 'q***';
Line 228: Line 242:
GRANT ALL PRIVILEGES ON DATABASE funambol TO funambol;
GRANT ALL PRIVILEGES ON DATABASE funambol TO funambol;
#workaround (manual):
#workaround (manual):
CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
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;
CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT;
\q
\q
</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo gedit /var/lib/postgresql/data/pg_hba.conf
sudo gedit /var/lib/postgresql/data/pg_hba.conf
</syntaxhighlight>
</syntaxhighlight>
#20111011 wjv add:
 
20111011 wjv add:
host    funambol    funambol    127.0.0.1/32          md5
host    funambol    funambol    127.0.0.1/32          md5
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo /etc/init.d/postgresql restart
sudo /etc/init.d/postgresql restart
</syntaxhighlight>
</syntaxhighlight>
#test access to this user
 
test access to this user
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
psql -h 127.0.0.1 -d funambol -U funambol -W
psql -h 127.0.0.1 -d funambol -U funambol -W
Line 246: Line 266:
</syntaxhighlight>
</syntaxhighlight>


#disable hypersonic, modify
Disable hypersonic, modify
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo gedit /opt/Funambol/bin/funambol
sudo gedit /opt/Funambol/bin/funambol
</syntaxhighlight>
</syntaxhighlight>
#20111011 wjv disabled hypersonic
 
COMED=false
</syntaxhighlight>
#20111011 wjv disabled hypersonic
COMED=false
<syntaxhighlight lang=bash>


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 257: Line 281:
sudo gedit /opt/Funambol/ds-server/install.properties
sudo gedit /opt/Funambol/ds-server/install.properties
</syntaxhighlight>
</syntaxhighlight>
...
 
#20111011 wjv selected postgresql as database
<syntaxhighlight lang=bash>
dbms=postgresql
...
...
#20111011 wjv selected postgresql as database
#20111011 wjv selected postgresql as database
dbms=postgresql
jdbc.classpath=/usr/share/java/postgresql.jar
...
jdbc.driver=org.postgresql.Driver
#20111011 wjv selected postgresql as database
jdbc.url=jdbc:postgresql://localhost/funambol
jdbc.classpath=/usr/share/java/postgresql.jar
jdbc.user=funambol
jdbc.driver=org.postgresql.Driver
jdbc.password=q***
jdbc.url=jdbc:postgresql://localhost/funambol
...
jdbc.user=funambol
jdbc.password=q***
...
</syntaxhighlight>


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 273: Line 300:
sudo gedit /opt/Funambol/config/com/funambol/server/db/db.xml
sudo gedit /opt/Funambol/config/com/funambol/server/db/db.xml
</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang=xml>
<!-- 20111011 wjc selected postgresql as database -->
<!-- 20111011 wjc selected postgresql as database -->
...
...
Line 287: Line 316:
<string>q***</string>
<string>q***</string>
...
...
</syntaxhighlight>
Create database, type y until done, try again if it stops on an error


#create database, type y until done, try again if it stops on an error
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
cd /opt/Funambol
cd /opt/Funambol
Line 294: Line 325:
</syntaxhighlight>
</syntaxhighlight>


----------- remove funambol
== Remove funambol ==


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

Revision as of 18:59, 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

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

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/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

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
  3. 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
<!-- 20111011 wjc 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 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

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

</syntaxhighlight>

#20111011 wjv disabled hypersonic
COMED=false

<syntaxhighlight lang=bash>
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 wjc 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

Remove funambol

Just remove the folder /opt/Funambol