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

Horde ist eine Groupware-Suite, die E-Mail, Kalender, Aufgaben, Kontaktverwaltung und mehr bietet. Es bietet auch SyncML und ActiveSync zur Synchronisierung mit Ihren Handys oder anderer Software. Mehr über die Horde erfahren 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 verfolgt haben.

1. Installieren Sie die notwendigen Pakete

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. Entfernt widersprüchliche Pakete

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

apt-get remove php5-xcache

3. Registrieren Sie den Horde Birne Kanal

pear channel-discover pear.horde.org

4. Das Horde-Installationsverzeichnis festlegen

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

Ihnen wird die folgende Frage gestellt:

Dateisysteminstallation für die Basisanwendung Horde: /var/wwwww/horde

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

5. Horde Groupware Webmail Edition installieren

pear install -a -B horde/webmail

Dies dauert eine Weile und es wird einige Fehler bezüglich fehlender Birnenpakete geben. Diese werden später behoben.

6. MySQL-Datenbank erstellen

Das Horde-Installationsskript erstellt keine eigene MySQL-Datenbank. Also müssen wir es zuerst anlegen und auch den entsprechenden Benutzer.

Geben Sie die MySQL-Shell ein als

mysql -u root -p

Nach der Eingabe erstellen Sie die Datenbank und den Benutzer’horde‘ mit dem Passwort’PASSWORD‘. Wenn Sie den Datenbanknamen, den Benutzernamen und die entsprechenden Informationen ändern möchten. Legen Sie natürlich Ihr eigenes Passwort fest.

CREATE DATABASE horde;
GRANT ALL ON horde.* TO [email protected] IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;

Beenden Sie die MySQL-Shell erneut.

exit;

7. Installationsskript ausführen

webmail-install

Ihnen werden die folgenden Fragen gestellt:

Welches Datenbank-Backend sollen wir verwenden? mysql

Benutzername für die Verbindung zur Datenbank als: Der Benutzername, den Sie im vorherigen Schritt festgelegt haben.

Passwort für die Verbindung mit: Das Passwort, das Sie im vorherigen Schritt festgelegt haben.

Wie sollen wir uns mit der Datenbank verbinden? Unix

Position des UNIX-Sockets: Drücken Sie einfach[enter].

Zu verwendender Datenbankname: Der Datenbankname, den Sie im vorherigen Schritt festgelegt haben.

Intern verwendeter Zeichensatz: utf-8

Verwenden Sie SSL, um sich mit dem Server zu verbinden: 0 *

Zertifizierungsstelle, die für die SSL-Verbindung verwendet werden soll: Drücken Sie einfach[enter].

Split-Lesezugriffe auf einen anderen Server? falsch

Geben Sie einen bestehenden Mail-Benutzer an, dem Sie Administratorrechte erteilen möchten (optional): [email protected] **

* Setzen Sie SSL nur dann 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 aus der Horde selbst. Dies ist notwendig, um erste Konfigurationsdateien zu erstellen.

8. Erstellen Sie einen benutzerdefinierten phptmp-Ordner und einen chown horde-Ordner für 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 Ferienkalender in PEAR. Standardmäßig sind sie nicht installiert. Wählen Sie einen oder mehrere der folgenden Kalender aus, wenn Sie sie installieren möchten. Dies ermöglicht es in Horde Kronolith (=Kalender), Feiertage für dieses Land anzuzeigen. Natürlich können 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
<Directory /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/"
</Directory>

Aktiviere dann diesen neuen Apache-Konfigurationsausschnitt:

a2enconf horde

12. Apache neu starten

/etc/init.d/apache2 restart

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

$conf['testdisable'] = false;

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

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

Die meisten Einstellungen sollten jetzt in Ordnung sein. Sie können jedoch einige der standardmäßigen php Garbage Collection Sachen ändern.

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

$conf['testdisable'] = true;

15. Korrigieren Sie die Option BaseRewrite.

Das Standard-Setup erkennt die BaseRewrite-Option nicht richtig und lässt Nag keine Einträge hinzufügen/bearbeiten. Um dies zu beheben, müssen Sie die Datei /var/wwww/horde/.htaccess bearbeiten und nach folgenden Kriterien suchen

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

und ersetzen Sie den ganzen Block mit diesem

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

Hinweis: Wenn Sie Horde aktualisieren, kann es vorkommen, dass diese Datei überschrieben wird. In diesem Fall kannst du es einfach noch einmal bearbeiten.

16. Ermöglicht es Benutzern, ihr Passwort für Horde zu ändern (optional).

Die Horde kann es ermöglichen, dass Personen ihr ISPConig-Passwort von innerhalb der Horde aus ändern können. Dazu stellt die Horde ein Passwd-Addon zur Verfügung, das für die Arbeit mit ISPConfig konfiguriert werden muss.

Installieren Sie das Addon und chown es 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 durch Kopieren einer bestehenden Konfigurationsdatei (z.B. conf.php) nach conf.local.php. Dies kann nützlich sein, wenn Sie die Standardeinstellungen einiger Horde-Anwendungen ändern möchten, z.B. wenn Sie standardmäßig eine 24h-Uhr verwenden. So können Sie eine homogene Startkonfiguration für neue Benutzer bereitstellen. Dasselbe gilt auch für das Passwd-Addon. Durch die Verwendung einer lokalen Konfigurationsdatei stellen wir sicher, dass ein zukünftiges Update der 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.

Bearbeiten Sie nun die Datei /var/wwww/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 ganzen Block mit diesem

$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
    // The following two settings allow you to specify custom queries for
    // lookup and modify functions if special functions need to be
    // performed. In places where a username or a password needs to be
    // used, refer to this placeholder reference:
    // %d -> gets substituted with the domain
    // %u -> gets substituted with the user
    // %U -> gets substituted with the user without a domain part
    // %p -> gets substituted with the plaintext password
    // %e -> gets substituted with the encrypted password
    //
    // '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',
  ),
);

Natürlich ersetzen Sie das Passwort durch das MySQL-Root-Passwort und ändern Sie den Datenbanknamen in Ihren ISPConfig-Datenbanknamen. Sobald dies geändert wurde, kannst du das Passwort-Tool verwenden, um das Passwort von innerhalb der Horde aus zu ändern.

Im Richtlinienbereich können Sie verschiedene Optionen festlegen, wie das Passwort aussehen soll. In dieser Konfiguration muss es mindestens 7 Zeichen lang sein und mindestens 1 Zahl und keine Leerzeichen enthalten. Überprüfen Sie den Anfang dieser Datei, um herauszufinden, welche anderen Optionen es gibt.

17. Letzte Dinge

Nachdem Sie alle Änderungen vorgenommen haben, melden Sie sich mit dem administrativen Benutzer für Horde an. Der E-Mail-Benutzer, den Sie bei der Einrichtung des Webmail-Installationsskripts festgelegt haben. Sobald du eingeloggt bist, gehe in den Administrationsbereich und dann zur Horde-Konfiguration und erstelle alle notwendigen Konfigurationen. Zuerst können Sie die Schaltfläche verwenden, die sie einfach alle erstellt, oder Sie können die Konfiguration für jede Hordenanwendung selbst überprüfen und die gewünschten Änderungen vornehmen.

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

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

Das könnte dich auch interessieren …