Horde Webmail · 7 min read · Sep 29, 2025

Installieren von Horde 5 Webmail für ISPConfig auf Debian Jessie über PEAR

Horde ist eine Groupware-Suite, die E-Mail, Kalender, Aufgaben-, Kontaktverwaltung und vieles mehr bietet. Es bietet auch SyncML und ActiveSync, um mit Ihren Mobiltelefonen oder anderer Software zu synchronisieren. Weitere Informationen über Horde finden Sie auf ihrer Webseite: http://www.horde.org/

Dieses Howto geht davon aus, dass Sie die ISPConfig 3-Installation für Debian Jessie (Apache2, Bind, Dovecot) und alle dort enthaltenen Pakete befolgt haben.

1. Notwendige Pakete installieren

apt-get install php5-sasl php5-intl libssh2-php php5-curl php-http php5-xmlrpc php5-geoip php5-ldap php5-memcache php5-memcached php5-tidy

2. Konfliktierende Pakete entfernen

Das Paket php5-xcache funktioniert nicht mit Horde. Statt php5-xcache kann eines der anderen Cache-Tools wie memcache verwendet werden.

apt-get remove php5-xcache

3. Den Horde Pear-Kanal registrieren

pear channel-discover pear.horde.org

4. Das Installationsverzeichnis von Horde festlegen

pear install horde/horde_role  
pear run-scripts horde/horde_role

Sie werden nach folgender Frage gefragt:

Dateisysteminstallation für die Basis-Horde-Anwendung: /var/www/horde

Sie können auch einen anderen Ordner für die webzugänglichen Horde-Dateien wählen. Sie müssen dann jedoch den Pfad in den folgenden Schritten anpassen.

5. Horde Groupware Webmail Edition installieren

pear install -a -B horde/webmail

Das dauert eine Weile und es wird einige Fehler bezüglich fehlender Pear-Pakete geben. Diese werden später behoben.

6. MySQL-Datenbank erstellen

Das Horde-Installationsskript erstellt keine MySQL-Datenbank von selbst. Daher müssen wir sie zuerst erstellen und auch den entsprechenden Benutzer.

Geben Sie die MySQL-Shell ein als

mysql -u root -p

Sobald Sie eingetreten sind, erstellen Sie die Datenbank und den Benutzer ‘horde’ mit dem Passwort ‘PASSWORD’. Wenn Sie den Datenbanknamen, den Benutzernamen ändern möchten, ändern Sie die entsprechenden Informationen. Setzen Sie natürlich Ihr eigenes Passwort.

CREATE DATABASE horde;  
GRANT ALL ON horde.* TO horde@localhost IDENTIFIED BY 'PASSWORD';  
FLUSH PRIVILEGES;

Verlassen Sie die MySQL-Shell wieder

exit;

7. Installationsskript ausführen

webmail-install

Sie werden nach den folgenden Fragen gefragt:

Welches Datenbank-Backend sollten wir verwenden? mysql

Benutzername, um sich mit der Datenbank zu verbinden: Der Benutzername, den Sie im vorherigen Schritt festgelegt haben

Passwort zur Verbindung: Das Passwort, das Sie im vorherigen Schritt festgelegt haben

Wie sollten wir uns mit der Datenbank verbinden? unix

Standort des UNIX-Sockets: Drücken Sie einfach [Enter]

Datenbankname zu verwenden: Der Datenbankname, den Sie im vorherigen Schritt festgelegt haben

Intern verwendeter Zeichensatz: utf-8

SSL zur Verbindung mit dem Server verwenden: 0 *

Zertifizierungsstelle für die SSL-Verbindung verwenden: Drücken Sie einfach [Enter]

Lesen auf einen anderen Server aufteilen? false

Geben Sie einen vorhandenen E-Mail-Benutzer an, dem Sie Administratorrechte geben möchten (optional): [email protected]

  • Setzen Sie SSL nur auf 1, wenn Sie für jede Domain ein SSL-Zertifikat bereitstellen können.

Wählen Sie einen vorhandenen E-Mail-Benutzer aus. Dieser Benutzer hat dann Konfigurationsrechte innerhalb von Horde selbst. Dies ist erforderlich, um die anfänglichen Konfigurationsdateien zu erstellen.

8. Erstellen Sie einen benutzerdefinierten phptmp-Ordner und ändern Sie den Besitzer des Horde-Ordners auf den Apache-Benutzer

mkdir /var/www/horde/phptmp/  
chown -R www-data:www-data /var/www/horde

9. Zusätzliche PEAR-Komponenten hinzufügen

