Ich möchte Google als E-Mail-Anbieter loswerden und eine vollständige E-Mail-Lösung auf meinem dedizierten Server einrichten. Das Problem: Ich möchte, dass das Setup so einfach wie möglich ist, damit es nicht mühsam ist, bei Problemen alles neu einzurichten.
Voraussetzungen
- Nur ein Benutzerkonto auf dem Computer.
- (Name
diti
; Haupt-E-Mail[email protected]
; andere Aliase werden umgeleitet, aber ein E-Mail-Client kann die verschiedenen Aliase verwalten und entsprechend reagieren)
- (Name
- Benutzt vorzugsweise kein MySQL.
- (Im Falle von Datensicherung und Wiederherstellung sowie der Einfachheit halber ist es besser, wenn Sie MySQL nicht installieren und sichern müssen, bevor Sie einen funktionsfähigen E-Mail-Server erhalten.)
- Auf E-Mails kann von außen zugegriffen werden (IMAP und SMTP).
- SSL / TLS-Verschlüsselung für die IMAP- und SMTP-Authentifizierung (Ich verwende CAcert- Zertifikate, ist das wichtig?).
Ich glaube, dass Einfachheit, IMAP / SMTP-Zugriff und sichere Authentifizierung die "grundlegenden" Funktionen sind, die jeder, der Google verlassen möchte, oder was auch immer, haben möchte. Wenn ich mich irre und es eine einfachere Lösung gibt (zum Beispiel eine ownCloud-ähnliche Lösung mit allem, was dazu gehört), würde ich mich freuen zu hören.
Ich denke, die Kombination von Postfix und Dovecot wäre der richtige Weg. Übrigens leite ich Debian.
Die Infos habe ich bisher gefunden
- In einem französischen Artikel wird sehr ausführlich beschrieben, wie eine vollständige und sichere E-Mail-Lösung eingerichtet wird. Es ist langwieriger, schwerer zu warten, schwerer zu sichern und wiederherzustellen usw. Ist außerdem ein DNS-Cache erforderlich?
- Das Gentoo-Wiki (
Complete_Virtual_Mail_Server/SSL_Certificates
Seite) erwähnt die Verwendung von CAcert-Zertifikaten, ist sich aber weder darüber im Klaren (sind all dieseSubjectAltName
Subdomains notwendig?) Noch über Postfix (ich habe gelesen, dass Courier schwieriger ist). - Verschiedene Tutorials zum Thema Selbsthosting, die alle unterschiedlich sind und nur selten beschreiben, was sie tun und warum (selbst gehostete E-Mails mit Fernzugriff scheinen kompliziert einzurichten zu sein. Warum also nur eine Liste von Befehlen ohne Erklärung für "Dummies" bereitstellen?) .
Ich hoffe, ich habe die richtigen Dinge gefragt, und dass sie nicht zu albern sind.
Antworten:
Nein, es ist nicht erforderlich, einen DNS-Cache auf dem Server einzurichten. Der Server sollte einen Cache-DNS-Resolver verwenden, der sich in der Nähe befindet. Die meisten Hosting-Unternehmen führen jedoch bereits eigene Resolver für das gesamte Rechenzentrum aus und konfigurieren die Server so, dass sie diese standardmäßig verwenden.
Standardmäßig verwenden sowohl Postfix als auch Dovecot für alles lokale Konten. Wenn Sie ein Linux-Konto mit dem Namen haben
diti
, können Sie sich mit diesem bei Dovecot anmelden und Postfix so einrichten, dass SMTP-Anmeldungen gegen Dovecot validiert werden .Wenn Sie keine Probleme damit haben, dass alle E-Mails an dasselbe Konto gesendet werden, können Sie einfache Aliase (wie in,
/etc/aliases
) einrichten , um E-Mails fürkra@
oderpostmaster@
an dasditi
Konto umzuleiten .Alle diese subjectAltNames sind nicht erforderlich. Die einzigen, die Sie benötigen, sind Domainnamen, die Sie tatsächlich verwenden werden , z . B.
mail.diti.me
oderglaux.diti.me
. Ich bin nicht sicher, ob Sie die Domain selbst (dhditi.me
) einschließen müssen .Im Folgenden wird davon ausgegangen, dass in der Domäne bereits MX-Einträge konfiguriert sind, die auf diesen Server verweisen. Ich versuche im Allgemeinen, meine Konfiguration einigermaßen klar zu halten, da ich mich einige Monate später immer wieder frage, "wozu zum Teufel das ist".
1. Installieren Sie zuerst die Pakete
postfix
unddovecot-imapd
. Wenn Sie zur Postfix-Konfiguration aufgefordert werden, wählen Sie die Option "Internet Site" und geben Siediti.me
den E-Mail-Namen ein. Zu diesem Zeitpunkt können Sie bereits E-Mails senden und empfangen[email protected]
und möglicherweise sogar eine Verbindung zu IMAP herstellen.Es verfügt jedoch noch nicht über SSL und ermöglicht weder das Senden von E-Mails über SMTP von außen noch das Speichern von E-Mails an einem vernünftigen Ort (die Standardeinstellung ist eine Mbox-Datei in
/var/mail
, die unzuverlässig ist und insbesondere mit IMAP eine schlechte Leistung erbringt).2. Wenn Sie bereits ein SSL-Zertifikat haben, geben Sie es
/etc/ssl/private/diti.me.pem
und den privaten Schlüssel ein/etc/ssl/private/diti.me.key
. Der genaue Ort spielt eigentlich keine Rolle, aber/etc/ssl/private
dort werden sie von Debian aufbewahrt.Stellen Sie sicher, dass beide Dateien Eigentum der
ssl-cert
Gruppe sind und von dieser gelesen werden können, damit Postfix und Dovecot darauf zugreifen können. Fügen Sie dieser Gruppe auch die Konten beider Dämonen hinzu, indem Sie verwendengpasswd -a
.3. Debians automatisch generiertes Postfix
main.cf
ist ebenfalls ein bisschen chaotisch, deshalb werde ich nur eine aufgeräumte Minimalversion veröffentlichen:Für Dovecot verwendet Debian nur die Standard-Beispielkonfigurationen und sie sind mit jeder beschriebenen Option gut genug.
Wenn Sie die Konfiguration ändern, laden Sie die Daemons mit
postfix reload
und / oder neudoveadm reload
.4. Standardmäßig liefert Postfix E-Mails
/var/mail/$USER
im Mbox- Format aus, das einfach genug ist (Sie können es problemlos mit einem Texteditor anzeigen), es treten jedoch viele Probleme auf, insbesondere bei IMAP, da die gesamte Datei jedes Mal neu geschrieben werden muss, wenn Sie eine E-Mail verschieben Nachricht oder markieren Sie eine als "gelesen" oder "ungelesen".Ändern Sie beide Daemons, um Maildir zu verwenden. (Es gibt andere Formate, diese sind jedoch in der Regel spezifisch für den MTA- oder MDA- oder IMAP-Server oder was auch immer. Maildir wird weitgehend unterstützt.)
In
/etc/postfix/main.cf
Fügen Sie die folgende auf die „Delivery“ Abschnitt:Konfigurieren Sie Dovecot so, dass derselbe Pfad verwendet wird
/etc/dovecot/conf.d/10-mail.conf
:5. Irgendwann müssen Sie Dovecot anweisen, auch SSL zu verwenden. Die entsprechenden Einstellungen sind in
/etc/dovecot/conf.d/10-ssl.conf
. Tatsächlich verwendet das Debian-Paket für Dovecot bereits SSL, obwohl ein selbstsigniertes Zertifikat meistens unbrauchbar ist. Konfigurieren Sie es so, dass es Ihr eigenes Zertifikat verwendet:6. Jetzt können Sie E-Mails nach außen senden und empfangen. Es ist weiterhin erforderlich, Postfix so zu konfigurieren, dass Sie von außen senden können, indem Sie eine Verbindung mit Ihrem E-Mail-Client über SMTP herstellen.
Weisen Sie Postfix zunächst an, Dovecot zur Überprüfung der Anmeldungen zu verwenden. Die folgenden Anweisungen stammen größtenteils aus Dovecots Wiki .
Dovecot
/etc/dovecot/conf.d/10-master.conf
muss einen Socket abhören, auf den Postfix zugreifen konnte. Die Standardkonfiguration enthält bereits ein auskommentiertes Beispiel:Und Postfix muss es verwenden -
/etc/postfix/main.cf
wieder:7. Beachten Sie, dass das oben Gesagte
smtpd_sasl_auth_enable
nirgendwo eingestellt wurde. Die aktuelle Konvention ist nicht SMTP - Auth global zu aktivieren, aber / 25 zu halten tcp rein als „Server-zu-Server“ SMTP - Port. Währenddessen werden neue Nachrichten von Benutzern über SMTP auf tcp / 587, dem "Mail Submission" -Port, akzeptiert, für den eine Authentifizierung erforderlich ist. Einige ISPs blockieren TCP / 25 sogar wegen Spam, lassen TCP / 587 jedoch offen, da es normalerweise besser gesichert ist.Aktivieren Sie den "Submission"
/etc/postfix/master.cf
-Port mit SASL-Authentifizierung. Die Standardeinstellung enthältmaster.cf
bereits die erforderlichen Zeilen, die nur unkommentiert sein müssen, obwohl einige von ihnen weiterhin weggelassen werden sollten.Wenn Sie einen Mail-Client haben, der einen alten "impliziten SSL" -Port (tcp / 465) benötigt, können Sie die
smtps
Zeilen aus dem Kommentar entfernen.master.cf
Wenn Sie dies tun, behalten Sie die Einstellungen bei, diesubmission
denen des Ports ähneln .8. Richten Sie schließlich Aliase für Ihr Konto ein, indem Sie sie bearbeiten
/etc/aliases
. Derpostmaster
Alias ist grundsätzlich erforderlich; Es ist die Anlaufstelle, wenn Probleme mit Ihrem Mailserver auftreten. Zeigenroot
und andere ähnliche Aliase sind auch gut.Das Grundformat ist in Aliases (5) dokumentiert:
Verwenden Sie
postalias
odernewaliases
, um die Hash-Datenbank/etc/aliases.db
jedes Mal zu aktualisieren, wenn Sie diese Datei bearbeiten.Jetzt haben Sie noch ein Konto,
diti
das für Postfix und Dovecot aufgerufen wird , aber die an gesendete E-Mailkra@...
wird ebenfalls dort weitergeleitet. Einige Mail-Clients (z. B. Thunderbird) unterstützen mehrere "Identitäten" oder "Personas" für einen einzelnen Mail-Server, sodass Sie zwischen verschiedenen "Von:" - Adressen wählen können.Das ist alles. Möglicherweise werde ich später Anweisungen für procmail, virtuelle Domänen, SPF und / oder DKIM zurückgeben.
quelle
mail.diti.me
(= die IP-Adresse meines Servers) sowohl für IMAP als auch für SMTP, meine Domain verfügt bereits über die MX-Einträge. Habe ich beim Einrichten meines Servers etwas falsch gemacht oder habe ich nur Thunderbird-Probleme?ps auxw | grep "dovecot"
sein? Ich habe es mit einem der komplexen Setups meines Freundes verglichen, und er hatdovecot-auth
undimap-login
das habe ich nicht. Könnte es möglich sein, dass die Ports tatsächlich offen sind (ich erinnere mich nicht, dass ich eine Firewall verwendet habe), aber kein Dämon eingestellt ist, um diese Ports von außen abzuhören, oder so? Wenn ichopenssl s_client -connect mail.diti.me:993
auf dem Server laufe , funktioniert es (und sagt "Dovecot ready."), Aber nichts von außen. Vielleicht sollte ich versuchen, eine Firewall zu installieren und diese Ports explizit zuzulassen?dovecot
,dovecot/anvil
,dovecot/log
und andere. Außerdem werden einige Prozesse nur gestartet, wenn eine Verbindung hergestellt wird oder wenn Authentifizierungsdetails überprüft werden.iptables -n -v -L
zu überprüfen, ob es Regeln zum Verwerfen von Paketen gibt.