Differences between revisions 6 and 7
Revision 6 as of 2014-07-05 18:06:38
Size: 10598
Editor: RudolfReuter
Comment: new #3
Revision 7 as of 2014-07-05 18:07:21
Size: 10517
Editor: RudolfReuter
Comment:
Deletions are marked like this. Additions are marked like this.
Line 21: Line 21:
Der benutze '''Android Kalender Client''' ist '''CalDAV Sync Free Beta''' (von gege), version 1.8.1. Mit dem Server Programm '''Radicale''' hat der Sync nicht zuverlässig funktioniert. Der benutze '''Android Kalender Client''' ist '''DAVdroid''' (von bitfire web engineering), version 1.0.

DAV sync mit Baikal

Ich möchte meine Adressen und Kalender Daten im Smartphone nicht aus der Hand geben. Deshalb suche ich schon lange nach einer praktikablen Backup/Sync. Lösung mit eigenem Server.

In Jahr 2012 habe ich mit dem Programm Zarafa und Z-Push angefangen, siehe ActiveSyncZarafa, da zu dieser Zeit für Android standardmäßig nur Active Sync zu Verfügung stand, und Zarafa mit Z-Push das kostenlos erlaubte. CalDAV und CardDAV freie Client Programme gab es zu dieser Zeit noch nicht für Android. Das zwar im Prinzip funktioniert, gab aber immer wieder Probleme, und die Datensicherung war auch schwierig.

Bezüglich der Methode Active Sync habe ich sonst nichts brauchbares gefunden.

Ein weiterer Versuch wurde mit Owncloud 6 gestartet. Das war auch nicht zuverlässig.

Dann wurde der Server Radicale (version 0.9) ausprobiert. Das war auch nicht zuverlässig.

Baikal ist ein kleiner, einfacher CardDAV / CalDAV Server, der nicht mehr braucht als eine normale PHP Installation mit Datenbankanbindung. Da haben erste sync Versuche mit gängigen Clients funktioniert. Nur der SOGo Connector unter Thunderbird hat nicht funktioniert.

Der benutze Android Kalender Client ist DAVdroid (von bitfire web engineering), version 1.0.

Der benutze Android Kontakte Client ist DAVdroid (von bitfire web engineering), version 1.0.

Baikal Installation

Nach ersten Versuchen mit dem Flat und Regular Paket (Version .0.2.7), die irgendwie unvollständig waren, habe ich mir die Github Version installiert. Bei der Github Seite war auch eine gute Anleitung mit dabei. Der Baikal Server wurde als virtual host bei dem Apache2 Server Web eingebunden. Bei der Test Installation wurde aus dem Github das Master-Archiv heruntergeladen und entpackt. Dann muss noch der composer installiert werden (PHP Versionsverwaltung). Um git zu nutzen waren folgende Schritte notwendig:

# Installiere PHP5 Pakete
#   php5-sqlite

# source code holen
$ cd /var/www
$ sudo git clone https://github.com/jeromeschneider/Baikal.git baikal 

# download composer
$ cd baikal
$ curl -sS https://getcomposer.org/installer | php
Composer successfully installed to: /var/www/baikal/composer.phar
Use it: php composer.phar

# installiere
$ sudo php composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing sabre/vobject (2.1.5)
    Downloading: 100%

  - Installing sabre/dav (1.8.10)
    Downloading: 100%

Writing lock file
Generating autoload files

# Rechte setzen
$ cd /var/www
$ sudo chown -R www-data:www-data baikal

# Erlaube den Gruppen Mitgliedern ein "cd" in die Ordner zu machen.
$ sudo find baikal -type d -print0 | xargs -0 sudo chmod 775

# Erlaube der Gruppe die Files zu ändern.
$ sudo chmod -R g+w baikal

# Prüfe, ob apache2 module "rewrite" enabled ist
$ ls /etc/apache2/mods-enabled/rew*
/etc/apache2/mods-enabled/rewrite.load

  # wenn nicht vorhanden, dann:
  $ sudo a2enmod rewrite
  $ sudo service apache2 restart

# Apache2 virtual host
$ cd /etc/apache2/sites-available
$ sudo ln -s /var/www/baikal/Specific/virtualhosts/baikal.apache2
# In baikal.apache2, ersetze die Referenzen zu dav.mydomain.com mit dem eigenen domain name (baikal)
    DocumentRoot /var/www/baikal/html
    ServerName baikal
    <Directory "/var/www/baikal/html">

# Aktiviere den neuen virtual host 
# legt einen Link an, in sites-enabled zu sites-available/baikal.apache2
$ sudo a2ensite baikal.apache2

# Web Server Apache2 neu starten
$ sudo service apache2 reload

# sperre Ordner "baikal" gegen Anzeige
$ touch /var/www/baikal/index.html