pear install channel://pear.php.net/Console_GetoptPlus-1.0.0RC1  
pear install horde/Horde_ManageSieve  
pear install channel://pear.php.net/XML_Serializer-0.20.2  
pear install channel://pear.php.net/Date_Holidays-0.21.8  
pear install channel://pear.php.net/Text_LanguageDetect-0.3.0  
pear install pear/HTTP_Request2  
pear install channel://pear.php.net/Console_Color2-0.1.2  
pear install channel://pear.php.net/Numbers_Words-0.18.1  
pear install channel://pear.php.net/Image_Text-0.7.0  
pear install pear/Console_Getargs

10. Lokale PEAR-Feiertagskalender hinzufügen (optional)

Es gibt bereits mehrere Feiertagskalender in PEAR verfügbar. Standardmäßig sind sie nicht installiert. Wählen Sie einen oder mehrere der folgenden Kalender aus, wenn Sie diese installieren möchten. Dies ermöglicht es in Horde Kronolith (=Kalender), Feiertage für dieses Land anzuzeigen. Natürlich könnten Sie auch Ihren eigenen benutzerdefinierten Kalender zur PEAR-Installation hinzufügen.

pear install channel://pear.php.net/Date_Holidays_Australia-0.2.2  
pear install channel://pear.php.net/Date_Holidays_Austria-0.1.6  
pear install channel://pear.php.net/Date_Holidays_Brazil-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Croatia-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Czech-0.1.0  
pear install channel://pear.php.net/Date_Holidays_Denmark-0.1.3  
pear install channel://pear.php.net/Date_Holidays_Discordian-0.1.1  
pear install channel://pear.php.net/Date_Holidays_EnglandWales-0.1.5  
pear install channel://pear.php.net/Date_Holidays_Finland-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Germany-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Iceland-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Ireland-0.1.3  
pear install channel://pear.php.net/Date_Holidays_Italy-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Japan-0.1.3  
pear install channel://pear.php.net/Date_Holidays_Netherlands-0.1.4  
pear install channel://pear.php.net/Date_Holidays_Norway-0.1.2  
pear install channel://pear.php.net/Date_Holidays_PHPdotNet-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Portugal-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Romania-0.1.2  
pear install channel://pear.php.net/Date_Holidays_SanMarino-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Serbia-0.1.0  
pear install channel://pear.php.net/Date_Holidays_Slovenia-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Spain-0.1.4  
pear install channel://pear.php.net/Date_Holidays_Sweden-0.1.3  
pear install channel://pear.php.net/Date_Holidays_Turkey-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Ukraine-0.1.2  
pear install channel://pear.php.net/Date_Holidays_UNO-0.1.3  
pear install channel://pear.php.net/Date_Holidays_USA-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Venezuela-0.1.1

11. Erstellen Sie /etc/apache2/conf-available/horde.conf mit folgendem Inhalt

Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.php
Alias /horde /var/www/horde

           Options +FollowSymLinks
           AllowOverride All
           Require all granted
           AddType application/x-httpd-php .php
           php_value include_path ".:/usr/share/php"
           php_value open_basedir "none"
           php_value upload_tmp_dir "/var/www/horde/phptmp/"

Aktivieren Sie dann diesen neuen Apache-Konfigurationsausschnitt:

a2enconf horde

12. Apache neu starten

/etc/init.d/apache2 restart

13. Bearbeiten Sie /var/www/horde/config/conf.php und setzen Sie

$conf['testdisable'] = false; 

14. Öffnen Sie die Horde-Testseite auf einer beliebigen Domain

http://www.domain.com/horde/test.php

Die meisten Einstellungen sollten jetzt in Ordnung sein. Sie möchten jedoch möglicherweise einige der Standard-PHP-Garbage-Collection-Einstellungen ändern.

Bearbeiten Sie erneut die /var/www/horde/conf/conf.php und deaktivieren Sie die Testseite

$conf['testdisable'] = true;

15. Die BaseRewrite-Option beheben

Die Standardkonfiguration erkennt die BaseRewrite-Option nicht richtig und lässt Nag fehlschlagen, um Einträge hinzuzufügen/bearbeiten. Um dies zu beheben, müssen Sie die Datei /var/www/horde/.htaccess bearbeiten und nach


    RewriteEngine On
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond   %{REQUEST_FILENAME}  !-d
    RewriteCond   %{REQUEST_FILENAME}  !-f
    RewriteRule ^(.*)$ rampage.php [QSA,L]

suchen und den gesamten Block durch dies ersetzen


    RewriteEngine On
    RewriteBase /horde
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond   %{REQUEST_FILENAME}  !-d
    RewriteCond   %{REQUEST_FILENAME}  !-f
    RewriteRule ^(.*)$ rampage.php [QSA,L]

Hinweis: Wenn Sie Horde aktualisieren, könnte diese Datei überschrieben werden. In diesem Fall bearbeiten Sie sie einfach erneut.

16. Benutzern erlauben, ihr Passwort von Horde aus zu ändern (optional)

