Mit der Horde Groupware Webmail Edition kann man, wenn man ein IMAP-Mail-Konto hat, über eine Web-Schnittstelle von überall aus auf seine Mails zugreifen. Für Besitzer eigener Domains und zugehöriger E-Mail-Adressen bietet das gegenüber etwa Google Mail den Vorteil, diese Adressen als Absender-Adressen nutzen zu können und E-Mails dabei auch über den SMTP-Server zu verschicken, an den die Adressen ggf. per SPF gekettet sind.
Die Horde-Entwickler haben Leute im Blick, die wirklich über einen eigenen Server gebieten. Eine Installation bei einem Webhoster, bei dem man nur einen FTP-Zugang hat, ist nicht vorgesehen. Das wollte ich aber. Und es geht. Zum Glück beinhaltet mein Webhosting-Paket all die PHP-Erweiterungen, die Horde verlangt.
Für die Art von Installation, die mir gelungen ist, braucht man außer dem entfernten Webserver mit FTP-Zugang und einer Möglichkeit, MySQL zu verwalten (z.B. phpMyAdmin), auch noch eine lokal laufende MySQL-Datenbank, „gegen“ die man Horde erst mal vorkonfigurieren kann. Das geschieht nämlich mit Hilfe des Skripts scripts/setup.php
, das man von der Kommandozeile aus ausführen muss. Man benötigt also auch eine lokale PHP-Installation mit Kommandozeileninterpreter. Die muss aber nicht all die von Horde geforderten Erweiterungen aufweisen.
Man lädt sich also Horde runter, geht in das Horde-Verzeichnis, tippt…
php scripts/setup.php
und sieht:
Configuration Menu
(0) Exit
(1) Configure database settings
(2) Create database or tables
(3) Configure administrator settings
Der Trick ist jetzt, diese Punkte in der Reihenfolge 1, 2, 1, 3, 0 abzuarbeiten. Also:
- (1) Die Datenbankeinstellungen für die lokale Datenbank vornehmen. Das UNIX-Socket, das man angeben muss, kann man bei entsprechend konfiguriertem PHP z.B. per phpinfo() herausfinden, dort ist es unter der Überschrift mysql aufgeführt.
- (2) Die von Horde benötigten Tabellen in der lokalen Datenbank erzeugen lassen.
- (1) Die Datenbankeinstellungen auf die für die Datenbank auf dem Zielserver benötigten Werte ändern. Wie man das UNIX-Socket herausfindet, siehe unter 1.
- (3) Den zum eigenen IMAP-Postfach gehörigen Benutzernamen als Administrator-Benutzernamen angeben.
- (0) Das Konfigurationsskript verlassen.
- Die unter 2 in der lokalen Datenbank erzeugten Tabellen exportieren und auf dem Zielserver importieren. Das geht z.B. mit phpMyAdmin.
- Das Horde-Verzeichnis mitsamt der unter 3 erzeugten
config/conf.php
auf den Zielserver hochladen. - Von hier ab reicht die offizielle Horde-Installationsanleitung wieder.
Hallo,
Ich würde mir dies auch gerne installieren und verfüge auch „nur“ über Webspace mit MySQL-Datenbank. Da es mir aber leider an php-Wissen fehlt, verstehe ich den Schritt mit der Scriptausführung nicht. Wie und/ oder wo führe ich dies aus? Was ist die Kommandozeile und wie komme ich dahin?
Über eine Hilfestellung würde ich mich sehr freuen.
Tobi
Unter Windows kommst du mit Start → Ausführen → cmd zu Kommandozeile (ich gehe mal davon aus, dass du nicht Linux o.Ä. nutzt, sonst wüsstest du, was eine Kommandozeile ist. :-)).
Ein Webserver, PHP und MySQL müssen auf deinem eigenen Rechner installiert sein, damit du die Schritte ausführen kannst. Der einfachste Weg, all das zu installieren, ist wahrscheinlich XAMPP (http://www.apachefriends.org/de/xampp.html).
Ich hoffe, das bringt dich dem Ziel näher!
Hallo und Danke für den Hinweis. Zum Xampp war ich zwischenzeitlich auch durchgestoßen. Das mit Kommandozeile das gute alte DOS-Fenster gemeint ist, hätte ich wohl auch drauf kommen können. Leider funktioniert es aber nicht. Wenn ich mich in den Ordner c:\xampp\htdocs\horde\ begebe und dann „php scripts\setup.php“ eingebe, erscheint nur der Hinweis „php is not recognized as an internal or external command, operable program or batch file“. Ratlosigkeit macht sich breit. Insofern ich mir auch recht neu eine Linux-Installation eingerichtet habe, sollte ich es vielleicht einmal damit versuchen.
Das ist zu empfehlen. Aber dass das System php nicht findet, ist ein Problem, das auch unter Linux auftreten kann und sich leicht beheben lässt. Die Umgebungsvariable namens PATH muss den Pfad des Verzeichnisses enthalten, in dem php (Linux) bzw. php.exe (Windows) liegt. Unter Windows XP bearbeitet man Umgebungsvariablen, so weit ich mich erinnere, über die Eigenschaften des „Arbeitsplatzes“, unter Linux i.d.R. indem man die Datei .bashrc im Home-Verzeichnis bearbeitet.
„Die Windows-Pakete zwischen PHP 4.2.0 und PHP 4.2.3 enthielten das CLI als php-cli.exe, beheimatet im selben Verzeichnis wie das CGI php.exe. Beginnend mit PHP 4.3.0 enthält das Windows-Paket das CLI als php.exe in einem eigenen Verzeichnis namens cli, also cli/php.exe. Beginnend mit PHP 5 wird das CLI im Hauptordner als php.exe ausgeliefert. Die CGI-Version heisst php-cgi.exe.“ [http://de2.php.net/features.commandline]
Ich arbeite unter OSX 10.7 Lion und MAMP. Irgendwie komme ich allerdings nicht ganz klar. Das Konfigurationsmenü nach Aufruf von php scripts/setup.php erhalte ich problemlos in X11. Bisher habe ich dann nacheinander alle dort abgefragten Punkte abgearbeitet. Offensichtlich scheint das aber nicht richtig zu sein, weil Du eine andere Reihenfolge beschreibst. Wenn ich richtig verstanden habe, muss ich direkt nach der Pfadangabe zum Unix-socket die Datenbank und die entsprechenden Tabellen erstellen. Wie mache ich das jetzt? Vielleicht kannst Du mir helfen.
Die Tabellen erstellt setup.php, wenn du Schritt 2 ausführst. Eine Datenbank muss vorher bereits vorhanden sein, denn deren Namen musst du ja in Schritt 1 angeben (so weit ich mich erinnere). Du kannst entweder eine neue Datenbank für diesen Zweck anlegen oder eine bestehende verwenden.