Funambol: Difference between revisions
No edit summary |
m 104 revisions |
||
| (One intermediate revision by one other user not shown) | |||
| Line 1: | Line 1: | ||
[[Category:201110]] | [[Category:201110]] | ||
[[Category:Ubuntu]] | [[Category:Ubuntu]] | ||
[[Category:Guide]] | [[Category:Ubuntu Guide]] | ||
[[Category:Groupware]] | [[Category:Groupware]] | ||
Homepage: https://www.forge.funambol.org | Homepage: https://www.forge.funambol.org | ||
Latest revision as of 07:21, 5 July 2013
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 "webdemo" can be used to view some of the data, it not meant as an application. You will need other software and devices for this, such as SOGo.
Introduction
In this text:
- "wilbertvolkers.dyndns.org" is the dns of the machine we are installing, it can also be an IP address or "localhost"
- passwords are denoted like **funambol-database-pwd**. so you can keep track of different passwords
Installation
The following installer installs Funambol default in path /opt/Funambol. Accept the agreement by keeping ENTER down and type yes to agree:
sudo ./funambol-10.0.3-x64.bin
When asked, do not start the server yet.
Database
MySQL
http://wiki.contribs.org/Funambol
JDBC driver
The JDBC driver should be available in a number of directories.
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/
Select MySQL database
Disable hypersonic database:
sudo gedit /opt/Funambol/bin/funambol
... #20111011 wjv disabled hypersonic COMED=false ...
Backup:
sudo cp /opt/Funambol/ds-server/install.properties /opt/Funambol/ds-server/install.properties.backup sudo cp /opt/Funambol/config/com/funambol/server/db/db.xml /opt/Funambol/config/com/funambol/server/db/db.xml.backup
Edit:
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=**funambol-database-pwd** ...
Edit:
sudo gedit /opt/Funambol/config/com/funambol/server/db/db.xml
<!-- 20111011 wjv selected mysql 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>**funambol-database-pwd**</string> ...
Create database and user
For these lines an MySQL root password (**mysql-root-pwd**) needs to be configured. Type the **mysql-root-pwd** when required:
sudo mysql -u root mysql -p
CREATE DATABASE `funambol` CHARACTER SET='utf8'; grant all privileges on funambol.* to funambol@localhost identified by '**funambol-database-pwd**' FLUSH PRIVILEGES; \q
Create database, type 'y' until you see BUILD SUCCESSFUL:
cd /opt/Funambol sudo ./bin/install
PostgreSQL
JDBC driver
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 '**funambol-database-pwd**'; 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
Select database
Disable hypersonic, modify
sudo gedit /opt/Funambol/bin/funambol
#20111011 wjv disabled hypersonic COMED=false
Backup:
sudo cp /opt/Funambol/ds-server/install.properties /opt/Funambol/ds-server/install.properties.backup sudo cp /opt/Funambol/config/com/funambol/server/db/db.xml /opt/Funambol/config/com/funambol/server/db/db.xml.backup
Edit:
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=**funambol-database-pwd** ...
Edit:
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>**funambol-database-pwd**</string> ...
Create database
Type y until done, try again if it stops on an error
cd /opt/Funambol sudo ./bin/install
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 to your **funambol-admin-pwd** 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/wilbertvolkers.dyndns.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 daemons 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
Access to the webdemo:
- URL (http): http://wilbertvolkers.dyndns.org:8080/funambol
- URL (https): https://wilbertvolkers.dyndns.org:8443/funambol
Configure logging
Start Fundambol administrator console.
sudo /opt/Funambol/admin/bin/funamboladmin
Under 'Server settings' -> 'Logging' -> 'Loggers' you can configure the log levels, I guess WARN is detailed enough. The INFO setting will get you loads of logging but might be more helpful solving a problem.
Under 'Server settings' -> 'Logging' -> 'Appenders' you can configure how the logfiles will grow. The default setting will allow logfiles of 100Mb, I changed this to 1Mb, which is more than I would like to traverse.
Synchronization
If you have problems try using the IP address with http first.
Sync with Microsoft Outlook
Download and install funambol windows outlook client
User sync URL: https://wilbertvolkers.dyndns.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
Note: didn't 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
Configure e-mail
You can get notifications on your mobile device (push service) when you have new e-mail. Yahoo has free IMAP capability so that is a nice one to use.
Yahoo
Incoming
- IMAP: imap.mail.yahoo.com (port 993 SSL)
- Authentication: Password
- Username: account@yahoo.com
- Password: account password
Outgoing
- SMTP: smtp.mail.yahoo.com (port 465 SSL/TLS)
- Authentication: Login
- Username: account@yahoo.com
- Password: account password
Google mail
Incoming
- IMAP - imap.gmail.com (port 993 SSL)
- Authentication: account password
Outgoing
- SMTP - smtp.gmail.com (port 465 SSL/TLS)
- Authentication: Login
- Login: account@gmail.com
- Password: account password
Hotmail
Note: Hotmail doesnt support free IMAP
Incoming
- POP3: pop3.live.com:995
- Security: SSL encryption
- Login: account@hotmail.com
- Authentication: account password
Outgoing
- SMTP Server: smtp.live.com:587
- Security: SSL/TLS encryption
- Authentication: Login
- Login: account@hotmail.com
- Password: account password
Remove funambol
Just remove the folder /opt/Funambol