funambol
This page is serving as the basis to help form a how-to guide to install the Funambol sync server on an Ubuntu server. It uses mod_jk instead of requiring an installation of Tomcat. It will be modified.
Data Synchronization Server Requirements
Dynamic DNS
Since most ISPs assign your local home computer with a Dynamic IP address, set it up with a local host name that is visible on the Internet. This can be done by following the directions located here:
https://help.ubuntu.com/community/DynamicDNS
LAMP Server
Either select LAMP server when installing the Ubuntu Server, or follow the instructions listed on the Server Guide:
https://help.ubuntu.com/<<insert Ubuntu Version Here>>/serverguide/C/index.html
X-Windows
While there are other methods to access an X-Windows environment on a head-less server, for the purposes of this guide, it is recommended to install an X-Windows environment.
* For the full-blown Ubuntu desktop environment:
root% apt-get install ubuntu-desktop
* For a light-weight version with similar software:
root% apt-get install xubunut-desktop
* Or for more advanced users, you can go with something like Fluxbox, etc...
Java
For ease and simplicity, it is recommended to set up the Medibuntu Repository
root% aptitude install ubuntu-restricted-extras
Web-based Server Administration Tool
While not a requirement, this is a useful tool when administering an Ubuntu Server remotely:
You can install either:WebMin or eBox
Configure Apache with mod_jk
The following is a modified version of the following documentation, specifically written for an Ubuntu Server
https://wiki.objectweb.org/sync4j/Wiki.jsp?page=UsingFunambolWithApache
Download modjk 1.2.x
- Download the latest package available from Tomcat connector page:
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
root% cd /usr/lib/apache2/modules/ root% wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.27/i386/mod_jk-1.2.27-httpd-2.2.6.so
- Rename the lib to mod_jk.so.
root% mv mod_jk-1.2.27-httpd-2.0.61.so mod_jk.so
Configure the modjk workers
- Under APACHE_HOME/conf, create workers.properties (available at the original site). See workers.properties configuration for more details about that file.
root% cd /etc/apache2 root% wget --no-check-certificate https://wiki.objectweb.org/sync4j/attach?page=UsingFunambolWithApache%2Fworkers.properties
- Rename file:
root% mv attach\?page\=UsingFunambolWithApache%2Fworkers.properties workers.properties
Configure the Apache URIs served by modjk (the applications served by JBoss/Tomcat)
- Create a uriworkermap.properties file in the APACHE_HOME/conf directory (see attached file).
root% cd /etc/apache2 root% wget --no-check-certificate https://wiki.objectweb.org/sync4j/attach?page=UsingFunambolWithApache%2Furiworkermap.properties
- Rename file:
root% mv attach\?page\=UsingFunambolWithApache%2Furiworkermap.properties uriworkermap.properties
Create the modjk config
- Under APACHE_HOME/conf, create mod-jk.conf (see attached file)
root% cd /etc/apache2/mods-available/ root% wget --no-check-certificate https://wiki.objectweb.org/sync4j/attach?page=UsingFunambolWithApache%2Fmod-jk.conf }} * Rename file: {{ root% mv attach\?page\=UsingFunambolWithApache%2Fmod-jk.conf mod-jk.conf
- Create a symlink from mods-available to mods-enabled
root% cd /etc/apache2/mods-enabled root% ln -s ../mods-available/mod-jk.conf mod-jk.conf lrwxrwxrwx 1 root root 29 2009-03-10 20:15 mod-jk.conf -> ../mods-available/mod-jk.conf
Configure mod-jk.conf
root%# vim /etc/apache2/mods-enabled/mod-jk.conf
Make the following changes
# Load mod_jk module # Specify the filename of the mod_jk lib (-)LoadModule jk_module modules/mod_jk.so (+)LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so # Where to find workers.properties (-) JkWorkersFile conf/workers.properties (+) # JkWorkersFile /etc/apache2/workers.properties (for some reason, Apache says that this is already installed upon restart) # Where to put jk logs (-) JkLogFile logs/mod_jk.log (+) JkLogFile /var/log/apache2/mod_jk.log # You can use external file for mount points. # It will be checked for updates each 60 seconds. # The format of the file is: /url=worker # /examples/*=loadbalancer (-)JkMountFile conf/uriworkermap.properties (+)JkMountFile /etc/apache2/uriworkermap.properties # Add shared memory. # This directive is present with 1.2.10 and # later versions of mod_jk, and is needed for # for load balancing to work properly (-) JkShmFile logs/jk.shm (+) JkShmFile /var/log/apache2/jk.shm
Change APACHE_HOME/conf/httpd.conf
root% vim /etc/apache2/httpd.conf # Include mod_jk configuration file Include /etc/apache2/mods-enabled/mod-jk.conf
-Not sure if this is necessary if I've added it to mods-enabled
Restart apache
root% /usr/sbin/apache2ctl start
Note: If after rebooting you are unable to access the Web Demo, Funambol might not have started on boot. This is an easy fix with Webmin. Under Bootup and Shutdown, simply enable Funambol.
Using MySQL instead
The following is directly from the Funambol Server Administration Guide. It has been added here as it appears quite late in the guide and would best be served with configuration earlier, such as at this point.
When installing the Funambol “PIM & Email” Server Bundle, by default, the database used is Hypersonic. If you wish to use Funambol with a MySQL database, follow these steps:
- Create the user funambol/funambol.
- Create the database funambol and grant the user funambol all privileges on the data-base funambol:
mysql> create database funambol; mysql> GRANT ALL PRIVILEGES ON funambol.* TO 'funambol'@'localhost' IDENTIFIED BY 'funambol';
- Copy mysql-connector-java-5.0.4-bin.jar to the directory:
<FUNAMBOL_HOME>/funambol/tools/jre-1.5.0/jre/lib/ext
- Modify the file:
<FUNAMBOL_HOME>/funambol/ds-server/install.properties changing the value of the dbms parameter to: dbms=mysql
- Comment the hypersonic configuration section:
#jdbc.classpath=../tools/hypersonic/lib/hsqldb.jar #jdbc.driver=org.hsqldb.jdbcDriver #jdbc.url=jdbc:hsqldb:hsql://localhost/funambol #jdbc.user=sa #jdbc.password=
- Insert the MySQL configuration; for example:
jdbc.classpath=/opt/Funambol/tools/jre-1.5.0/lib/ext/mysql-connector-java-5.1.7-bin.jar jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost/funambol?characterEncoding=UTF-8 jdbc.user=funambol jdbc.password=funambol
- Run the command
<FUNAMBOL_HOME>/funambol/bin/install.cmd answering ‘y’ to all questions.
Configuring the Administration Tool
Run the administration tool:
root% cd /opt/Funambol root% admin/bin/funamboladmin
Under File >> Select Login.
Depending on your DNS, it may be necessary to change the server to either your machine name or localhost.
Changing your admin password
See the official PDF from Funambol.
marckaplan/funambol (last edited 2009-07-24 22:12:37 by adsl-99-138-86-173)