Eigenen Mailserver mit Modoboa auf Debian installieren
Der Modoboa-Installer richtet Postfix, Dovecot, Webmail und SSL in einem Durchgang ein. So installieren Sie Ihren eigenen Mailserver auf Debian und setzen die nötigen DNS-Einträge.
Sie möchten Ihre E-Mails nicht bei einem Freemail-Anbieter liegen haben, sondern auf einem eigenen Server unter Ihrer eigenen Domain? Modoboa ist dafür eine der bequemsten Lösungen. Der mitgelieferte Installer richtet Postfix, Dovecot, Datenbank, Spamfilter, Webmail und eine Verwaltungsoberfläche in einem Durchgang ein.
Diese Anleitung beschreibt die Installation auf Debian 12 und Debian 11. Debian 10 wird nicht mehr unterstützt und sollte für einen neuen Mailserver nicht mehr verwendet werden.
Voraussetzungen
- Ein eigener vServer oder Rootserver mit einer frischen Debian-Installation. Wir empfehlen (keine Pflicht, aber sinnvoll), einen kleinen Server ausschließlich für den Mailbetrieb zu verwenden, weil Hostname und Reverse-DNS auf die Maildomain angepasst werden.
- Root-Zugriff über SSH.
- Eine eigene Domain, bei der Sie die DNS-Einträge selbst setzen können.
- Eine feste IPv4-Adresse, für die Sie einen Reverse-DNS-Eintrag hinterlegen können.
- Die Mailports müssen erreichbar sein: 25 (SMTP), 587 und 465 (Versand durch Ihre Nutzer), 143 und 993 (IMAP) sowie 80 und 443 für Webmail und die Zertifikatsausstellung.
Wichtig: Führen Sie die Installation auf einem frisch aufgesetzten System aus. Ein bereits laufender Webserver oder eine vorhandene Datenbank bringen den Installer regelmäßig zum Abbruch.
System vorbereiten
Bringen Sie zuerst die Paketliste und alle installierten Pakete auf den aktuellen Stand:
apt update && apt upgrade -y
Danach installieren Sie die Pakete, die der Installer erwartet:
apt-get install sudo git python3 mariadb-server -y
Schließen Sie die Einrichtung der Datenbank ab und folgen Sie den Fragen des Assistenten. Vergeben Sie dabei ein sicheres Passwort für den Datenbank-Administrator:
sudo mysql_secure_installation
Hostname setzen
Der Server braucht einen vollständigen Hostnamen, der zur späteren Maildomain passt. Ohne diesen Schritt schlägt die Installation fehl:
hostnamectl set-hostname mail.<DOMAIN>.<DOMAIN-ENDUNG>
Setzen Sie den A-Record für genau diesen Namen am besten schon jetzt im DNS. Der Installer beantragt später ein Let's-Encrypt-Zertifikat, und das gelingt nur, wenn der Name bereits auf Ihre Server-IP zeigt.
Modoboa-Installer herunterladen
cd /tmp
git clone https://github.com/modoboa/modoboa-installer
cd modoboa-installer
Konfigurationsdatei erzeugen und anpassen
Lassen Sie den Installer zunächst nur die Konfigurationsdatei anlegen und danach anhalten:
python3 ./run.py --stop-after-configfile-check <DOMAIN>.<DOMAIN-ENDUNG>
Öffnen Sie die erzeugte Datei:
nano installer.cfg
Passen Sie die folgenden Abschnitte an. Damit erhält der Server ein kostenloses SSL-Zertifikat von Let's Encrypt und verbindet sich mit der lokalen Datenbank:
[certificate]
generate = true
type = letsencrypt
[letsencrypt]
email = admin@<DOMAIN>.<DOMAIN-ENDUNG>
[database]
engine = mysql
host = 127.0.0.1
install = true
Tragen Sie bei der E-Mail-Adresse eine Adresse ein, die Sie tatsächlich lesen. Let's Encrypt verschickt darüber Hinweise, falls eine Verlängerung ausbleibt.
Installation starten
python3 ./run.py mail.<DOMAIN>.<DOMAIN-ENDUNG>
Der Durchlauf dauert einige Minuten. Nutzen Sie die Zeit, um die DNS-Einträge zu setzen.
DNS-Einträge setzen
A-Record und MX-Record
Der A-Record verweist auf Ihre Server-IP, der MX-Record sagt der Welt, welcher Host die Mails für Ihre Domain annimmt. Die Priorität "10" ist der übliche Wert, wenn es nur einen Mailserver gibt:
1. Eintrag:
Subdomain: mail
Typ: A (IPv4)
Ziel: <Server-IP>
Das Ergebnis sollte wie folgend aussehen: mail.<DOMAIN>.<DOMAIN-ENDUNG> IN A <Server-IP>
2. Eintrag:
(Subdomain: @)
Typ: MX
Ziel: mail.<DOMAIN>.<DOMAIN-ENDUNG>
Das Ergebnis sollte wie folgend aussehen: @ IN MX 10 mail.<DOMAIN>.<DOMAIN-ENDUNG>
SPF, DKIM und DMARC
Ohne diese drei Einträge landen Ihre Mails mit hoher Wahrscheinlichkeit im Spam-Ordner der Empfänger. Große Anbieter verlangen sie inzwischen ausdrücklich.
SPF legt fest, welche Server für Ihre Domain versenden dürfen. Als TXT-Eintrag auf der Hauptdomain:
Typ: TXT
Name: @
Wert: v=spf1 mx -all
DKIM signiert Ihre ausgehenden Mails kryptografisch. Modoboa kann die Schlüssel je Domain selbst erzeugen. Den öffentlichen Schlüssel finden Sie nach der Installation in der Verwaltungsoberfläche bei den Einstellungen der jeweiligen Domain. Diesen Wert tragen Sie als TXT-Eintrag im DNS ein.
DMARC sagt den Empfängern, wie sie mit Mails umgehen sollen, die SPF oder DKIM nicht bestehen. Beginnen Sie mit einer beobachtenden Einstellung und verschärfen Sie später:
Typ: TXT
Name: _dmarc
Wert: v=DMARC1; p=none; rua=mailto:postmaster@<DOMAIN>.<DOMAIN-ENDUNG>
Reverse-DNS (PTR)
Der PTR-Eintrag löst Ihre IP-Adresse zurück in den Hostnamen auf. Viele Mailserver lehnen Verbindungen ohne passenden PTR-Eintrag rundweg ab. Bei uns setzen Sie ihn selbst im Kundenbereich:
"Meine-Dienste" -> "Server auswählen" -> "Reverse DNS Button anklicken" -> mail.<DOMAIN>.<DOMAIN-ENDUNG>
Wichtig ist, dass PTR-Eintrag und Hostname exakt übereinstimmen.
Erste Schritte nach der Installation
War die Installation erfolgreich, starten Sie den Server einmal neu:
reboot
Danach erreichen Sie die Verwaltungsoberfläche unter https://mail.<DOMAIN>.<DOMAIN-ENDUNG>. Melden Sie sich mit dem Administrator-Konto an, das der Installer angelegt hat, und ändern Sie das Passwort als allererstes. Legen Sie anschließend Ihre Domain sowie die gewünschten Postfächer an.
Testen Sie danach in beide Richtungen: Schicken Sie eine Mail von Ihrem neuen Server an ein externes Postfach und eine Mail von außen an Ihre neue Adresse. Ob SPF, DKIM, DMARC und PTR korrekt greifen, prüfen Sie am schnellsten mit einem der frei verfügbaren Mailtester im Netz.
Häufige Fehler
- Installation bricht sofort ab: Der Hostname ist kein vollständiger Domainname. Prüfen Sie ihn mit
hostname -f. - Das Zertifikat wird nicht ausgestellt: Der A-Record für mail.IhreDomain zeigt nicht auf den Server, oder Port 80 ist blockiert. Let's Encrypt prüft die Domain über Port 80.
- Mails landen im Spam: Meist fehlt der PTR-Eintrag, oder SPF und DKIM sind nicht gesetzt. Prüfen Sie alle vier Einträge, bevor Sie den Server produktiv nutzen.
- Ausgehende Mails werden abgewiesen: Die IP-Adresse steht möglicherweise auf einer Blockliste. Die meisten Betreiber bieten eine Abfrage- und Freigabemöglichkeit an.
- Der Installer meldet einen Fehler bei der Datenbank: MariaDB wurde noch nicht mit
mysql_secure_installationabgeschlossen, oder in der Datei installer.cfg passt der Abschnitt zur Datenbank nicht. - Nach einem Neustart geht nichts mehr: Prüfen Sie die beteiligten Dienste mit
systemctl status postfix dovecot nginx.
Ein eigener Mailserver braucht mehr Pflege als andere Dienste: Aktualisierungen, Backups der Postfächer und ein Auge auf die Zustellbarkeit. Wenn Sie das übernehmen, bekommen Sie dafür volle Kontrolle über Ihre Kommunikation.
Autor: XEfnexX (Pseudonym)
Häufige Fragen
Welche Debian-Version brauche ich für Modoboa?
Warum landen meine Mails im Spam-Ordner?
Kann ich Modoboa auf einem Server mit bestehender Webseite installieren?
Welche Ports muss ich freigeben?
Wie setze ich den Reverse-DNS-Eintrag?
2023-2026 KernelHost GmbH. Alle Rechte vorbehalten. Diese Anleitung ist urheberrechtlich geschützt. Eine Veröffentlichung auf anderen Webseiten, auch auszugsweise oder in bearbeiteter Form, ist ohne unsere schriftliche Zustimmung nicht gestattet. Zitate mit Quellenangabe und Link sind ausdrücklich willkommen.

