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