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
Feintuning
Leider sind einige Einstellungen nicht optimal, sodass diese z.B. zu Fehlern im LOG-File (/var/log/tine20/tine20.log).
vi /etc/tine20/config.inc.php
Die Zeile
'sessiondir' => '/var/lib/tine20/sessions',
löschen und durch folgenden Absatz ersetzen:
'session' => array ( 'path' => '/var/lib/tine20/sessions', 'lifetime' => 86400, ),
vi /etc/tine20/apache.conf
Folgende Zeile einfügen (Zusätzlich zum bereits existenten Parameter php_admin_value safe_mode):
php_value safe_mode off
Execution Time auf 300 ändern
php_value max_execution_time 300
Apache Caching aktivieren, erhöht die Performache von Tine:
vi /usr/share/tine20/.htaccess
Folgende Zeilen einfügen:
<ifmodule mod_expires.c> ExpiresActive On ExpiresDefault A604800 ExpiresByType image/x-icon A604800 ExpiresByType image/jpeg A604800 ExpiresByType image/png A604800 ExpiresByType image/gif A604800 ExpiresByType image/js A604800 ExpiresByType application/x-shockwave-flash A604800 </ifmodule> php_flag zlib.output_compression On SetOutputFilter DEFLATE Header unset ETag FileETag None
Apache neu starten:
/etc/init.d/apache2 restart
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.
- 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.
- 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
- 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
- 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.
Update
Nach der Installation evtl. vorliegender updates (apt-get upgrade)von Tine, müssen noch die Applikationen aktualisiert werden. Dies kann entweder via Webbasiertem Setup (siehe oben im Bereich Applikationsmanager mit rechter Maustaste die Aktualisierung veranlassen), oder via folgendem Befehl:
php /usr/share/tine20/setup.php --config /etc/tine20/config.inc.php --update
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.
ACHTUNG: Interne Kontakte
Mozilla Thunderbird
Kalender
Der Kalender des Thunderbird Addon's Lightning kann direkt mit Tine verbunden werden. Lightning bietet die Möglichkeit einen per CalDAV- Protokoll erreichbaren kalender zu verwenden, das Tine "out of the box" ermöglicht.
Die für die Einrichtung in Lightning nötige URL (CALDAV_URL) folgendermaßen ermitteln:
- Tine im Webbrowser öffnen und einloggen
- Kalender aufrufen
- Im linken Navigationsbaum Kalender/Meine Kalender/Users persönlicher Ordner mit der Maus selektieren, rechte Maustaste betätigen und Kalender Eigenschaften aus dem Popup Menü auswählen
- Im erscheinenden Eigenschaften-Fenster ist in der letzten Zeile die 'CALDAV_URL angegeben. Diese in die Zwischenablage kopieren, um sie um nächsten Schritt zur Verfügung zu haben.
- Menü Datei/Neu/Kalender... selektieren
- Im erscheinenden Fenster Im Netzwerk selektieren und
- Im nächsten Dialog CalDAV selektieren
- Unter Adresse' die im ersten Schritt ermittelte CALDAV_URL einfügen
- Cache nach Bedarf (laut zahlreichen Forenbeinträgen kann Caching zu Problemen führen. Bei eigenen Versuchen kontnen aber keine Fehler festgestellt werden)
- Button Weiter anklicken
- Auf der folgenden Dialogseite einen Namen des Kalenders vergeben z.B. Tine , Farbe nach Bedarf, Erinnerungen anzeigen
- Nach Einstellung der Optionen, den Button weiter anwählen
- Anschließend fragt Lightning nach Username und Passwort des Tine Accounts.
Kontakte
TBD