Dann kann man mit dem administrieren anfangen:

# Web Browser auf Adresse <server-IP>/baikal/html
# Man sieht jetzt:
  Baïkal Install Tool is locked.
  To unlock it, create (or re-create if it exists already) an empty file named ENABLE_INSTALL 
  (uppercase, no file extension) in the Specific/ folder of Baïkal.

$ cd /var/www/baikal/html/admin
$ touch Specific/ENABLE_INSTALL

# Lade die Web Seite neu, jetzt erscheint die Administration Maske
  Baikal Install tool

# "admin" Passwort eingeben

Es wurde nicht die DAV.xxx Subdomain verwendet, sondern der normale Pfad, um beim testen flexibler zu sein.

Baikal administrieren

Baikal kann sehr schön mit einer Web-Maske administriert werden. Man kann keine Kalender oder Kontakt Daten ändern. Was man ändern/einrichten kann ist:

  • Benutzer anlegen
  • Spezielle Kalender und Kontakt-Listen (andere als default) anlegen.

  • Einstellungen ändern

Um an die Administration Web-Maske zu kommen, muss man folgende URL im Web Browser eingeben:

http(s)://<SERVER>/baikal/html/admin

Dann erscheint das Dashboard (Armaturenbrett) mit Informationen zu allen wichtigen Zahlen.

Weitere Web-Masken sind:

  • Users and resources - Benutzer, Kalender und Kontakt Listen anlegen
  • Settings - Baikal Einstellungen
  • System settings - Baikal System Einstellungen, z.B. Datenbank (MySQL oder SQLite)

Daten Export

SabreDAV erlaubt mit einem plugin den Export aller Calendar und Contact Daten in einen xxx.ics oder xxx.vcf File. Unglücklicherweise ist das noch nicht integriert in Baikal (version 0.2.7), aber es kann leicht nachgerüstet werden, wie folgt:

# für die Calendar Daten:
# Editiere file cal.php, entweder in baikal/cal.php, oder in baikal/html/cal.php
# Füge eine Zeile ein, hinter den anderen plugins, in der Nähe des File Endes.
$server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin());

# für die Contact Daten:
# Editiere file card.php, entweder in baikal/card.php, oder in baikal/html/card.php
# Füge eine Zeile ein, hinter den anderen plugins, in der Nähe des File Endes.
$server->addPlugin(new \Sabre\CardDAV\VCFExportPlugin());

# exportiere Calendar Daten, via web browser:
http(s)://<SERVER>/baikal/cal.php/calendars/<USER>/default?export
# benenne den file Namen: xxx.ics

# exportiere Contact Daten, via web browser:
http(s)://<SERVER>/baikal/card.php/addressbooks/<USER>/default?export
# benenne den file Namen: xxx.vcf

Android Clients

Es gibt einige CalDAV und CardDAV client Programme in dem Play Store. Aber es gibt nur wenige freie Programme.

  • DAVdroid, von bitfire web engineering, kostenlose Version 1.0, CalDAV und CardDAV (Notizen inklusive).
  • CardDAV-Sync free beta, von Marten Gajda
    • in der freien Versionen werden leider keine Firmen Namen und Notizen (notes) synchronisiert.

Mac OS X Clients

  • Kontakte Version 8.0
    • Einstellungen->Account->

      • Benutzername: reuterru
      • Kennwort: ***
      • Serveradresse: 192.168.17.72/baikal/html/card.php/principals/reuterru/
    • Synch: automatisch (vermutlich nach jeder Änderung)
  • Kalender Version 7.0
    • Accounttyp: Fortgeschritten
    • Benutzername: reuterru
    • Kennwort: ***
    • Serveradresse: 192.168.17.72/baikal/html/cal.php/calendars/reuterru/

Troubleshooting

Nach der Installation ist der erste Test, der Aufruf der Basisseite:

# Web Browser auf Adresse <server-IP>/baikal/html
# Man sieht jetzt:
  Baïkal is running allright.

Um sich den Inhalt der Datenbank anzusehen kann man sich phpliteadmin installieren, download siehe Links. Die Voreinstallung vom Password ist "admin". Da der File phpliteadmin.config.sample.php unter Windows erstellt wurde sollte man das "End Of Line" Zeichen umstellen mit fromdos, zu installieren mit:

$ sudo apt-get install tofrodos

$ fromdos phpliteadmin.config.php

Zur Not kann man damit auch Inhalte editieren.

Übersicht Groupware

DAV Server

DAV Clients

Groupware Server

Tools

List of pages in this category:

-- RudolfReuter 2014-06-26 07:48:16


Go back to CategoryAndroid or FrontPage ; KontaktEmail (ContactEmail)

DAVsyncBaikal (last edited 2019-01-28 10:49:49 by RudolfReuter)