Changes

Jump to navigation Jump to search
10,801 bytes added ,  15:10, 29 April 2010
Initial procedure for installing Funambol for Sogo
{{Level|Advanced}}
== Introduction ==

This is a very preliminary writeup on the installation of Funambol on an SME8b5 installation for use with SOGO.

Use only for testing on non production machines and when you find an error, please correct it right here :-)

== Download & Install Funambol ==
Goto https://www.forge.funambol.org/DomainHome.html

and install Funambol v8. The latests is funambol-8.0.2.bin

chmod +x funambol-8.0.2.bin
./funambol-8.0.2.bin

Install in

/opt/Funambol

If running after installation, stop the Funambol server using :

/opt/Funambol/bin/funambol stop

== Download MySQL component ==
Funambol by installation defaults to use the Hypersonic DB engine.
See the ''/opt/Funambol/ds-server/install.properties'' file for details and to change to the MySQL connector.

unzip mysql-connector-java-5.0.8.zip
cp mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar .
rm -rf mysql-connector-java-5.0.8

== Download Apache Commons components ==
Download components from here

http://commons.apache.org/

Copy components in the following directory

cd /opt/Funambol/tools/tomcat/lib/

=== collections (v3.2.1) ===
wget http://www.apache.org/dist/commons/collections/binaries/commons-collections-3.2.1-bin.zip
rm -rf commons-collections-3.2.1.jar
unzip commons-collections-3.2.1-bin.zip
cp -p commons-collections-3.2.1/commons-collections-3.2.1.jar .
rm -rf commons-collections-3.2.1

=== confguration (v1.6) ===
wget http://www.apache.org/dist/commons/configuration/binaries/commons-configuration-1.6.zip
rm -rf commons-configuration-1.6.jar
unzip commons-configuration-1.6.zip
cp -p commons-configuration-1.6/commons-configuration-1.6.jar .
rm -rf commons-configuration-1.6

=== logging (v1.1) ===
wget http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.1.1-bin.zip
rm -rf commons-logging-1.1.1.jar
unzip commons-logging-1.1.1-bin.zip
cp -p commons-logging-1.1.1/commons-logging-1.1.1.jar .
rm -rf commons-logging-1.1.1

=== lang (v2.4) ===
wget http://www.apache.org/dist/commons/lang/binaries/commons-lang-2.5-bin.zip
rm -rf commons-lang-2.5.jar
unzip commons-lang-2.5-bin.zip
cp -p commons-lang-2.5/commons-lang-2.5.jar .
rm -rf commons-lang-2.5

=== json-simple ===
wget http://json-simple.googlecode.com/files/json_simple.jar

=== funambol-sogo-1.0.7.s4j ===
cd /opt/Funambol/ds-server/modules
wget http://www.scalableogo.org/uploads/Funambol/funambol-sogo-1.0.7.s4j

Then, open the /opt/Funambol/ds-server/install.properties file

vim /opt/Funambol/ds-server/install.properties

and add "funambolsogo-1.0.7" at the end of the "modules-to-install" line.

== Install Funambol SOGo Connector ==
Start the Funambol server using:

/opt/Funambol/bin/funambol start

Next, install the Funambol SOGo Connector within Funambol server by issuing the following commands :

cd /opt/Funambol/
./bin/install-modules

Answer 'yes' to all questions.

Note the default install using the Hypersonic DB engine.

See also:

