Debian Tine
Allgemeines
Tine ist eine Opensource Groupware, die out of the Box die Synchronisierung mit Active Sync fähigen Clients wie z.B. Android Handys unterstützt. Für die Kalender und Kontaktsynchronisation sind weder auf dem Server noch auf den Clients spezielle Addons erforderlich. Es stehen sogar Debian Pakete zur Verfügung, sodass die Installation relativ einfach ist.
Voraussetzungen:
Installation der Pakete
Einrichten der Tine Paketquelle:
vi /etc/apt/sources.list
Folgende Zeile anfügen:
deb http://packages.tine20.org/debian squeeze stable
APT-Key importieren:
apt-key adv --recv-keys --keyserver keys.gnupg.net 7F6F6895
Paketliste aktualisieren
apt-get update
Tine Pakete installieren
apt-get install tine20
Nach dem Download der Pakete werden einige Fragen gestellt.
Webserver: Apache2 evtl. MySQL Root_PWD eingeben Tine 2.0 Setupusername: tine20setup Tine 2.0 Setup Password: TINE20_SETUP-PWD
Workaround für Cronjob. In der aktuellen Tine-Version hat der installierte Cron-Job einen Fehler, wodurch Tine bzw. Cron alle 5 Minuten eine Fehlermail an den Mailuser www-data sendet. Falls dieser nicht existiert, wird zwar keine Mail zugestellt, aber in den Logfiles tauchen entsprechende Einträge auf.
vi /etc/cron.d/tine20-tinebase
Den Eintrag folgendermaßen anpassen:
* * * * * www-data /usr/bin/php -d include_path=.:/usr/share/tine20:/usr/share/tine20/library:/etc/tine20 /usr/share/tine20/tine20.php --method Tinebase.triggerAsyncEvents >> /dev/null
Optional: Apache Virtualhost
Tine kann auf folgende Weise via SSL-Virtualhost angesprochen werden:
vi /etc/apache2/sites-enabled/tine_https.conf <VirtualHost *:443> ServerName tine.domain.org DocumentRoot /usr/share/tine20 SSLEngine on SSLProxyEngine On SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem </VirtualHost>
Damit Activesync funktioniert, ist noch folgendes .htaccess File erforderlich:
vi /usr/share/tine20/.htaccess
Folgende Zeilen einfügen:
RewriteEngine on RewriteRule Microsoft-Server-ActiveSync(.*) index.php$1 [E=ACTIVESYNC:true,E=REMOTE_USER:%{HTTP:Authorization}] RewriteCond %{REQUEST_METHOD} !^(GET|POST)$ RewriteRule ^$ /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA] RewriteRule ^addressbooks /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA] RewriteRule ^calendars /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA] RewriteRule ^principals /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA] RewriteRule ^webdav /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
Apache neustarten:
/etc/init.d/apache2 restart
Webbasiertes Setup
Nach der Installation der Pakete erfolgt die weitere Einrichtung von Tine komfortabel via Webbrowser. Webbrowser öffnen und folgende Adresse eingeben:
http://IP_Des_Server/tine20/setup.php
Mit den eben angelegten Setup Admin Userdaten (tine20setup/TINE20_SETUP-PWD) einloggen.
- Folgende Seite sollte nun erscheinen:
- Die beiden Kästchen I have read the licence agreement ... und I have read the privacy agreement ... setzen und anschließend Accept Terms and Conditions auswählen.
- Anschließend Setup Checks im linken Navigationsbaum anwählen.
- Alle Punkte sollten hier mit einem grünen Haken versehen sein.
- Den Punkt Config Manager im linken Navigationsbereich anwählen.
Hier sollten im Normalfall keine Änderungen erforderlich sein.
- Anschließend den Punkt Authentication/Accounts im linken Navigationsbereich auswählen.
Initial admin login name: TINE_ADMIN beliebig z.B. admin Initial admin Password: TINE_ADMIN_PWD Password confirmation: TINE_ADMIN_PWD Account domain name : ACCOUNT_DOMAIN beliebig z.B. Standard. Wichtig für Active Sync. Daher unbedingt angeben. Account domain short name: beliebig User can change password: yes
- Wenn alle Einstellungen vorgenommen sind, den Button Save config and install auswählen
- Anschließend den Punkt Email im linken Navigationsbereich auswählen.
Backend: Cyrus (falls Cyrus verwendet wird, wie im Mailserver WIKI beschrieben) Hostname: localhost, falls Mailserver auf dem selben System läuft, wie Tine, ansonsten IP-Adresse oder Domainname des IMAP Servers Port: 143 (Plain) bzw. 993 (SSL) Cyrus Admin: cyrus Cyrus Admin Password: CYRUS_PWD
- Folgende Smtp Einstellungen vornehmen (Haken bei SMTP setzen):
Backend: Standard Smtp Hostname: localhost, falls Mailserver auf dem selben System läuft, wie Tine, ansonsten IP-Adresse oder Domainname des IMAP Servers Port: 25 Secure Connection: Nonde oder TLS (SSL wird von der Postfix Konfig, wie im Wiki beschrieben nicht unterstützt) Authentication: Login
- Folgende Sieve Einstellungen vornehmen (Haken bei Sieve setzen):
Hostname: localhost, falls Mailserver auf dem selben System läuft, wie Tine, ansonsten IP-Adresse oder Domainname des IMAP Servers Port: 4190
- Wenn alle Einstellungen vorgenommen sind, den Button Save auswählen
- Anschließend den Punkt Application Manager im linken Navigationsbereich auswählen.
- Wenn sämtliche Einstellungen getroffen sind, den Button Go to Tine 2.0 login anklicken.
Admin Login
Nach dem eben durchgeführten webbasierten Setup, kann sich nun der Admin an Tine anmelden, um z.B. weitere User anzulegen. Nachdem am Ende des vorhergehenden Kapitels Go to Tine 2.0 login angeklickt wurde bzw. http://IP_Des_Server/tine20 (kein VHost) bzw. https://tine.domain.org im Webbrowser eingegeben wurde, sollte folgender Loginbildschirm erscheinen:
Mit den im vorigen Abschnitt erstellten Admin User/Passwort-Daten (TINE_ADMIN / TINE_ADMIN_PWD) einloggen.
Nach dem Einloggen im Reiter Tine2.0 den Punkt Admin auswählen.
Hier können dann neue User bzw. auch Admins angelegt werden.
Active Sync mit Handy
Tine beherrscht out of the Box Synchronisation mit Handys (Iphone, Android, Windows Mobile) mittels Active-Sync Protokoll.
Funktionstest mit Webbrowser
Verifikation der Active-Sync Funktionalität mittels Webbrowser.
* http://IP_Des_Server/Microsoft-Server-ActiveSync * http://domain.org/Microsoft-Server-ActiveSync * https://tine.domain.org/Microsoft-Server-ActiveSync (falls Virtualhost eingerichtet wurde)
In allen Fällen sollte ein Loginfenster erscheinen. Mit gültigem Usernamen und Passwort einloggen. Es sollte eine Seite erscheinen, die folgende Infos enthält:
It works! Your userid is: Tine_User_ID and your IP address is: IP__Des_Rechners bzw. IP_des_DSL_Anschlusses.
Funktionstest mit Handy
Die Einrichtung eines neuen Active-Sync-Kontos ist unterschiedlich je nach Handy. Die Einrichtung sollte eigentlich selbst erklärend sein.
Hinweis: | |
Als Serveradresse muss eine der folgenden Adressen verwendet werden:
|
Die aktuelle Version von Tine hat einen Bug, der zu Problemen mit Geburtstagen führt. Wenn ein Kontakt an der Weboberfläche angelegt oder geändert wurde, ist der Geburtstag am Handy einen Tag früher, als bei Tine auf der Weboberefläche. Wenn ein Kontakt incl. Geburtstag am Handy erstellt wird, dann ist jedoch der Geburtstag sowohl am Handy als auch in der Weboberfläche korrekt. Dies liegt wohl an Problemen mit Uhrzeitumrechnung von aktueller Zeitzone zu UTC und zurück am Handy und Tine.
Daher empfiehlt es sich, folgenden Test durchzuführen, bevor sämtliche Kontakte importiert werden und dann evtl. alle Geburtstage um einen Tag falsch am Handy sind.
- Einen neuen Kontakt incl. Geburtstag (evtl. reine Dummy Daten) an der Weboberfläche anlegen.
- Mit dem Handy synchronisieren
- Prüfen, ob das Geburtsdatum korrekt ist
Falls das Geburtstag nicht korrekt synchronisiert wurde, dann folgende Änderung durchführen:
vi /usr/share/tine20/ActiveSync/Controller/Contacts.php
Folgende Änderung durchführen:
switch($value) { case 'bday': if($data->$value instanceof DateTime) { $data->bday->addHour(12); $nodeContent = $data->bday->format("Y-m-d\TH:i:s") . '.000Z'; } break;
Anschießend obigen Test wiederholen
Import von Kontakten unter Android
Evtl. bereits im Handy gespeicherte Kontakte müssen mit dem Active-Sync-konto verknüpft werden, damit diese mit Tine synchronisiert werden. Diese Veknüpfung kann leider nicht nachträglich durchgeführt werden. Um die Kontakte dennoch mit Tine synchronisieren zu können, folgendermaßen vorgehen:
- Export aller Kontakte auf SD-Karte
- Re-Import der Kontakte. Dabei das Active-Sync-Konto auswählen (nicht Telefoninter, nicht Google Account auswählen).
Nach der Synchronisation sollten die Kontakte in der Weboberfläche verfügbar sein.