Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:mail_c7:dovecot_1 [24.08.2014 21:48. ] – [Zustellung via LMTP] djangocentos:mail_c7:dovecot_1 [15.10.2020 16:42. ] (aktuell) – [IP-Adressen] django
Zeile 1: Zeile 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.
Zeile 7: Zeile 7:
 </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.mailserver.guru/7/|mailserver.guru]]**. Der dort enthaltene Release-Kandidat ist **Dovecot //2.2.36//**((Stand Januar 2019)). Die Installation 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.
  
    # yum list dovecot*    # yum list dovecot*
Zeile 585: Zeile 585:
  
 ==== 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]]**.
Zeile 601: Zeile 601:
 </WRAP> </WRAP>
   - **[[http://wiki2.dovecot.org/MailboxFormat/dbox|mdbox]]** \\ :NULL::NULL::UP: Properitäres **//"High-End Speicherformat"//** für sehr große Installationen. \\ :NULL::NULL::UP: Viele Nachrichten werden in mehrere größere Dateien geschrieben, daher sind inkrementelle Backups \\ :NULL::NULL::NULL: weiterhin ohne großen Aufwand möglich. \\ :NULL::NULL::DOWN: Ähnlich wie schon beim Cyrus-IMAP-Server wird eine eigene Datenbank zur Informationsspeicherung der \\ :NULL::NULL::NULL: eMails benötigt. Daher können nicht mehr nur auf Dateiebene Nachrichten verarbeitet werden. Änderungen \\ :NULL::NULL::NULL: im mdbox-Speicherbereich müssen ausschließlich über entsprechende **doveadm**-Befehle vorgenommen \\ :NULL::NULL::NULL: werden! Ebenso muss bei Backups/Restores der Nachrichten muß die Datenbank mit ihren Abhängigkeiten \\ :NULL::NULL::NULL: berücksichtigt werden. Entsprechendes //**Knowhow**// auf Seiten des Postmasters und Administrators ist \\ :NULL::NULL::NULL: zwingend gegeben! \\ \\ <WRAP center round info 80%>   - **[[http://wiki2.dovecot.org/MailboxFormat/dbox|mdbox]]** \\ :NULL::NULL::UP: Properitäres **//"High-End Speicherformat"//** für sehr große Installationen. \\ :NULL::NULL::UP: Viele Nachrichten werden in mehrere größere Dateien geschrieben, daher sind inkrementelle Backups \\ :NULL::NULL::NULL: weiterhin ohne großen Aufwand möglich. \\ :NULL::NULL::DOWN: Ähnlich wie schon beim Cyrus-IMAP-Server wird eine eigene Datenbank zur Informationsspeicherung der \\ :NULL::NULL::NULL: eMails benötigt. Daher können nicht mehr nur auf Dateiebene Nachrichten verarbeitet werden. Änderungen \\ :NULL::NULL::NULL: im mdbox-Speicherbereich müssen ausschließlich über entsprechende **doveadm**-Befehle vorgenommen \\ :NULL::NULL::NULL: werden! Ebenso muss bei Backups/Restores der Nachrichten muß die Datenbank mit ihren Abhängigkeiten \\ :NULL::NULL::NULL: berücksichtigt werden. Entsprechendes //**Knowhow**// auf Seiten des Postmasters und Administrators ist \\ :NULL::NULL::NULL: zwingend gegeben! \\ \\ <WRAP center round info 80%>
-**Performantes //"High-End Speicherformat"//** für sehr große Installationen. Hinreichende Kenntnisse übder das **mbox**-Format und die **doveadm**-Kommandos sind Grundvoraussetzung für den Einsatz. Für den Einsteiger und bei überschaubaren Menge an eMails und Postfächern, eher nicht zu empfehlen!+**Performantes //"High-End Speicherformat"//** für sehr große Installationen. Hinreichende Kenntnisse über das **mbox**-Format und die **doveadm**-Kommandos sind Grundvoraussetzung für den Einsatz. Für den Einsteiger und bei überschaubaren Menge an eMails und Postfächern, eher nicht zu empfehlen!
 </WRAP> </WRAP>
  
Zeile 696: Zeile 696:
  
 Fehlt das entsprechende Verzeichnis, ist auch dies kein allzugroßer Act, legen wir bei Bedarf dieses Verzeichnis einfach schnell an. Wir orientieren uns dabei an den **[[http://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#.2Fsrv_.E2.80.93_Daten.2C_die_von_Diensten_angeboten_werden|FHS]]**((**F**ilesystem **H**ierarchy **S**tandard)), der für den Daten, die von Diensten angeboten werden, das Verzeichnis //**/srv**// vorsieht. Fehlt das entsprechende Verzeichnis, ist auch dies kein allzugroßer Act, legen wir bei Bedarf dieses Verzeichnis einfach schnell an. Wir orientieren uns dabei an den **[[http://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#.2Fsrv_.E2.80.93_Daten.2C_die_von_Diensten_angeboten_werden|FHS]]**((**F**ilesystem **H**ierarchy **S**tandard)), der für den Daten, die von Diensten angeboten werden, das Verzeichnis //**/srv**// vorsieht.
-   # mkdir --/srv/vmail+   # mkdir -m 770 -/srv/vmail
  
 Für die Berechtigungen wählen wir nun als //**User**// und als //**Gruppe**// jeweils **vmail**. Somit haben wir später keinen Streß wenn dovecot versucht ein Benutzerverzeichnis neu anzulegen! Für die Berechtigungen wählen wir nun als //**User**// und als //**Gruppe**// jeweils **vmail**. Somit haben wir später keinen Streß wenn dovecot versucht ein Benutzerverzeichnis neu anzulegen!
    # chown vmail.vmail /srv/vmail    # chown vmail.vmail /srv/vmail
-   # chmod 770 /srv/vmail 
  
 <WRAP center round important> <WRAP center round important>
Zeile 832: Zeile 831:
  
 Auf Grund der Erfahrungen und der Rückfragen meiner Endkunden, werden fast nur noch ausschließlich die Ordner Unterhalb des **namespaces**. Im Fall vom namespace **INBOX** setzen wir dann den **prefix** auf den Wert **INBOX/**. Auf Grund der Erfahrungen und der Rückfragen meiner Endkunden, werden fast nur noch ausschließlich die Ordner Unterhalb des **namespaces**. Im Fall vom namespace **INBOX** setzen wir dann den **prefix** auf den Wert **INBOX/**.
-   #vim /etc/dovecot/conf.d/10-mail.conf+   # vim /etc/dovecot/conf.d/10-mail.conf
  
 <code bash>... <code bash>...
Zeile 1514: Zeile 1513:
 # Folgende Parameter wurden aktiviert: # Folgende Parameter wurden aktiviert:
 # %u         : User/Login-Namen  # %u         : User/Login-Namen 
-# %m         : Authentication-Pethode+# %m         : Authentication-Methode
 # %r         : Remote IP Adress # %r         : Remote IP Adress
 # %e         : Mail-Process-ID (imap/pop3) der post-login Verbindung # %e         : Mail-Process-ID (imap/pop3) der post-login Verbindung
Zeile 1581: Zeile 1580:
 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**
Zeile 1917: Zeile 1916:
 </code> </code>
  
-Im Verzeichnis //**/srv/vmail/**// wurden die zugehörigen Verzeichnisse und die Nachricht selbst, alos die Datei **__1407165099.M887118P3930.vml000070.dmz.nausch.org,S=409,W=422__** angelegt.+Im Verzeichnis //**/srv/vmail/**// wurden die zugehörigen Verzeichnisse und die Nachricht selbst, also die Datei **__1407165099.M887118P3930.vml000070.dmz.nausch.org,S=409,W=422__** angelegt.
 <code># tree /srv/vmail/nausch.org/django/ -alF <code># tree /srv/vmail/nausch.org/django/ -alF
 /srv/vmail/nausch.org/django/ /srv/vmail/nausch.org/django/
Zeile 2220: Zeile 2219:
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
-~~DISCUSSION~~ 
  
  • centos/mail_c7/dovecot_1.1408916919.txt.gz
  • Zuletzt geändert: 24.08.2014 21:48.
  • von django