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