home   articles   archive   forum   masthead  
Published at 15.12.02
Author: Thomas Grotevent
Languages: de
Printer printer-version
Support Us!
  Warning: This article needs a translator.

Wollmilchsau Server: 9. HORDE-IMP - Webmail mit Komfort

Kapitelübersicht:
1. Einleitung
2. Basisinstallation
3. LAMP
4. Mailserver
5. SIEVE (Websieve 0.61 / Easysieve 1.1)
6. Hylafax: Fax & Fax/Mail-Integration
7. Squirrelmail
8. Horde PHP Framework
9. Horde IMP - Webmail mit Komfort
10. Horde Turba: Kontaktmanagement
11. VBOX - Anrufbeantworter im Server
12. WebMin


Imp (dt. "Gnom") ist das Webmail-Frontend und wohl der Ursprung des Horde-Projektes.
Das Frontend hat ähnliche Funktionen wie Squirrel, ist aber weitaus komfortabler und macht einen ausgefeilteren Eindruck. Dazu kommt die relativ einfache Erweiterbarkeit.

IMP Screenshot

9.1. Vor der Installation

Zur Installation müssen einige Voraussetzungen erfüllt sein, die Sie zunächst prüfen sollten:

  • Installiertes und funktionierendes (!) Horde Framework.
  • PHP muss mit IMAP- und POP3-Support kompiliert sein.
  • IMAP-Server (POP3 unterstützt nicht alle Fähigkeiten von IMP, daher nicht getestet).
  • Sendmail, Postfix oder äquivalent
  • Optional Turba (Contacs Management)
  • Ispell (ggf. per YaST nachinstallieren!)

9.2. Installation

Die Installation verläuft ebenso einfach wie beim Horde-Framework. Auch IMP ist komplett in PHP geschrieben, die Installation ist ebenfalls nur ein Kopiervorgang.
Als Verzeichnis sollte ein Verzeichnis unterhalb des Horde-Verzeichnisses gewählt werden. Wenn Sie bis hierher bereits dem Script gefolgt sind, wäre das z.B. /data/httpd/htdocs/horde/imp. Der Name ist dabei nicht festgelegt, es wird hier wegen besserer Übersichtlichkeit imp verwendet.

  • Legen Sie das Verzeichnis /data/httpd/htdocs/horde/imp an
  • Entpacken Sie das IMP-Tar in dieses Verzeichnis oder kopieren Sie die Dateien nach dem Entpacken dorthin.
IMP ist dann unter http://your.server.here/horde/imp zu starten.

9.3. Registrierung im Horde-Framework

In der Datei horde/config/registry.php muss der Bereich für IMP entkommentiert werden.
Beachten Sie dabei, das Sie das ");" am Ende ebenfalls entkommentieren.
Wurden die Verzeichnisse oder die Web-URL gegenüber dem Horde-Verzeichnis geändert, müssen die fileroot- und webroot-Einträge entsprechend geändert werden.
Auszug aus der horde/config/registry.php:

horde/config/registry.php
  /**
   * Application registry
   * --------------------
  
  . . .
  
  $this->applications['imp'] = array(
      'fileroot' => dirname(__FILE__) . '/../imp',
      'webroot' => $this->applications['horde']['webroot'] . '/imp',
      'icon' => '/horde/imp/graphics/imp.gif',
      'name' => _("Mail"),
      'allow_guests' => true,
      'show' => true
  );
  


Normalerweise werden die User zunächst durch Horde selbst authentifiziert. Da IMP eine eigene Authentifikation vornimmt, ist dies etwas lästig: Es wird immer doppelt nach den Accountdaten gefragt. Soll die Authentifizierung komplett durch IMP erfolgen, müssen die Zeilen

  	$this->registry['auth']['login'] = 'imp';
  	$this->registry['auth']['logout'] = 'imp';
  
kurz unter dem Beginn von registry.php entkommentiert werden.

9.4. Konfigurationsdateien

Auch hier gibt es ein Verzeichnis "config".

  • Wechseln Sie in das Verzeichnis horde/imp/config/
  • Kopieren Sie alle Dateien um, die am Ende ein "dist" besitzen. Diese Endung muss entfernt werden. Es empfiehlt sich auch hier, das Original nicht zu verändern oder zu löschen, sondern es als Referenz zu behalten:
           for foo in *.dist; do cp $foo $(basename $foo .dist); done
      
  • Die Datei conf.php editieren und anpassen (Auszug aus conf.php)

    conf.php
      // If ispell or aspell is available, then we will provide a spelling
      // checker. If this is empty (''), null, or false, then spell checking
      // will be disabled.
      $conf['utils']['spellchecker'] = 'ispell';
      // ispell eingesetzt
      
      /**
       ** Menu settings
       **/
      
      // This is an array of applications (using the names defined in
      // horde/config/registry.php) to include links to in the menubar. An
      // example providing a link to Turba (an addressbook program) would
      // be: $conf['menu']['apps'] = array('turba');
      $conf['menu']['apps'] = array('turba');
      // turba einsetzen, wenn es installiert werden soll.
      


  • Die Mailserver in servers.php eintragen:

    servers.php
      $servers['cyrus'] = array(
          'name' => 'Cyrus IMAP Server',
          'server' => 'server.dummy.domain',
          'protocol' => 'imap',
          'port' => 143,
          'folders' => '',
          'namespace' => 'INBOX.',
          'maildomain' => 'dummy.domain',
          'realm' => 'dummy.domain',
          'preferred' => ''
      );
      /* angepasst.... */
      
      
      /* $servers['pop'] = array(
      *    'name' => 'POP3 Server',
      *    'server' => 'pop.example.com',
      *    'protocol' => 'pop3',
      *    'port' => 110,
      *    'folders' => '',
      *    'namespace' => '',
      *    'maildomain' => 'example.com',
      *    'realm' => 'example.com',
      *    'preferred' => ''
      *);
      * Auskommentiert */
      ?>
      


  • Die Servereinträge können entfallen, in dem Fall können User eigene Server angeben.
  • Alle anderen Dateien müssen nur angepasst werden, wenn ein anderes Erscheinungsbild oder ein anderes Verhalten von IMP gewünscht wird. Die Dateien sind in aller Regel selbsterklärend und gut dokumentiert.

9.5. Sicherheit

  • Verwenden Sie einen SSL-fähigen Webserver und nutzen Sie es auch
  • verwenden Sie entweder einen Mailserver auf der selben Maschine, oder verwenden Sie IMAP-SSL oder POP3-SSL.

Beides verhindert das unverschlüsselte Übertragen von Mailpassworten und Mails. Bedenken Sie, dass es bei getrennten Mail- und Webservern zwei Übertragungswege gibt: Vom User zum Webserver und vom Webserver zum Mailserver. Ein Webserver mit SSL sichert nur die Web-Verbindung vom User zum Webserver, nicht jedoch die IMAP-Verbindung vom Webserver zum Mailserver! Ansonsten gilt das bereits zu Horde-Framework gesagte: Zugriffsrechte vergeben oder die entsprechende .htaccess-Datei benutzen. Das config-Verzeichnis sollte nicht für Benutzer lesbar sein.

9.6. Konfiguration der Oberfläche

Es gibt zwei Einstellungen, die man unbedingt vornehmen sollte:

  • Neben dem "Sprache"-Eintrag im Anmeldebildschirm wird eine feste Spracheinstellung für die Menüoptionen verwendet. Im "noch englischen" Imp-Menü auf den Punkt "Options" klicken, dann im folgenden Bildschirm in der ersten Spalte "Language" anklicken.
    Wählen Sie "Deutsch" aus.
  • Wesentlich wichtiger: IMP versendet jetzt noch Mails ohne Absenderangabe (Kein Eintrag im From: - Feld des Mailheaders). Wählen Sie den Punkt "Persönliche Angaben" in den Einstellungen. Sie können hier zwischen mehreren Identitäten wechseln. Klicken Sie auf "Identitäten bearbeiten".
  • Im folgenden Fenster wählen Sie zunächst im obersten Feld die "Default Identity" und tragen nun mindestens unter "Ihre Von: Adresse" Ihre Email-Adresse ein. Die weiteren Felder können ausgefüllt werden, die Von:-Adresse ist zwingend.
  • Ein Klick auf "Ändern" speichert die Vorgaben.

9.7. Testen

Zum Testen verwenden Sie einen Browser - bevorzugt auf einem anderen PC - und geben die URL http://your.server.here/horde/imp ein. Melden Sie sich mit einem gültigen IMAP-Usernamen an.

  • Testen Sie nun die Mailfunktionen:
  • Senden (von compose aus)
  • Einstellungen vornehmen, ausloggen, einloggen. Einstellungen noch da?
  • Reading Mail
  • Ordner wechseln (nur IMAP)
Jeder Benutzer kann nun seine bevorzugten Einstellungen bezüglich Sprache usw. vornehmen. Imp ist sehr anpassbar...


Talkback Area




Enter Own Comment