[https://core.forge.funambol.org/wiki/HOWTOFunambolMySQLFedora10 https://core.forge.funambol.org/wiki/HOWTOFunambolMySQLFedora10]


MySQL Engine : Also in ''/usr/lib/Funambol/bin/funambol'' change ''COMED=true'' to ''COMED=false'' somewhere around line 50 while you're at it (this prevents the start/stop script from trying to start or stop the Hypersonic database, since we’re going to use MySQL). After that, ''rm -rf /usr/lib/Funambol/tools/hypersonic'' to save yet a bit more disk space

== Configuring the Calendar Sync connection ==
mkdir -p /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-cal.xml
cd /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-cal.xml
touch template-begin
vim sogo-cal.xml
expand-template /opt/Funambol/config/sogo/sogo/sogo/sogo-cal.xml


<nowiki><?xml version="1.0" encoding="UTF-8"?></nowiki>
<nowiki><java version="1.5.0_10" class="java.beans.XMLDecoder"></nowiki>
<nowiki><object class="ca.inverse.sogo.engine.source.SOGoSyncSource"></nowiki>
<nowiki><void property="databasePassword"></nowiki>
<nowiki><string>{$sogod{'DbPassword'}}</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="databaseURL"></nowiki>
<nowiki><string>jdbc:mysql://localhost/sogo</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="databaseUsername"></nowiki>
<nowiki><string>sogo</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="info"></nowiki>
<nowiki><object class="com.funambol.framework.engine.source.SyncSourceInfo"></nowiki>
<nowiki><void property="supportedTypes"></nowiki>
<nowiki><array class="com.funambol.framework.engine.source.ContentType" length="1"></nowiki>
<nowiki><void index="0"></nowiki>
<nowiki><object class="com.funambol.framework.engine.source.ContentType"></nowiki>
<nowiki><void property="type"></nowiki>
<nowiki><string>text/x-vevent</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="version"></nowiki>
<nowiki><string>1</string></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></void></nowiki>
<nowiki></array></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="name"></nowiki>
<nowiki><string>sogo-cal</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="sourceURI"></nowiki>
<nowiki><string>sogo-cal</string></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></java></nowiki>

== Configuring the Address Book Sync connection ==
mkdir -p /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-card.xml
cd /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-card.xml
touch template-begin
vim sogo-card.xml
expand-template /opt/Funambol/config/sogo/sogo/sogo/sogo-card.xml


<nowiki><?xml version="1.0" encoding="UTF-8"?></nowiki>
<nowiki><java version="1.5.0_10" class="java.beans.XMLDecoder"></nowiki>
<nowiki><object class="ca.inverse.sogo.engine.source.SOGoSyncSource"></nowiki>
<nowiki><void property="databasePassword"></nowiki>
<nowiki><string>{$sogod{'DbPassword'}}</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="databaseURL"></nowiki>
<nowiki><string>jdbc:mysql://localhost/sogo</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="databaseUsername"></nowiki>
<nowiki><string>sogo</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="info"></nowiki>
<nowiki><object class="com.funambol.framework.engine.source.SyncSourceInfo"></nowiki>
<nowiki><void property="supportedTypes"></nowiki>
<nowiki><array class="com.funambol.framework.engine.source.ContentType" length="1"></nowiki>
<nowiki><void index="0"></nowiki>
<nowiki><object class="com.funambol.framework.engine.source.ContentType"></nowiki>
<nowiki><void property="type"></nowiki>
<nowiki><string>text/x-vcard</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="version"></nowiki>
<nowiki><string>1</string></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></void></nowiki>
<nowiki></array></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="name"></nowiki>
<nowiki><string>sogo-card</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="sourceURI"></nowiki>
<nowiki><string>sogo-card</string></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></java></nowiki>

== Configuring the Todo List Sync connection ==
mkdir -p /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-todo.xml
cd /etc/e-smith/templates/opt/Funambol/config/sogo/sogo/sogo/sogo-todo.xml
touch template-begin
vim sogo-todo.xml
expand-template /opt/Funambol/config/sogo/sogo/sogo/sogo-todo.xml


<nowiki><?xml version="1.0" encoding="UTF-8"?></nowiki>
<nowiki><java version="1.5.0_10" class="java.beans.XMLDecoder"></nowiki>
<nowiki><object class="ca.inverse.sogo.engine.source.SOGoSyncSource"></nowiki>
<nowiki><void property="databasePassword"></nowiki>
<nowiki><string>{$sogod{'DbPassword'}}</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="databaseURL"></nowiki>
<nowiki><string>jdbc:mysql://localhost/sogo</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="databaseUsername"></nowiki>
<nowiki><string>sogo</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="info"></nowiki>
<nowiki><object class="com.funambol.framework.engine.source.SyncSourceInfo"></nowiki>
<nowiki><void property="supportedTypes"></nowiki>
<nowiki><array class="com.funambol.framework.engine.source.ContentType" length="1"></nowiki>
<nowiki><void index="0"></nowiki>
<nowiki><object class="com.funambol.framework.engine.source.ContentType"></nowiki>
<nowiki><void property="type"></nowiki>
<nowiki><string>text/x-vtodo</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="version"></nowiki>
<nowiki><string>1</string></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></void></nowiki>
<nowiki></array></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="name"></nowiki>
<nowiki><string>sogo-todo</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="sourceURI"></nowiki>
<nowiki><string>sogo-todo</string></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></java></nowiki>


== Auto-create Funambol user accounts ==
Edit the Funambol config file

vim /opt/Funambol/config/Funambol.xml


And change the officer parameter:

<nowiki><void property="officer"></nowiki>
<nowiki><string>ca/inverse/sogo/security/SOGoOfficer.xml</string></nowiki>
<nowiki></void></nowiki>


Then create the SOGoOfficer.xml file

vim /opt/Funambol/config/ca/inverse/sogo/security/SOGoOfficer.xml


<nowiki><?xml version="1.0" encoding="UTF-8"?></nowiki>
<nowiki><java version="1.4.0" class="java.beans.XMLDecoder"></nowiki>
<nowiki><object class="ca.inverse.sogo.security.SOGoOfficer"></nowiki>
<nowiki><void property="host"></nowiki>
<nowiki><string>localhost</string></nowiki>
<nowiki></void></nowiki>
<nowiki><void property="port"></nowiki>
<nowiki><string>20000</string></nowiki>
<nowiki></void></nowiki>
<nowiki></object></nowiki>
<nowiki></java></nowiki>

----
[[Category: Howto]]
374

edits

Navigation menu