- chalblog - http://blog.is-a-geek.org -

OpenSource Sync-Lösung Funambol 10 für alle Mobiles auf Ubuntu Server installieren oder von Version 9 upgraden

OpenSource Sync-Lösung Funambol 10 für alle Mobiles auf Ubuntu Server installieren oder von Version 9 upgraden [1]Da ich vor einiger Zeit schon eine Anleitung zur Installation der Version 9 verfasst habe, lag es nahe dies auch für die Version 10 zu machen. Dieses Tutorial behandelt auch das Upgrade von Funambol 9 auf 10. Funambol ist ein kostenloser und sehr einfach zu installierender Synchronisierungs-Server. Es existieren Clients für fast jede Plattform (Symbian, Android, Blackberry, Windows Mobile, Thunderbird+Lightning, Outlook, …) und Schnittstellen einer breiten Palette an Groupwares.

Funambol ist eine sehr gute und universell einsetzbare Alternative zur Datenkralle Google. Bilder, Kontakte, Kalender usw. können mit Hilfe von Funambol auf den eigenen Server gesynct werden und man hat somit volle Kontrolle über diese Daten. Das Tutorial ist auch auf die Desktop Version von Ubuntu anwendbar.

UPGRADE: Alle für das Upgrade nötigen Schritte sind mit dem Wort “Upgrade” gekennzeichnet und können bei einer neuen Installation übersprungen werden.

 

Installation und Konfiguration des Servers

Upgrade: Datenbanksicherung und Deinstallation

Bevor wir beginnen beenden wir den Funamboldienst:

sudo service funambol stop

Danach erstellen wir UNBEDINGT ein Datenbankbackup:

mysqldump --user USERNAME --password=PASSWORT DATENBANKNAME > funambolbackup.dump

Zum Deinstallieren löscht man einfach das Funambol-Verzeichnis:

sudo rm -rf /opt/Funambol

Java

Solltet ihr Java noch nicht installiert haben müsst ihr zuerst die Source-Liste anpassen:

sudo nano /etc/apt/sources.list

