Debian Horde

Aus Wiki
Zur Navigation springen Zur Suche springen

Allgemein

Horde (www.horde.org) ist ein sehr mächtiges Webmail-System, das aber auch relativ komplex in der Konfiguration ist. Hier kommt die Webmail Edition (www.horde.org/webmail) zum Einsatz, die neben der reinen Webmail Funktionalität noch einen Email-Filter (Ingo), Kalender (Turba),Aufgabenplaner (Kronolith) und weitere Module mitbringt.

Diese Anleitung hier im Folgenden basiert auf der offiziellen Kurzanleitung (http://www.horde.org/webmail/docs/?f=INSTALL.html) und wurde an einigen Stellen ergänzt.

Voraussetzung:


Installation

PHP-Module

Horde benötigt zahlreiche PHP-Module:

apt-get install php5-gd php5-mcrypt php5-geoip
pear channel-update pear.php.net
pear install DB
pear install MDB2
pear install MDB2_Driver_mysql
pear install MDB2_Driver_mysqli
pear install file
pear install Net_SMTP
pear install Net_IMAP
pear install Net_Sieve
pear install Net_Socket
pear install HTTP_Request
pear install HTTP_WebDAV_Server-beta
pear install XML_Serializer-0.19.2
pear install Date_Holidays-0.21.2
pear install Date_Holidays_Germany-0.1.2


Optional (C-Compiler erforderlich):

apt-get install libmagic-dev
pecl install fileinfo
vi /etc/php5/conf.d/fileinfo.ini

Folgende Zeilen einfügen:

# configuration for php fileinfo module
extension=fileinfo.so

Datenbank anlegen

Horde benötigt eine SQL-Datenbank (horde) für die der User horde mit Passwort horde_pwd Zugriff erhält.

 mysql -u root -p

sql_root_pwd eingeben

CREATE DATABASE horde;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON horde.* TO horde@localhost IDENTIFIED BY 'horde_pwd';
exit

Download und Entpacken

Zum Einsatz kommt horde-webmail in der Version 1.2.2. Unter http://www.horde.org/download/app/?app=webmail nachsehen, ob evtl. eine neuere Version verfügbar ist. Dann die Pfade entsprechend anpassen.

mkdir -p /usr/local/src
wget ftp://ftp.horde.org/pub/horde-webmail/horde-webmail-1.2.2.tar.gz
tar xvf horde-webmail-1.2.2.tar.gz
mv horde-webmail-1.2.2 /var/www/hordewebmail
cd /var/www/hordewebmail
chown -R www-data. ../hordewebmail

Setup Script

Die Ersteinrichtung erfolgt mittels eines Scriptes, das sehr viele Voreinstellungen vornimmt und die Datenbank-Tabellen anlegt.

Bulbgraph.png Hinweis:

Das Script enthält bereits einige Vorgabewerte, die in [] Klammern dargestellt werden. Falls der Vorgabewert zutreffend ist, kann dieser mit Enter/Return bestätigt werden

scripts/setup.php

Per Default sollte als Webroot-Verzeichnis /hordewebmail angegeben sein. Dies mit enter übernhemen. Anschließend wird ein Menü dargestellt, dessen Menüpunkte durch die Zahlen 0...4 angewählt werden können.

  • (1) Configure database settings anwählen und folgende Eingaben vornehmen:
Database Backend: mysqli
Username: horde
Passwort (siehe Datenbank anlegen): horde_pwd
Database Connection: unix
Unix Socket: /var/run/mysqld/mysqld.sock
Database Name: horde
International Charset: utf-8
Split reads: false
  • (2) Create database or tables anwählen und folgende Eingaben vornehmen:
Create Database: n
Database superuser: root
Superuser Passwort: root_sql_pwd
Die Tabellen sollten nun angelegt und jeweils mit [OK] bestätigt werden
  • (3) Configure administrator settings anwählen und folgende Eingaben vornehmen:
Mailuser eingeben, der Admin-Rechte in Horde erhalten soll: z.B. Tux
  • (0) Exit' anwählen, um das Setup-Script zu beenden

Webbasierter Konfigcheck

Horde stellt PHP-Testscripte zur Verfügung, mit dessen Hilfe die Konfiguration und vor allem die benötigten PHP-Module überprüft werden können. Webserver neustarten, um die im 1. Schritt installierten PP-Module zu übernehmen:

/etc/init.d/apache2 restart

Webbrowser öffnen und die Adresse: http://IP_des_Servers/hordewebmail/test.php eingeben. Horde-Framework: Es erscheint eine Testseite, die checkt, ob alle generellen Voraussetzungen zum Betrieb des Horde Frameworks erfüllt sind. Alle erfüllten Voraussetzungen werden in grün dargestellt. Nicht erfüllte Voraussetzungen, die aber optional sind, werden gelb dargestellt zusammen mit einer kurzen Erläuterung zur evtl. Lösung. Rot dargestellte Einträge sind essentiell und müssen für ein korrekte Funktion erfüllt werden.

IMP (Webmail)-Modul: Den Link 'run Imp tests' anwälen. Checken, dass keine rot markierten Einträge vorhanden sind. Zurück zur test.php - Hauptseite gehen

Ingo (Mailfilter)-Modul: Den Link 'run Ingo tests' aufrufen. Checken, dass keine rot markierten Einträge vorhanden sind. Zurück zur test.php - Hauptseite gehen

Kronolith (Kalender)-Modul: Den Link 'run Kronolith tests' aufrufen. Checken, dass keine rot markierten Einträge vorhanden sind. Zurück zur test.php - Hauptseite gehen

Turba (Adressbuch)-Modul: Den Link 'run Turba tests' aufrufen. Checken, dass keine rot markierten Einträge vorhanden sind. Zurück zur test.php - Hauptseite gehen


Konfiguration und Administration

Nach erfolgreichem Test von Horde mittels test.php, kann man sich nun mit dem angelegten Admin-User einloggen. http://IP_des_Servers/hordewebmail eingeben. Am Login-Bildschirm die Usernamen und Passwort des Adminusers - z.B. Tux - eingeben (Modus Traditionell).

Im linken Frame Administration/Konfiguration auswählen. Die einzelnen Module sind der Reihe nach aufgelistet. Am rechten Rand sollte für jedes Modul der Status 'Anwendung ist bereit' angezeigt werden.

Horde Framework

Das Modul Horde anklicken. Eine Seite mit sehr vielen Reitern am oberen Rand erscheint. In jedem Reiter gibt es eine ganze Anzahl von Optionen mit denen das Verhalten von Horde angepasst werden kann. Dank der guten Vorkonfiguration sind aber nur relativ wenig Einstellungen erforderlich, um Horde zu benutzen. Für Fortgeschrittene Administratoren gibt es hier allerdings zahlreiche Optionen fürs Feintuning.

  • Authentication:
$conf[auth][driver]: IMAP authentication
$conf[auth][params][dsn]: {localhost:143/imap/notls} (sollte bereits als Voreinstellung angegeben sein)
  • MIME Detection:
$conf[mime][magic_db]: /usr/share/misc/magic

Button Horde-Konfiguration erzeugen anklicken.

Kronolith (Kalender)

Im linken Frame Administration/Konfiguration auswählen. Das Modul Kronolith anklicken. Im Bereich Reminder Settings folgende Einstellungen vornehmen:

$conf[reminder][server_name]: localhost
$conf[reminder][from_addr]: horde@domain.org

Button Kalender-Konfiguration erzeugen anklicken.


Einstellungen

Horde bietet zahlreiche benutzerspezifische Einstellungen, die jeder Nutzer von Horde selbst vornehmen kann. In der linken Leiste Einstellungen wählen.

Allgemeine Einstellungen

Rechts oben in der Dropdown-Liste Allgemeine Einstellungen auswählen. Eine Seite mit mehreren Bereichen erscheint. Den gewünschten Bereich auswählen und die erforderlichen Einstellungen vornehmen. Hier nur eine Auswahl möglicher wichtiger Einstellungen.

  • Persönliche Angaben: Hier wird die Identität zum Versenden von Emails festgelegt.
Ihr vollständiger Name: Name und Vorname eingeben.
Ihre Von: Adresse: email-Adresse eintragen
  • Sprache und Zeit: Festlegen des Zeit- und Datumformats
Wählen Sie Ihre bevorzugte Sprache: Sprache auswählen, bzw. Standard
Ihre aktuelle Zeitzone: Standard
Zeit im 24-Stunden-Format: nach Bedarf
Datumsformat: nach Bedarf
Wochenbeginn: Montag
  • Anzeige-Einstellungen
Zahlreiche Einstellungen zur visuellen Darstellung von Horde, z.B.
Farbschema: gewnünschtes Farbschema auswählen

Kalender Einstellungen

Rechts oben in der Dropdown-Liste Kalender auswählen. Eine Seite mit mehreren Bereichen erscheint. Den gewünschten Bereich auswählen und die erforderlichen Einstellungen vornehmen. Hier nur eine Auswahl möglicher wichtiger Einstellungen.

  • Benutzeroberfläche:
Erster Wochentag: Montag
  • Feiertage
Germany aus der Liste auswählen, um deutsche Feiertage im Kalender zu verwenden
  • Benachrichtigungen:
Art der Benachrichtigung: Je nach Wunsch eingebettet evtl. incl. Erinnerungston, als Popup Fenster oder per Email


Webmail

Webmail Interfaces

Horde stellt mehrerer Webmail Interfaces bereit:

  • tratidionell: Ein "klassisches" Interface, wie es von vielen Free-Mailer-Diensten im Internet bekannt sein sollte.
  • dynamisch: Ein modernes Ajax-basiertes Webmailinterface.
  • Mobil: Interface, das für Geräte mit kleinem Display (z.B. Handy oder PDA) optimiert ist.

Das gewünschte Interface kann am Login-Bildschirm ausgewählt werden. Leider fehlt beim dynamischen Userinterface die Horde-Leiste am linken Bildrand, sodass die Konfiguration (siehe oben) nicht erreichbar ist. D.h. der Admin muß sich mit der Ansicht traditionell einloggen, falls Konfigurationseinstellungen vorgenommen werden sollen. Ansonsten empfiehlt sich das dynamische Interface zu verwenden, da es deutlich bedienerfreundlicher ist und sich eher wie eine Desktop-Applikation anfühlt, als das traditionelle Interface.

Optional: HTML-Messages

Standardmäßig zeigt Horde Webmail keine HTML Mails an. Dies ist eine Sicherheitsmaßnahme, da HTML-Mails schädlichen Code enthalten könnten. Andererseits sehen HTML-Mails bestenfalls nicht besonders gut aus, schlimmstenfalls erscheint keinerlei Mailtext, falls die HTML-Anzeige nicht aktiviert wurde. Um die Anzeige von HTML-Mails zu ermöglichen, folgende Änderung durchführen:

vi /var/www/hordewebmail/imp/config/mime_drivers.php

Folgende Zeile abändern:

$mime_drivers['imp']['html'] = array(
   'inline' => false,

in:

 $mime_drivers['imp']['html'] = array(
   'inline' => true,

Alarme

Horde bietet die Möglichkeit, Mails zu versenden, um sich an Termine erinnern zu lassen, selbst wenn der Horde Webmailer nicht geöffnet ist. Damit dies funktionert, muß noch folgender Cronjob eingerichtet werden:

vi /etc/cron.d/horde

Folgende Zeile einfügen:

*/5 * * * * /usr/bin/php /var/www/hordewebmail/scripts/alarms.php

Kalenderzugriff mit Clientsoftware

Horde stellt seinen Kalender mittels ICAL-Protokoll auch Clientsoftware wie z.B. Mozilla Sunbird bzw. Thunderbird+Lightning Addon zur Verfügung. Die Einrichtung der Clientsoftware wird hier nicht näher erläutert.

Einen neuen Kalender anlegen. Als Typ Netzwerk Kalender auswählern. Adresse: http://domain.org/hordewebmail/rpc.php/kronolith/user/user.ics Z.B. für User Tux: http://domain.org/hordewebmail/rpc.php/kronolith/Tux/Tux.ics Username und Passwort des Users Tux eingeben.