| |
centos:mail_c7:dovecot_1 [20.04.2018 10:45. ] – Externe Bearbeitung 127.0.0.1 | centos:mail_c7:dovecot_1 [18.11.2024 07:06. ] (aktuell) – Externe Bearbeitung 127.0.0.1 |
---|
====== Dovecot, "der" IMAP-Server unter CentOS 7.x ====== | ====== Dovecot, "der" IMAP-Server unter CentOS 7.x ====== |
{{:centos:mail_c7:dovecot_logo.png?nolink&225 |Dovecot-Logo}} Für die eMailkommunikation in unserem SOHO(( **S**mall **O**ffice **H**ome **O**ffice ))-LAN bedienen wir uns des IMAP-Server **[[http://dovecot.org/|Dovecot]]**. Dies nicht zuletzt, da dieser, im Gegensatz zum Dinosaurier verschrieenen **Cyrus** wesentlich einfacher zu konfigurieren ist und auch sicherheitstechnische Vorteile bietet. Da der Dovecot-IMAP-Server, keine großartigen und besonderen Voraussetzungen erfordert, einfach und sehr schnell zu installieren ist, ist dies in der Regel die //**erste Wahl**// ein jedes Postmasters bei der Installation von kleinen bis hin zu großen Unternehmens oder sogar Carrier-Lösungen. | {{:centos:mail_c7:dovecot_logo.png?nolink&225 |Dovecot-Logo}} Für die eMail-Kommunikation in unserem SOHO(( **S**mall **O**ffice **H**ome **O**ffice ))-LAN bedienen wir uns des IMAP-Server **[[http://dovecot.org/|Dovecot]]**. Dies nicht zuletzt, da dieser, im Gegensatz zum Dinosaurier verschrieenen **Cyrus** wesentlich einfacher zu konfigurieren ist und auch sicherheitstechnische Vorteile bietet. Da der Dovecot-IMAP-Server, keine großartigen und besonderen Voraussetzungen erfordert, einfach und sehr schnell zu installieren ist, ist dies in der Regel die //**erste Wahl**// ein jedes Postmasters bei der Installation von kleinen bis hin zu großen Unternehmens oder sogar Carrier-Lösungen. |
| |
Die nachfolgende Beschreibung zeigt, wie man unter CentOS 7.x einen Dovecot-Mailserver **MUA**((**M**ail **U**ser **A**gent)) aufsetzen und sicher betreiben kann. | Die nachfolgende Beschreibung zeigt, wie man unter CentOS 7.x einen Dovecot-Mailserver **MUA**((**M**ail **U**ser **A**gent)) aufsetzen und sicher betreiben kann. |
</WRAP> | </WRAP> |
| |
Eine der Eigenschaften, die **Dovecot** als die erste Wahl bei der Installation eines POP3/IMAP-Servers machen, ist neben den Sicherheits- und Performanceaspekten, die leichte und einfache Konfiguration. Wer schon mal **SASL** beim [[http://cyrusimap.org/|Cyrus-IMAP-Server]] und beim [[http://dovecot.org/|Dovecot]] installiert und Konfiguriert hat, wird hierbei sicherlich zustimmen. | Eine der Eigenschaften, die **Dovecot** als die erste Wahl bei der Installation eines POP3/IMAP-Servers machen, ist neben den Sicherheits- und Performanceaspekten, die leichte und einfache Konfiguration. Wer schon mal **SASL** beim [[http://cyrusimap.org/|Cyrus-IMAP-Server]] und beim [[http://dovecot.org/|Dovecot]] installiert und konfiguriert hat, wird hierbei sicherlich zustimmen. |
| |
===== Installation ===== | ===== Installation ===== |
Am Einfachsten bedienen wir uns eines aktuell gepflegten Dovecot-Repositories, wie z.B. dem Repository **[[http://repo.mailserver.guru/7/|mailserver.guru]]**. Der dort enthaltene Release-Kandidat ist **Dovecot //2.2.13//**((Stand Juli 2014)). Die Intstallation und Integration des **[[http://repo.mailserver.guru/7/|Repositories mailserver.guru]]** ist im Kapitel **[[centos:mailserver.guru|mailserver.guru unter CentOS 6 und CentOS 7 einbinden]]** erklärt. | Am einfachsten bedienen wir uns eines aktuell gepflegten Dovecot-Repositories, wie z.B. dem Repository **[[http://repo.nausch.org/7/|repo.nausch.org]]**. Der dort enthaltene Release-Kandidat ist **Dovecot //2.2.36//**((Stand Januar 2019)). |
| |
# yum list dovecot* | # yum list dovecot* |
8 packages excluded due to repository priority protections | 8 packages excluded due to repository priority protections |
Available Packages | Available Packages |
dovecot.x86_64 1:2.2.13-1.el7.centos mailserver.guru | dovecot.x86_64 1:2.2.13-1.el7.centos repo.nausch.org |
dovecot-debuginfo.x86_64 1:2.2.13-1.el7.centos mailserver.guru | dovecot-debuginfo.x86_64 1:2.2.13-1.el7.centos repo.nausch.org |
dovecot-mysql.x86_64 1:2.2.13-1.el7.centos mailserver.guru | dovecot-mysql.x86_64 1:2.2.13-1.el7.centos repo.nausch.org |
dovecot-pgsql.x86_64 1:2.2.13-1.el7.centos mailserver.guru | dovecot-pgsql.x86_64 1:2.2.13-1.el7.centos repo.nausch.org |
dovecot-pigeonhole.x86_64 1:2.2.13-1.el7.centos mailserver.guru | dovecot-pigeonhole.x86_64 1:2.2.13-1.el7.centos repo.nausch.org |
</code> | </code> |
| |
Build Host : vml000200.dmz.nausch.org | Build Host : vml000200.dmz.nausch.org |
Relocations : (not relocatable) | Relocations : (not relocatable) |
Packager : Django <django@mailserver.guru> | Packager : Django <django@nausch.org> |
Vendor : django | Vendor : django |
URL : http://www.dovecot.org/ | URL : http://www.dovecot.org/ |
| |
==== Benutzerverwaltung / Anmeldenamen ==== | ==== Benutzerverwaltung / Anmeldenamen ==== |
Doch selbst bei kleinen Installationen, lohnt es sich, kurz inne zu halten und zu überlegen, wo denn die Reise hingehen könnte. Der Wunsch nach **KISS**((**K**eep **I**t **S**tupid and **S**imple)) kann bei Zeiten gehörig nach hinten losgehen. Ganz klar, eine Benutzer- und Passwort-Verwaltung mit Hilfe der **userdb** und **passdb** scheint für eine kleine Firma auf den ersten Blick eine lohnende Sache zu sein. Warum solle ein **//Robert Nullinger//** seine eMail-Adresse beim Anmelden verwenden, wenn denn der doch kürzere Vorname **//Robert Nullinger//** auch ausreicht. Na ja, spätestens dann, wenn **//Robert Priesemut//** eingestellt oder eine zweite oder sehr viele Domains ins Spiel kommen, ist recht schnell "//Schluß mit lustig//"! Der spätere Mehraufwand bei Umstellungen, wird hier durchaus sehr schnell zum Showstopper und kosten (Arbeits-/Lebens)-Zeit sowie einen Haufen Nerven. Und von beiden hat der **Admin** und **Postmaster** gewöhnlich nie ausreichend viel über. ;-) | Doch selbst bei kleinen Installationen, lohnt es sich, kurz inne zu halten und zu überlegen, wo denn die Reise hingehen könnte. Der Wunsch nach **KISS**((**K**eep **I**t **S**tupid and **S**imple)) kann bei Zeiten gehörig nach hinten losgehen. Ganz klar, eine Benutzer- und Passwort-Verwaltung mit Hilfe der **userdb** und **passdb** scheint für eine kleine Firma auf den ersten Blick eine lohnende Sache zu sein. Warum solle ein **//Robert Nullinger//** seine eMail-Adresse beim Anmelden verwenden, wenn denn der doch kürzere Vorname **//robert//** auch ausreicht. Na ja, spätestens dann, wenn **//Robert Priesemut//** eingestellt oder eine zweite oder sehr viele Domains ins Spiel kommen, ist recht schnell "//Schluß mit lustig//"! Der spätere Mehraufwand bei Umstellungen, wird hier durchaus sehr schnell zum Showstopper und kosten (Arbeits-/Lebens)-Zeit sowie einen Haufen Nerven. Und von beiden hat der **Admin** und **Postmaster** gewöhnlich nie ausreichend viel über. ;-) |
| |
Wir werden daher nur ganz kurz zum [[centos:mail_c7:dovecot_6|Einstieg]] und Grundverständnis, auf die scheinbar einfachste Variante mit **userdb** und **passdb** eingehen. Die eigentliche Lösung, auf die wir im Detail genauer eingehen werden, nutzt zur Benutzerverwaltung **[[centos:mail_c6:pfadmin_1|Postfixadmin]]** und zur Speicherung der Nutzerdaten eine **[[centos:mysql|MySQL-Datenbank]]**. Alternativ kann man natürlich hierzu auch **[[centos:ldap:start|LDAP]]**, **[[http://de.wikipedia.org/wiki/Active_Directory|Active Directory]]**. | Wir werden daher nur ganz kurz zum [[centos:mail_c7:dovecot_6|Einstieg]] und Grundverständnis, auf die scheinbar einfachste Variante mit **userdb** und **passdb** eingehen. Die eigentliche Lösung, auf die wir im Detail genauer eingehen werden, nutzt zur Benutzerverwaltung **[[centos:mail_c6:pfadmin_1|Postfixadmin]]** und zur Speicherung der Nutzerdaten eine **[[centos:mysql|MySQL-Datenbank]]**. Alternativ kann man natürlich hierzu auch **[[centos:ldap:start|LDAP]]**, **[[http://de.wikipedia.org/wiki/Active_Directory|Active Directory]]**. |
Für unseren Mailserver mit seinen Mailboxen brauchen wir noch ein entsprechendes Verzeichnis, in dem Dovecot später die Nutzerkonten anlegen sowie die Nachrichten und ggf. die SIEVE-Scripte ablegen kann. | Für unseren Mailserver mit seinen Mailboxen brauchen wir noch ein entsprechendes Verzeichnis, in dem Dovecot später die Nutzerkonten anlegen sowie die Nachrichten und ggf. die SIEVE-Scripte ablegen kann. |
| |
Haben wir das dovecot-Paket aus dem Repository **[[http://repo.mailserver.guru/7/|mailserver.guru]]** installiert, ist hierzu das Verzeichnis //**/srv/vmail**// angelegt und mit den richtigen Rechten ausgestattet worden. Weiterhin wurde auch schon der User **vmail**, mit dessen UID und GID die virtuellen Mailboxen benutzt werden, angelegt. | Haben wir das dovecot-Paket aus dem Repository **[[http://repo.nausch.org/7/|repo.nausch.org]]** installiert, ist hierzu das Verzeichnis //**/srv/vmail**// angelegt und mit den richtigen Rechten ausgestattet worden. Weiterhin wurde auch schon der User **vmail**, mit dessen UID und GID die virtuellen Mailboxen benutzt werden, angelegt. |
| |
Ob dieser User bei anderen Paketen auch schon mitangelegt wurde, überprüfen wir bei Bedarf mit folgendem Aufruf: | Ob dieser User bei anderen Paketen auch schon mitangelegt wurde, überprüfen wir bei Bedarf mit folgendem Aufruf: |
ps-Werten zusätzlich noch der Login-Name, die Client-IP-Adresse und auch noch der ausgeführte IMAP-Befehl angezeigt wird. | ps-Werten zusätzlich noch der Login-Name, die Client-IP-Adresse und auch noch der ausgeführte IMAP-Befehl angezeigt wird. |
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND | USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND |
dovecot 19907 66.6 0.0 18860 1684 ? S 18:45 0:00 dovecot/imap [django@mailserver.guru 10.0.0.20] | dovecot 19907 66.6 0.0 18860 1684 ? S 18:45 0:00 dovecot/imap [django@nausch.org 10.0.0.20] |
dovecot 19971 0.0 0.0 19204 2088 ? S 18:46 0:00 dovecot/imap [django@nausch.org 109.43.1.83 IDLE] | dovecot 19971 0.0 0.0 19204 2088 ? S 18:46 0:00 dovecot/imap [django@nausch.org 109.43.1.83 IDLE] |
| |
In dem Beispiel sehen wir folgende möglichen Verbindungen: | In dem Beispiel sehen wir folgende möglichen Verbindungen: |
* **[[centos:mail_c7:dovecot_2|10.0.0.70:24]]** das ist unser **LMTP**-Port für die Annahme der Nachrichten vom Frontendserver **[[centos:mail_c6:mta_1|Postfix]]**. | * **[[centos:mail_c7:dovecot_2|10.0.0.70:24]]** das ist unser **LMTP**-Port für die Annahme der Nachrichten vom Frontendserver **[[centos:mail_c6:mta_1|Postfix]]**. |
* **110** und **143** : **IMAP** und **IMAPs** Port unseres Dovecot-Servers | * **110** und **995** : **POP3** und **POP3s** Port unseres Dovecot-Servers |
* **993** und **995** : **POP3** und **POP3s** Port unseres Dovecot-Servers | * **143** und **993** : **IMAP** und **IMAPs** Port unseres Dovecot-Servers |
| |
Die gesetzte **0.0.0.0** bedeutet, dass auf allen **IPv4** | Die gesetzte **0.0.0.0** bedeutet, dass auf allen **IPv4** |