Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

Frankensteins Mailserver – 5 – Dovecot konfigurieren

Um Mails abrufen zu können, brauchen wir einen IMAP- oder POP3-Server. In diesem Tutorial kümmert sich Dovecot um diese Dienste – und gleich noch um die Authentifizierung der Benutzer. Dazu müssen wir ihn aber erst konfigurieren…

Intro

Dovecot ist Englisch uns steht für „Taubenschlag“.
Ich hatte das als „false friend“ immer ganz anders übersetzt und mich vor dem Server geekelt. Aber so was sollte ich hier nicht laut sagen. Uups, zu spät ;)

Spaß beiseite. Auf unseren alten Servern lief Courier als IMAP-Server und Cyrus-SASL für die Authentifizierung. Aber warum zwei Programme installieren, wenn es mit einem alleine auch geht. Außerdem soll Dovecot mittlerweile der am besten gewartete und weiterentwickelte Dienst sein. Also vertraue ich in Zukunft auch auf ihn.

Und ich bin über ein kleines, aber feines Feature gestolpert, das wohl im Moment nur Dovecot macht: Man kann ihn anweisen, ankommende Mails ‚on the fly‘ zu komprimieren! Das spart uns auf lange Sicht einiges an Plattenplatz und läuft vollkommen transparent im Hintergrund. Die Benutzer bekommen davon nichts mit. Das ist sagenhaft!

Im Vergleich zu Postfix ist die Konfiguration auch nicht so umfangreich. Normalerweise wird die Config von Dovecot auf viele kleine Dateien verteilt. Die Logik dahinter ist, dass einzelne Funktionsblöcke dann schön sauber getrennt in einzelnen Dateien zu finden sind.
Sollte ich die Config mal überarbeiten, werde ich nachsehen, in welchen einzelnen Dateien Änderungen zu machen sind. Da wir aber ein vergleichsweise kleines und einfaches Setup haben, stehen alle Anweisungen momentan in einer Datei.

Der lmtp-Dienst nimmt die Mails von Postfix entgegen und schiebt sie in unsere Postfächer. Ihn richten wir ein, da die Indizes der Postfächer mit diesem Protokoll wohl bei jeder Auslieferung einer Mail aktualisiert werden. Sonst würde das nur geschehen, wenn sich jemand per IMAP einloggt. Und damit wären die Indizes schon aktuell.

Die weiteren Dienste stellen die übrigen Schittstellen für Postfix bereit, die er zum Arbeiten braucht. Sie dienen zur Authentifizierung der Benutzer, wenn sie eine Mail absenden möchten.

Konfigurieren

Verschieben der „dovecot.conf“ nach „dovecot.conf.orig“
mv /etc/dovecot/dovecot.conf{,.orig}

Anlegen der neuen dovecot.conf
nano /etc/dovecot/dovecot.conf

## Mailordner Struktur
mail_location = maildir:/var/vmail/%d/%n
#
## Kompressionsbibliothek aktivieren
mail_plugins = $mail_plugins zlib
#
## Mails beim Speichern komprimieren
plugin {
zlib_save_level = 6 # 1..9; default is 6
zlib_save = gz # or bz2, xz or lz4
}
#
## SSL
disable_plaintext_auth = yes
ssl = required
ssl_cert =</root/CA/certs/bla.de-mail.crt
ssl_key =</root/CA/private/bla.de-mail.key
#
auth_mechanisms = plain login
log_timestamp = „%Y-%m-%d %H:%M:%S “
#
## Protokolle und Dienste einrichten
protocols = imap pop3 lmtp
#
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
#
service auth {
unix_listener /var/spool/postfix/private/auth-dovecot {
mode = 0660
user = postfix
group = postfix
}
unix_listener auth-master {
mode = 0600
user = vmail
}
user = dovecot
}
#
service auth-worker {
user = vmail
}
#
passdb {
driver = sql
args = /etc/dovecot/dovecot-mysql.conf
}
#
userdb {
driver = static
args = uid=vmail gid=vmail home=/var/vmail/%d/%n
}
#
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
#
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = notfall@e-mail-provider.de
}
#
#EOF

Die Datei speichern und nano beenden.

Jetzt die Config für den Zugriff auf die Passwörter in der MySQL-Datenbank anlegen
nano /etc/dovecot/dovecot-mysql.conf

driver = mysql
### Die „connect“-Anweisung gehört einschließlich ‚password=…‘ in EINE ZEILE!
connect = host=localhost dbname=mailserver user=mailuser password=Fog7FF.pI]sXb=Ul|Gi!.h8Sy0v^!Dz,
default_pass_scheme = MD5-CRYPT
password_query = SELECT password FROM mailbox WHERE username = ‚%u‘
#EOF

Die Datei speichern und nano beenden.

Nun ändern wir noch die Rechte am Config-Verzeichnis, damit nicht ‚jedermann‘ die sensiblen Dateien auslesen kann:
chown -R vmail:dovecot /etc/dovecot && chmod -R o-rwx /etc/dovecot

Erläuterungen

Festlegen der Ordnerstruktur. Die Mails für „ich@bla.de“ würden von Dovecot im Verzeichnis „/var/vmail/bla.de/ich“ abgelegt werden.

Aktivieren der Bibliothek und festlegen der Kompressionsmethode. In diesem Schritt weisen wir Dovecot an, jede Mail, die abgespeichert wird, vorher per GZIP zu komprimieren. Das spart bei den kleinen Text-Mails eine Menge Platz. In diesem Beispiel wurde eine 2,6 kB große Mail auf 1,2 kB zusammengestaucht…
dovecot-kompression

Im SSL-Teil wird die Anmeldung ohne Verschlüsselung abgeschaltet, Verschlüsselung erzwungen und die Pfade zu den Zertifikaten angegeben. Es sind die selben Zertifikate, die wir auch für Postfix verwenden.

Danach werden Protokolle und Dienste aktiviert und eingerichtet. Hier geht es hauptsächlich darum, dass die Dienste mit den ‚richtigen‘ Benutzerrechten laufen. Sonst würden alle über ‚root‘ ausgeführt, was wir natürlich nach Kräften vermeiden sollten.

Es folgen die Angaben, wo Dovecot die Passwörter für den Authentifizierungsdienst und die userdb abrufen kann.

Ganz unten ist noch der Abschnitt „lda“. Hier bitte Deine Notfall-E-Mail Adresse eintragen. Treten Fehler auf, weil Dovecot zum Beispiel eine Mail nicht zustellen kann, würde Dir Dovecot an die Notfall-Adresse eine Mail senden. In dieser Mail ist das Problem erläutert und eine kurze Beschreibung angehängt, was wahrscheinlich an dem Fehler Schuld ist. Das ist aus naheliegenden Gründen eine sehr praktische Funktion ;)

Fazit

Glückwunsch! Damit wäre Dovecot eingerichtet.

Ich weiß, dass ich hier höchstens die Oberfläche von einem so mächtigen Programm wie Dovecot anritzen kann. Das mdbox-Format hätte mich noch interessiert. Allerdings soll das erst interessant sein, wenn man Mailboxen in der Größe von einigen TB verwalten muss. Für unseren Kleinstserver ist das, was wir hier haben, wohl vollkommen ausreichend.

OK, damit wären wir mit der Konfiguration der Mailserver fertig :)

Der Saal ist gemietet – das Orchester bestellt…
Jetzt finden wir heraus, ob wir auch tanzen können!

Navigation

< Vorheriger Artikel | Nächster Artikel >
E-Mail Begleittext Download (Rechtsklick – „Ziel speichern unter…“)

Anzeige *

Kommentar verfassen

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