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.
- Im Administrations Bereich müssen nun noch die Configs von den einzelnen Modulen geschrieben/gespeichert werden.
Dabei haben wir nun verschiedene Möglichkeiten: - 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 - Ü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
Thank you for this great article, I have shared it on Twitter.
Das sieht falsch aus:
„Bitte achte darauf das bei pass_col das MySql root Passwort hinkommt“
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.