Horde kann es ermöglichen, dass Benutzer ihr ISPConfig-Passwort innerhalb von Horde ändern. Dazu bietet Horde ein Passwd-Addon, das konfiguriert werden muss, um mit ISPConfig zu arbeiten.

Installieren Sie das Addon und ändern Sie den Besitzer auf den Apache-Benutzer:

pear install -a -B horde/passwd  
chown -R www-data:www-data /var/www/horde/passwd

Horde bietet auch eine einfache Möglichkeit, Konfigurationsdateien mit lokalen Werten zu ändern. Dies geschieht, indem eine vorhandene Konfigurationsdatei (z. B. conf.php) nach conf.local.php kopiert wird. Dies kann nützlich sein, wenn Sie die Standardpräferenzeinstellungen einiger Horde-Anwendungen ändern möchten, z. B. standardmäßig eine 24-Stunden-Uhr verwenden. So können Sie eine homogene Startkonfiguration für neue Benutzer bereitstellen. Das Gleiche gilt auch für das Passwd-Addon. Durch die Verwendung einer lokalen Konfigurationsdatei stellen wir sicher, dass ein zukünftiges Update von Horde unsere Einstellungen nicht überschreibt.

cp -a /var/www/horde/passwd/config/backends.php /var/www/horde/passwd/config/backends.local.php

Der obige Befehl ist eine Zeile.

Jetzt bearbeiten Sie die Datei /var/www/horde/passwd/config/backends.local.php und suchen Sie nach

$backends['sql'] = array (
  'disabled' => false,
  'name' => 'SQL Server',
  [...]
    // 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u',
    // 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u',
  ),
);

und ersetzen Sie den gesamten Block durch dies

$backends['sql'] = array (
  'disabled' => false,
  'name' => 'SQL Server',
  'preferred' => '',
  'policy' => array(
    'minLength' => 7,
    'maxLength' => 64,
    'maxSpace' => 0,
    'minNumeric' => 1,
  ),
  'driver' => 'Sql',
  'params' => array(
    'phptype' => 'mysql',
    'hostspec' => 'localhost',
    'username' => 'root',
    'password' => '***',
    'encryption' => 'crypt-md5',
    'database' => 'ISPCONFIG_DATABASE',
    'table' => 'mail_user',
    'user_col' => 'email',
    'pass_col' => 'password',
    'show_encryption' => false
    // Die folgenden beiden Einstellungen ermöglichen es Ihnen, benutzerdefinierte Abfragen für
    // Lookup- und Änderungsfunktionen anzugeben, wenn spezielle Funktionen ausgeführt werden müssen.
    // An Stellen, an denen ein Benutzername oder ein Passwort verwendet werden muss, verweisen Sie auf diesen Platzhalter:
    // %d -> wird mit der Domain ersetzt
    // %u -> wird mit dem Benutzer ersetzt
    // %U -> wird ohne Domain-Teil mit dem Benutzer ersetzt
    // %p -> wird mit dem Klartextpasswort ersetzt
    // %e -> wird mit dem verschlüsselten Passwort ersetzt
    //
    // 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u',
   // 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u',
  ),
);

Ersetzen Sie natürlich das Passwort durch das Root-MySQL-Passwort und ändern Sie den Datenbanknamen in Ihren ISPConfig-Datenbanknamen. Sobald dies geändert ist, können Sie das Passwd-Tool verwenden, um das Passwort innerhalb von Horde zu ändern.

Der Abschnitt zur Richtlinie ermöglicht es Ihnen, verschiedene Optionen festzulegen, wie das Passwort aussehen muss. In dieser Konfiguration muss es mindestens 7 Zeichen lang sein und mindestens 1 Zahl enthalten und keine Leerzeichen haben. Überprüfen Sie den Anfang dieser Datei, um herauszufinden, welche anderen Optionen es gibt.

17. Letzte Dinge

Sobald Sie alle Änderungen vorgenommen haben, melden Sie sich mit dem Administrationsbenutzer für Horde an. Der E-Mail-Benutzer, den Sie während der Einrichtung des webmail-install-Skripts festgelegt haben. Sobald Sie angemeldet sind, gehen Sie in den Administrationsbereich und dann zur Horde-Konfiguration und erstellen Sie alle notwendigen Konfigurationen. Um zu beginnen, können Sie die Schaltfläche verwenden, die einfach alles erstellt, oder Sie können wählen, die Konfiguration für jede Horde-Anwendung selbst zu überprüfen und Änderungen vorzunehmen, die Sie möchten.

Horde bietet auch weitere Anwendungen. Besuchen Sie http://www.horde.org/apps, um zu sehen, was es dort gibt.

Horde bietet auch einen RSS-Feed, damit Sie über neuere Versionen informiert werden, und für Updates siehe hier: http://www.horde.org/apps/webmail/docs/UPGRADING

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.