Horde-Webmail auf einen Debian 9 Server mit ISPConfig 3

Hallo,
Du hast einen Debian 9 Server mit ISPconfig 3 und willst eine Groupware?
Dann wäre doch Horde-Webmail genau das Richtige.
Hier erkläre ich dir, wie du Horde-Webmail auf einen Debian 9 Server mit ISPConfig 3 installierst.


Zur Horde Installation:
Erst das System auf den neusten Stand bringen mit:

apt update && apt upgrade.

Dann Horde-Webmail installieren mit:

apt install php-horde-webmail –y

Danach Legen wir als erstes eine Datenbank an:

mysql -u root -p

Mit dem MySQl root Passwort bestätigen und dann:

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

Bei PASSWORD sollte natürlich dein eigenes Passwort rein.
Dann das Installations Script aufrufen mit:

webmail-install

und die Fragen Beantworten:

What database backend should we use?
(false) [None]
(mysql) MySQL / PDO
(mysqli) MySQL (mysqli)
(oci8) Oracle
(pgsql) PostgreSQL
(sqlite) SQLite

Type your choice []:

mysqli

Username to connect to the database as* []

horde

Password to connect with

euer oben erstelltes horde Passwort

How should we connect to the database?
(unix) UNIX Sockets
(tcp) TCP/IP
Type your choice [unix]: Enter
Location of UNIX socket [] Enter
Database name to use* []

horde

Internally used charset* [utf-8] Enter
Use SSL to connect to the server?
(1) Yes
(0) No

Type your choice [0]: Enter
Certification Authority to use for SSL connections []

false

Split reads to a different server?
(false) Disabled
(true) Enabled

Type your choice [false]: Enter

Specify an existing mail user who you want to give administrator
permissions (optional):

Hier eine in ISPConfig3 vorhandene Admin Mail Adresse

Weiter geht es mit:

apt install php-horde-passwd

nun machen wir erstmal aus der backends.php eine locale php damit diese beim Update nicht überschrieben wird.

cp /usr/share/horde/passwd/config/backends.php 
/usr/share/horde/passwd/config/backends.local.php

Nun öffnen wir zum Bearbeiten die Datei und ändern einige Teile:
nano /usr/share/horde/passwd/config/backends.local.php
Suche nach:

$backends['hordesql'] = array (
'disabled' => false,

und mach daraus, wenn es nicht schon sein sollte:

$backends['hordesql'] = array (
'disabled' => true,

Weiter suchen wir 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',
),
);

Daraus machen wir dann:

$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' => 'MySQL RootPasswort',
'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',
),
);

Bitte achte darauf das bei pass_col das MySql root Passwort hinkommt

Nun können wir uns unter http://deine.Domain/horde mit der Admin Mail Adresse in Horde einloggen.

  1. Im Administrations Bereich müssen nun noch die Configs von den einzelnen Modulen geschrieben/gespeichert werden.
    Dabei haben wir nun verschiedene Möglichkeiten:
  2. wir erzeugen die Configuration und speichern sie manuell und setzen: chown www-data:www-data
    wir geben den Verzeichnissen temporär Schreibrechte, wobei wir das Verzeichnis auch auf chown www-data:www-data setzen müssten, was aber nicht sehr Sicher
  3. Über das Horde Login die Config mit FTP auf dem Server speichern und verschieben.

Wenn die conf.php‘s schon da sind brauchen wir diese auch nur auf chown www-data:www-data setzen und können alles andere von Horde Login aus machen.
Ich wünsche euch viel Spaß mit eurer Horde-Webmail.
Einige Teile dieses Howto’s stammen von howtoforge.com und wurden nur für Debian 9 Angepasst

3 Gedanken zu „Horde-Webmail auf einen Debian 9 Server mit ISPConfig 3

  1. Hi,
    der Artikel ist zwar schon etwas älter, aber das Ganze funktioniert auch mit Debian 10 und ispConfig 3.1
    Man könnte noch ergänzen, dass in der backends.local.php die Zeile ‚database‘ => ‚ISPCONFIG_DATABASE‘, idR in ‚database‘ => ‚dbispconfig‘, geändert werden sollte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert