Debian Tine

Aus Wiki
Zur Navigation springen Zur Suche springen

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:
Tine Setup1.png
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.
Tine Setup2.png
Alle Punkte sollten hier mit einem grünen Haken versehen sein.


  • Den Punkt Config Manager im linken Navigationsbereich anwählen.
Tine Setup3.png

Hier sollten im Normalfall keine Änderungen erforderlich sein.


  • Anschließend den Punkt Authentication/Accounts im linken Navigationsbereich auswählen.
Tine Setup4.png
Folgende Einstellungen vornehmen:
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.
Tine Setup5.png
Folgende Imap Einstellungen vornehmen (Haken bei IMAP setzen):
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.
Tine Setup6.png
Nacheinander die einzelnen Apps selektieren und den Button install application 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:

Tine Admin1.png

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.

Tine Admin2.png

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.

Bulbgraph.png Hinweis:
Als Serveradresse muss eine der folgenden Adressen verwendet werden:
  • IP_Des_Server (lokal, kein SSL)
  • domain.org (Internet, kein SSL)
  • tine.domain.org (Internet, Virtual Host incl. SSL)


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

Warning.png Achtung:
Evtl. am Handy auftauchende Einträge von Tine-Usernamen dürfen unter keinen Umständen am Handy gelöscht werden. Ansonsten bricht die Synchronisation mit Tine ab, ohne dass Daten übertragen werden. Es ist bisher keine Möglichkeit bekannt, um einen solchen Umstand wieder zu reparieren. Es wäre dann eine Neuinstallation erforderlich, wobei die MySQL-Datenbank von Tine ebenfalls gelöscht werden muss (z.B. mit phpMyAdmin).