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


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:
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.


  • 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.


  • 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


  • 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


  • 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.


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.

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).


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