Dort aktiviert ihr die Partner-Repository (vorangestellte “#” löschen und je nach Version “lucid” ersetzen).

deb http://archive.canonical.com/ lucid partner

Wir speichern mit “Strg+o“, schließen nano mit “Strg+x” und installieren Java.

sudo apt-get update && sudo aptitude install sun-java6-bin sun-java6-jre

Danach löscht man die Funambol-Java und setzt noch ein Symlink zur installierten Version:

sudo rm -rf /opt/Funambol/tools/jre*
sudo ln -s /usr/lib/jvm/java-6-sun /opt/Funambol/tools/jre-1.6.0

(Für alle die die alte Anleitung zur Version 9 benutzt haben: In der Datei “funambol” muss in Bezug auf Java nichts mehr angepasst werden.)

Download und Extract

Der Funambol-Server ist nicht in den Ubunturepositories und muss deshalb direkt von der Downloadseite [2] heruntergeladen werden.

Download 32 Bit Edition:

wget --trust-server-name http://downloads.sourceforge.net/project/funambol/bundle/v10/funambol-10.0.3.bin

Download 64 Bit Edition:

wget --trust-server-name http://downloads.sourceforge.net/project/funambol/bundle/v10/funambol-10.0.3-x64.bin

Mit dem Ausführen der “bin” Datei wird Funambol in ein Verzeichnis exportiert:

sudo sh funambol-10.0.3*.bin

Nach dem Durchscrollen der Lizenzangaben werden die gestellten Fragen folgendermaßen beantwortet:

Do you agree to the above license terms? [yes or no]
yes

Directory to extract Funambol [/opt] ?
Hier einfach “Enter” drücken oder ein anderes Verzeichnis angeben. In diesem Tutorial verwende ich den Standardpfad.

Do you want to start the server? [yes or no]
no, da wir vorher noch diverse Einstellungen vornehmen müssen.

MySQL anstatt Hypersonic nutzen

Der gesamte Punkt kann übersprungen werden wenn man die mitgelieferte Hypersonic Datenbank nutzen will. Es ist jedoch Resourcentechnisch ratsam einen schon vorhandenen MySQL-Server zu benutzen.

sudo nano /opt/Funambol/bin/funambol

Um zu verhindern, dass Funambol versucht Hypersonic zu starten ändern wir folgenden Eintrag (ca Zeile 44) von “true” auf “false”.

COMED=false

Dann brauchen wir noch den MySQL Connector, welchen wir ins Java Verzeichnis herunterladen:

sudo wget http://blog.is-a-geek.org/downloads/mysql-connector-java-5.1.18.jar -O /usr/lib/jvm/java-6-sun/jre/lib/ext/mysql-connector-java-5.1.18.jar

Jetzt bearbeiten wir noch das File mit den Installations-Optionen:

sudo nano /opt/Funambol/ds-server/install.properties

In Zeile 24 ändert man die Datenbank “hypersonic” auf “mysql”.

dbms=mysql

Wichtig sind Zeile 55-59 welche man durch entfernen des “#” Zeichens wieder einkommentiert. Wie man hier sehen kann, passt man die MySQL-Connector Version an und ergänzt die Daten der zu verwendenden Datenbank.

Handelt es sich um ein Upgrade, können hier die Daten der alten Funambol Datenbank übergeben werden, da wir am Anfang ein Backup erstellt haben.

# MySQL
# =====
#
jdbc.classpath=/opt/Funambol/tools/jre-1.6.0/jre/lib/ext/mysql-connector-java-5.1.18.jar
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/<DATENBANKNAME>
jdbc.user=<DATENBANKUSER>
jdbc.password=<DATENBANKPASSWORT>

Die Zeilen 63-67 kommentieren wir aus (# davorsetzen):

#jdbc.classpath=../tools/hypersonic/lib/hsqldb.jar
#jdbc.driver=org.hsqldb.jdbcDriver
#jdbc.url=jdbc:hsqldb:hsql://localhost/funambol
#jdbc.user=sa
#jdbc.password=

Zum Abschluß löschen wir Hypersonic, da wir ihn nicht benötigen:

sudo rm -rf /opt/Funambol/tools/hypersonic

Die Datenbank muss vor dem Ausführen des Install-Scripts mit den hier eingefügten Daten erstellt werden.

Tomcat Port anpassen

Laufen andere Services auf dem in Funambol vordefinierten Port 8080 kann man diesen ganz einfach ändern.

sudo nano /opt/Funambol/tools/tomcat/conf/server.xml

In Zeile 68 kann man das Port anpassen.

 <Connector port="8080" protocol="HTTP/1.1"

Wollt ihr auch von ausserhalb syncen, müsst ihr dieses Port am Router freigeben.

Installation ausführen

sudo /opt/Funambol/bin/install

Einfach alle fragen mit ja (y) beantworten und danach sollte Funambol schon installiert sein.

Upgrade: Datenbank rücksichern

Hat man bei der Installation die vorherige Funambol-Datenbank verwendet wurde diese geleert und hat man eine neue verwendet ist diese in jedem Fall leer.

Die Datenbank von Funambol 9 ist zu Funambol 10 kompatibel und muss aus dem von uns am Anfang erstellten Backup nur wiederhergestellt werden.

mysql --user USERNAME --password=PASSWORT DATENBANKNAME < funambolbackup.dump

Start/Stop Autostart

Um Funambol komfortabel starten und stoppen zu können legen wir das Startscript in den “init.d” Ordner. Vorher muss man jedoch den Installationspfad anpassen, da der Server sonst nicht startet.

sudo nano /opt/Funambol/bin/funambol

Wir ersetzen diese Zeile …

FUNAMBOL_HOME=`(cd .. ; pwd)`

… gegen diese (Wenn ihr nicht den Standardinstallpfad verwendet müsst ihr diese Zeile nach eurer Konfiguration anpassen.):

FUNAMBOL_HOME=`(cd /opt/Funambol ; pwd)`

Dann noch kopieren und die Rechte zum Ausführen setzen:

sudo cp /opt/Funambol/bin/funambol /etc/init.d/
sudo chmod 755 /etc/init.d/funambol

Jetzt könnt ihr den Server mit dem Service-Befehl starten und stoppen.

sudo service funambol start/stop

Um Funambol automatisch starten zu lassen einfach folgenden Befehl ausführen (Funambolscript muss vorher in die “init.d” kopiert werden):

sudo update-rc.d -f funambol defaults

Server mit anderem User starten

Da vieleicht einige von euch auch so paranoid sind wie ich, beschreibe ich hier wie ihr den Funambol-Server nicht als root starten müsst. Der Funambol-Service muss vorher gestoppt werden.

Als erstes legen wir uns einen User ohne Shell und Homeverzeichniss an (bei einem Upgrade sollte dies überflüssig sein, da der User schon existiert):

sudo useradd -s /bin/false -d /bin/null <USERNAME>

Passwort zum User hinzufügen:

sudo passwd <USERNAME>

User als Besitzer des Funambol-Ordners definieren (auch bei einem Upgrade ausführen!):

sudo chown -R <USERNAME> /opt/Funambol

Für die Aufgabe des Startens als anderer User habe ich mir ein eigenes Startscript erstellt, welches ihr herunterladen könnt:

sudo wget http://blog.is-a-geek.org/downloads/funambol /etc/init.d/

Ist in der “init.d” schon ein gleichnamiges File vorhanden, kann es passieren, dass der Download als “funambol.1” gespeichert wird (also kurz überprüfen).

Damit man das Script ausführen kann noch schnell Rechte ändern:

sudo chmod 755 /etc/init.d/funambol

Das Script gibt dem User vorübergehend Shell-Zugriff und entfernt diesen nach dem Start wieder.

Im Script muss der User, den ihr verwenden wollt oder eben gerade für diesen Zweck erstellt habt eingetragen werden.

sudo nano /etc/init.d/funambol

Dort einfach diese Zeile anpassen:

# The Username to start Funambol
USER="funambol"

Starten, Stoppen und automatisch starten funktioniert analog zum vorherigen Punkt.

Funamboladmin

Das Funamboladmin kann entweder auf einem Linuxcomputer mithilfe einer SSH-X-Weiterleitung gestartet werden oder man installiert einfach nur das Admininterface auf Windows. Damit es auf Windows 7 einwandfrei funktioniert, musste ich es als Administrator ausführen.

Download Funamboladmin für Windows [3]

Hat man einen XManager/Desktop installiert kann man das Admininterface direkt starten:

sudo sh /opt/Funambol/admin/bin/funamboladmin

Login und User anpassen

Serverip und Port verstehen sich von selbst. Der Standardbenutzername des gerade installierten Servers ist “admin” und das Passwort “sa” (Bild 1). Dieses Passwort sollte man aus Sicherheitsgründen sofort ändern. Dazu navigiert man zu “Users” und klickt mit einem leeren Suchfeld auf “Suchen“. Jetzt sollte der “admin” User erscheinen und man kann ihn ändern (Bild 2).

Achtung: Nach dem Ändern des Admins muss man sich neu einloggen oder den Server neu starten, wenn man keine Verbindung aufbauen kann..

Den User “guest” sollte man ebenfalls aus Sicherheitsgründen löschen.

Funambol Admin 10 1 [4]

Bild 1

Funambol Admin 10 2 [5]

Bild 2

2. Server-URI und automatische Usergenerierung

Diese Einstellungen vollziehen wir im Reiter “Server settings”.

Die Server-URI ist anscheinend deshalb wichtig, weil Funambol diese hin und wieder als Weiterleitungslink benutzt. Sie sollte in dieser Form eingetragen werden (Bild 3):

http://<SERVERIP>:<PORT>/funambol/ds

Da User nicht automatisch generiert werden sollen, ändern wir in den Officer-Eintrag (Bild 3):

com/funambol/server/security/DBOfficer.xml

Funambol Admin 10 3 [6]

Bild 3

 

Clients

Meistens sind die Clients in den diversen App-Stores veraltet, deshalb ladet sie stets von der Herstellerseite [7] oder dort nicht enthaltene von memotoo [8].

Habt ihr den Server wie von mir beschrieben installiert, setzt man die “Server location” nach diesem Schema:

http://<SERVERIP>:<PORT>/funambol/ds

1. Windows Mobile

Ich setze Funambol auf dem HD2 mit Windows Mobile 6.5 (Duttys Rom) ein auf welchem die Synchronisation der Kontakte und des Kalenders mit dem Client 9.0.2 für PocketPC problemlos funktioniert. Hier könnt ihr den Client herunterladen:

http://sourceforge.net/projects/funambol/files/winmobile/ [9]

Und noch zwei Screenshots:

Funambol Windows Mobile 1 [10]

Bild 4

Funambol Windows Mobile 2 [11]

Bild 5

 

2. Android

Den Client für Android könnt ihr einfach im Market herunterladen, nachdem ihr nach “funambol” gesucht habt. Es gibt ihn hin und wieder auch etwas aktueller auf der Herstellerseite [12]:

Und wieder zwei Screenshots (diese sind von einer älteren Version ohne Pics, Videos usw):

Funambol Android 1 [13]

Bild 6

Funambol Android 2 [14]

Bild 7

 

3. Thunderbird und Lightning

Lightning ist der integrierbare Kalender für Thunderbird und kann ganz einfach als Addon unter “Extras” und “Add-ons” installiert werden.

Den Client habe ich bei http://www.memotoo.com/ [8] geladen, da dort scheinbar die einzig funktionierenden Versionen für Thunderbird 3 4 5 6 7 erhältlich sind.

Funambol Thunderbird 2 [15]

Bild 8

Funambol Thunderbird 2 [16]

Bild 9

 

Auf die genaueren Einstellungen der einzelnen Clients werde ich hier nicht mehr weiter eingehen, da diese eigentlich selbsterklärend sind. Sollten dennoch Fragen auftreten, hinterlasst diese doch einfach als Kommentar und ich werde dann versuchen euch weiterzuhelfen.

Auch wenn ihr keine Fragen habt würde ich mich über euer Kommentar freuen 😉

 

Viel Spaß mit Funambol und ein großes Danke an alle Entwickler!