Ein Interessent fragte bei uns an, ob wir eine Tine 2.0-Installation mittels Paketverwaltung unter Debian 7.x Wheezy und in Verbindung mit PostgreSQL vornehmen könnten. Diese Kombination hatten wir bislang nicht, daher dieser Beitrag.
Klassischerweise installiert man Tine 2.0 auf einem LAMP (Linux, Apache, MySQL und PHP). Was die Datenbank betrifft, so ist zwar im Wiki des Projekts nach wie vor nur von MySQL die Rede, aber seit Ende 2012 gibt es ebenfalls eine Unterstützung für PostgreSQL und sogar Oracle.
Eine der Fragen, die sich stellten war, ob der Assistent, der bei einer Tine 2.0-Installation via Paketquelle aufgerufen wird, überhaupt nach dem Typ des Datenbankservers fragt. Um es vorweg zu nehmen: Nein, tut er nicht, aber dennoch ist eine Installation ohne große Hürden machbar.
Die folgenden Befehle wurden als root ausgeführt. Als Basissystem wurde ein Debian 7.1.0 Wheezy 64-bit verwendet.
PostgreSQL installieren und konfigurieren
Mit dem Befehl
apt-get install postgresql postgresql-client
wird der PostgreSQL-Server und -Client (für die Verwaltung) installiert. Im Unterschied zu MySQL verläuft die Installation unter Debian etwas anders, da kein Assistent startet und nach dem Datenbank-root-Benutzer des Datenbankservers fragt. Stattdessen wird sowohl ein Linux- als auch ein PostgreSQL-Benutzer mit dem Namen “postgres” angelegt, der im weiteren Verlauf verwendet wird.
Der “postgres”-Benutzer ist damit der Administrator für den Datenbankserver. Für Tine 2.0 muss ein neuer Benutzer samt Datenbank angelegt werden:
su - postgres psql CREATE USER tine20 WITH PASSWORD 'KENNWORT'; CREATE DATABASE tine20 OWNER tine20;
Mit dem ersten Befehl wechselt man zu dem Linux-Benutzer “postgres”, der automatisch bei der Installation eingerichtet wurde. Der zweite Befehl startet den PostgreSQL-Client. Die beiden letzten Befehle erzeugen einen neuen Datenbank-Benutzer und eine neue Datenbank.
Den PostgreSQL-Client verlässt man mit
\q
Hinweis: Da der “postgres”-Datenbankbenutzer per Standard kein Kennwort hat, sollte man aus Sicherheitsgründen eines vergeben:
\password postgres
Paketquellen vorbereiten
Zunächst müssen die Tine 2.0-Paketquellen dem System hinzugefügt werden:
nano /etc/apt/sources.list
Die folgenden Zeilen einfügen und die Änderung speichern:
# Tine 2.0 Repository deb http://packages.tine20.org/debian squeeze stable
An dieser Stelle darf man sich nicht wundern, es wird zwar als Quelle Squeeze angegeben, Diese funktioniert aber auch unter Wheezy, da es sich nur um ein Metapaket handelt. D.h. es werden die notwendigen Komponenten (Webserver, PHP) aus dem System-Repository und der Tine 2.0-Webstack heruntergeladen und installiert.
Damit die Tine 2.0-Pakete angenommen werden, muss der passende Schlüssel dem System hinzugefügt werden:
apt-key adv --recv-keys --keyserver keys.gnupg.net 7F6F6895
Während dieser Beitrag geschrieben wurde, gab es Probleme vom Server keys.gnupg.net den Schlüssel für die Tine 2.0-Pakete zu erhalten. Abhilfe schaffte die Abfrage eines anderen Servers:
apt-key adv --keyserver keyserver.topnet.de --recv-keys 7F6F6895
Nun fährt man noch ein Update der Paketquellen und ist damit bereit für die Installation:
apt-get update
Tine 2.0 installieren und konfigurieren
Die eigentlich Installation wird mit dem Befehl
apt-get install tine20
angestoßen. Nachdem die Pakete heruntergeladen und installiert wurden startet ein Assistent, der nach dem zu verwendeten Webserver (Apache/Lighttpd) und dem Setup-Benutzer von Tine 2.0 fragt. Gegen Ende der Installation wird normalerweise der Datenbankserver abfragt. Allerdings besteht hier eine Abhängigkeit zu MySQL, deswegen scheitert die Ausführung des Nachinstallations-Skripts:
... [ ok ] Reloading web server config: apache2. tine20-webstack (2013.03.7-0) wird eingerichtet ... Enabling module rewrite. To activate the new configuration, you need to run: service apache2 restart Enabling module expires. To activate the new configuration, you need to run: service apache2 restart tine20 (2013.03.7-0) wird eingerichtet ... /var/lib/dpkg/info/tine20.postinst: 50: /var/lib/dpkg/info/tine20.postinst: mysql: not found /var/lib/dpkg/info/tine20.postinst: 51: /var/lib/dpkg/info/tine20.postinst: mysql: not found
Update 24.09.2013: Zukünftig sollte es keine Fehlermeldungen mehr geben, da eine Überprüfung, ob der MySQL-Client installiert ist, eingebaut wurde. Vielen Dank an Philipp und Lars von Tine 2.0 für’s Feedback.
Der Webserver, PHP und Tine 2.0 sind zu diesem Zeitpunkt allerdings schon auf dem System installiert. Damit die PostreSQL-Unterstützung in PHP und damit auch für Tine 2.0 verfügbar ist, muss dieser Befehl ausgeführt werden:
apt-get install php5-pgsql
Nachdem der Befehl ausgeführt wurde, kann man in den “Setup Checks” von Tine 2.0 (siehe weiter unten) neben der MySQL- auch die PostgreSQL-Unterstützung sehen.
Über einen Browser kann man das Tine 2.0-Setup aufrufen:
http://IP-ODER-HOSTNAME/tine20/setup.php
Nach erfolgter Anmeldung als Tine 2.0-Setup-Benutzer, muss man zunächst den Lizenzverträgen zustimmen und nach erfolgreichen “Setup Checks” zum “Config Manager” wechseln.
Dort stellt man im Abschnitt “Database” bei “Backend” “PostgreSQL” ein und macht Angaben zum Datenbank-Benutzer. Bei Port muss “5432” eingetragen werden, andernfalls kommt keine Verbindung zustande.
Ab hier kann man wie gewohnt das Setup von Tine 2.0 konfigurieren und die gewünschten Anwendungen installieren.
Cronjob
Der Cronjob für Tine 2.0 ist relevant, damit Kalenderalarme funktionieren. Die notwendige Vorgehensweise ist hier beschrieben:
Backup
Neben den Tine 2.0-Dateien muss vor allem die Datenbank gesichert werden. PostgreSQL bietet dafür das Tool
pg_dump
an. Ein einfacher Backup-Befehl könnte z.B. so aussehen:
pg_dump --file=tine20_db_backup.sql tine20
Updates
Das Aktualisieren einer Tine 2.0-Installation, die über die Paketverwaltung realisiert ist, ist nicht alleine mit dem Befehl
apt-get update && apt-get upgrade
getan. Im Nachgang muss nach der Paketaktualisierung das Setup-Skript ausgeführt werden. Die Prozedur dazu ist in diesem Beitrag beschrieben:
Tine 2.0: Updaten von Tine 2.0 bei Installation über die Paketquellen
Persönliche Bemerkung
Das ist das erste Mal überhaupt, das ich mit PostgreSQL etwas zu tun habe. So wie es nach diesem Test aussieht, ist das Setup recht einfach und funktional. Einzig die Gewohnheit, sprich MySQL, bringt einen gern mal durcheinander.
Links & Einzelnachweise
PostgreSQL Datenbank-Server unter Debian GNU/Linux 5.0 “Lenny” Howto
Tine 2.0: Installation mittels Repository
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Schreibe einen Kommentar