Inhaltsverzeichnis
Dovecot Authentifizierung - SQL - Horde.org - Horde
HINWEIS - Die Nachfolgende Konfiguration von Dovecot setzt eine lauffähige Installation von Dovecot sowie eine lauffähige Installation von Postfix Admin voraus, wie unter nachfolgenden internen Links beschrieben !!!
Dovecot ist ein Open-Source-IMAP-und POP3-E-Mail-Server für Linux bzw. UNIX-ähnlichen Systeme, entwickelt mit dem Hauptaugenmerk auf Sicherheit. Dovecot ist eine ausgezeichnete Wahl für kleine und große Installationen. Dovecot ist schnell und einfach zu installieren, erfordert keine besonderen Voraussetzungen und ist Ressourcenschonend.
Dovecot wird von Timo Sirainen entwickelt.
Beschreibung | Externer Link |
---|---|
Homepage | http://dovecot.org |
Dokumentation | http://dovecot.org/documentation.html |
Wiki Dovecot2 | http://wiki2.dovecot.org/ |
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Vorbereitung
Falls Horde wie unter nachfolgenden internen Links bereits installiert ist
und ggf. auch schon mit einem Cyrus IMAPd-Server betrieben wurde, ist die Authentifizierung ein wichtiges Thema.
Wenn Cyrus IMAPd-Server das Backend-System war, sind nachfolgende Einstellungen zur erfolgreichen Authentifizierung gegen einen Cyrus IMAPd-Server möglich gewesen, siehe nachfolgende interne Links
Da Horde hier eine spezielle Unterstützung für Cyrus IMAPd-Server bietet, kann diese Art und Weise der Authentifizierung mit Dovecot als Backend-System nicht mehr verwendet werden.
Da wie unter nachfolgendem internen Link beschrieben die Authentifizierung gegen eine SQL-Datenbank erfolgen soll
kann auch Horde hier ohne Umwege, direkt die Authentifizierung gegen eine SQL-Datenbank durchführen.
Konfiguration: Authentifikation
Nachfolgende Einstellungen sind notwendig, um Horde gegen eine SQL-Datenbank zu Authentifizieren
Die nachfolgenden Bildschirmkopien zeigen eine bisherige Konfiguration gegen eine Horde-Applikation und zwar gegen Horde - IMP und als Backend-System ein Cyrus IMAPd-Server. Anschließend soll dann die Authentifikation gegen eine SQL-Datenbank erfolgen.
Zuerst muss in Horde nachfolgender Menüpunkt Administration | Konfiguration geöffnet werden, wie auf nachfolgender Bildschirmkopie zu sehen ist:
Es erscheint nachfolgende Darstellung, wobei hier dann (horde) ausgewählt werden muss:
Anschließend ist dann, nach Auswahl des Reiters - Authentication - folgende Konfiguration zu sehen (bisherige Konfiguration Authentifikation gegen eine Horde-Applikation und zwar gegen Horde - IMP und als Backend-System ein Cyrus IMAPd-Server):
Durch Änderung in der Konfiguration im Parameter
$conf[auth][driver]
von
- Let a Horde application handle authentication
auf den Wert
- SQL authenticaton w/custom-made queries
sollte nachfolgende Darstellung erscheinen (Nur relevanter Ausschnitt)
SQL authentication w/custom-made queries
Nachfolgende Tabelle zeigt die Parameter, beispielhaft für eine Authentifikation gegen eine SQL-Datenbank, hier MySQL als SQL-Datenbank
Parameter | Wert |
---|---|
$conf[auth][driver] | SQL authentication w/custom made-queries |
$conf[auth][params][phptype] | MySQL (mysqli) |
$conf[auth][params][protocol] | TCP/IP |
$conf[auth][params][hostspec] | mysql.tachtler.net |
$conf[auth][params][port] | 3306 |
$conf[auth][params][username] | postfixuser |
$conf[auth][params][password] | geheim |
$conf[auth][params][database] | postfix |
$conf[auth][params][query_auth] | SELECT * FROM mailbox WHERE username = \L AND password =\P AND active = 1 |
$conf[auth][params][query_add] | INSERT INTO mailbox (username, password, name, maildir, quota, local_part, domain, created, modified, active) VALUES ( \L, \P, '', CONCAT(SUBSTRING_INDEX(\L, '@', -1), '/', SUBSTRING_INDEX(\L, '@', 1), '/'), '5120000000', SUBSTRING_INDEX(\L, '@', 1), SUBSTRING_INDEX(\L, '@', -1), now(), now(), '1') |
$conf[auth][params][query_getpw] | SELECT password FROM mailbox WHERE username = \L |
$conf[auth][params][query_update] | UPDATE mailbox SET password = \P WHERE username = \L |
$conf[auth][params][query_resetpassword] | UPDATE mailbox SET password = \P WHERE username = \L |
$conf[auth][params][query_remove] | UPDATE mailbox SET password = \P WHERE username = \L |
$conf[auth][params][query_list] | SELECT username FROM mailbox AND active = 1 |
$conf[auth][params][query_exists] | SELECT 1 FROM mailbox WHERE username = \L WHERE active = 1 |
$conf[auth][params][encryption] | plain |
WICHTIG - Die zugrunde liegenden Tabellen der SQL-Datenbank stammen aus Postfix Admin, siehe auch nachfolgenden internen Link