Einführung
In diesem Tutorial richten Sie Ihren eigenen Mailserver auf einem Ubuntu-Server in der Hetzner Cloud ein. Mit Mailcow können Sie Ihren eigenen Mailserver mit Ihrer eigenen Domain hosten. Mailcow bietet außerdem die Möglichkeit, Ihre Kontakte und Ihren Kalender zu synchronisieren.
Voraussetzungen
- Sie benötigen einen Domainnamen.
- Ein wenig Wissen darüber, wie Docker funktioniert
- Die Server von Hetzner Cloud blockieren standardmäßig die Ports 25 und 465, um Spam zu verhindern. Sie können die Entsperrung der Ports nach Bezahlung Ihrer ersten Rechnung beantragen. Dies dient im Wesentlichen als einfache Bestätigung, dass Sie kein Spammer sind.
Schritt 1 – Einen neuen Cloud-Server erstellen
- Melden Sie sich bei der Cloud-Konsole an.
- Erstelle ein neues Projekt und gib ihm einen beliebigen Namen.
- Wählen Sie Serverstandort und -typ entsprechend Ihren Bedürfnissen. Falls Sie sich nicht sicher sind, beachten Sie die folgenden Tipps.
- Klicken Sie auf „Server hinzufügen“ und wählen Sie Ihr Server-Image aus. Dieses Tutorial basiert auf Ubuntu 22.04, lässt sich aber problemlos an Debian 11 anpassen, das stabiler und ressourcenschonender ist.
- Wählen Sie unter „Typ“ die benötigten Ressourcen aus.
- Klicken Sie auf das Feld „Cloud-Konfiguration“ und geben Sie Folgendes ein: #include https://get.docker.com (Dadurch wird Docker installiert)
- Wählen Sie Ihren SSH-Schlüssel
- Geben Sie im Feld „Name“ den Hostnamen Ihres Servers ein (mail.example.com).
- Jetzt erstellen und kaufen
Wie man den richtigen Serverstandort und -typ auswählt
Wählen Sie einen Serverstandort, der geografisch am nächsten zu Ihnen oder Ihren Nutzern liegt. Beachten Sie bei der Wahl des Servertyps, dass Mailcow mindestens 7 GB RAM benötigt, um einwandfrei zu funktionieren. Mailcow ist eine vollwertige Groupware-Lösung. Die günstigsten verfügbaren Servertypen sind der CX31* oder CPX31.
Schritt 2 – DNS einrichten
Sie erstellen einen neuen DNS-Eintrag namens mail.example.com und fügen Ihren IPv4- (A-Eintrag) und IPv6-Server (AAAA-Eintrag) hinzu. Anschließend konfigurieren Sie den MX-Eintrag Ihrer Domain so, dass er auf die neu erstellte Subdomain mail.example.com verweist. Zusätzlich richten Sie die Subdomains autodiscover.example.com und autoconfig.example.com ein. Beide sollten als CNAME-Einträge auf mail.example.com verweisen.
Ihre DNS-Konfiguration sollte folgendermaßen aussehen:
# Name Type Value
mail IN A 10.0.0.1
mail IN AAAA 2001:db8:1234::1
autodiscover IN CNAME mail
autoconfig IN CNAME mail
@ IN MX 10 mailFür eine komplexere Konfiguration gibt es in der Mailcow-Dokumentation weitere DNS-Einträge zu beachten.
Schritt 3 – Updates und Docker Compose auf dem Server installieren
Warten Sie einige Sekunden, bis der Server gestartet ist, und verbinden Sie sich dann per SSH mit Ihrem privaten Schlüssel. Sie sollten sich nun mit folgendem Befehl anmelden können:
apt update && apt upgrade -yDies ist ein guter Zeitpunkt, den Server nach Abschluss aller Aktualisierungen neu zu starten, insbesondere wenn es Kernel-Updates gab.
Schritt 4 – Mailcow-Repository klonen
Nun möchten wir das Mailcow-GitHub-Repository klonen. Dazu müssen Sie sich zunächst in /opt anmelden mit:
cd /optSobald Sie sich im Verzeichnis /opt befinden, können Sie Folgendes ausführen:
git clone https://github.com/mailcow/mailcow-dockerized
Schritt 5 – Konfiguration erstellen, Docker-Container herunterladen und Mailcow starten
Um die Konfiguration zu erstellen, wechseln Sie mit `cd /opt/mailcow-dockerized` in das Verzeichnis `/opt/mailcow-dockerized` und führen Sie `./generate_config.sh` aus, um die Konfiguration zu generieren. Geben Sie nun Ihren Domainnamen ein (z. B. `mail.example.com`). Fast geschafft! Führen Sie jetzt `docker compose pull` aus, um die Docker-Images herunterzuladen. Starten Sie Mailcow mit `docker compose up -d .`.
Schritt 6 – Reverse-DNS-Einträge einrichten
Um Reverse-DNS-Einträge einzurichten, befolgen Sie diese Schritte:
- Rufen Sie die Hetzner Cloud-Konsole auf und klicken Sie auf Ihr Projekt.
- Wählen Sie den von Ihnen erstellten Server aus und wechseln Sie zur Registerkarte NETZWERK.
- Klicken Sie auf die drei Punkte neben Ihrer IPv4-Adresse, wählen Sie „Reverse-DNS bearbeiten“, geben Sie Ihre Domain (mail.example.com) ein und bestätigen Sie die Änderung.
- Klicken Sie auf die drei Punkte neben Ihrem IPv6-Subnetz, wählen Sie „Reverse-DNS bearbeiten“ und geben Sie ::1 in das Feld ein, in dem sich die IP-Adresse unter Ihrem Domänennamen (mail.example.com) befindet.
Schritt 7 – Melden Sie sich zunächst bei Ihrer Mailcow-Instanz an.
Besuchen Sie Ihre Mailcow-Instanz unter https://mail.example.org und melden Sie sich mit den Standardanmeldedaten an:
- Benutzername: admin
- Passwort: moohoo
Wichtig: Ändern Sie Ihr Passwort so schnell wie möglich, da Sie Ihren Server sonst für unbefugte Zugriffe öffnen.
Schritt 8 – Domain(s) zu Mailcow hinzufügen
Sie können Ihre Domain nun zu Mailcow hinzufügen. Gehen Sie dazu einfach auf Konfiguration → E-Mail-Einrichtung. Fügen Sie Ihre Domain unter dem Tab “Domain” hinzu.
Schritt 9 – DKIM einrichten
Wenn Sie nun zu „Konfiguration“ → „Konfiguration & Details“ zurückkehren, können Sie DKIM einrichten. Wählen Sie im Tab „Konfiguration“ in der Seitenleiste DKIM aus. Diese Option befindet sich ganz oben. Scrollen Sie nach unten, um eine Maske zu sehen, in die Sie Ihre Domain eingeben können. Klicken Sie einfach auf die Verknüpfung „Domains mit fehlenden Schlüsseln auswählen“, um Ihren Domainnamen einzutragen. Wählen Sie nun einen 2048-Bit-Schlüssel aus und klicken Sie auf „Hinzufügen“. Sobald der Schlüssel hinzugefügt wurde, können Sie den öffentlichen Schlüssel kopieren und einen DNS-TXT-Eintrag namens „dkim._domainkey“ mit dem kopierten Inhalt erstellen.
Schritt 10 – Erstellen Sie ein Postfach
Wann Konfiguration -> E-Mail-Einrichtung Sobald Sie zurück sind, können Sie ein Postfach erstellen und sich bei SOGo anmelden, indem Sie es unter https://mail.example.com/SOGo aufrufen.
Schritt 11 – Erstellen Sie eine Sicherungskopie.
Backups sind für die meisten Serverkonfigurationen unerlässlich. Auch Ihr E-Mail-Server bildet da keine Ausnahme. Mailcow bietet eine sehr einfache Möglichkeit, Backups Ihrer E-Mail-Daten zu erstellen.
Erstellen Sie eine manuelle Sicherung.
- Stellen Sie mithilfe des SSH-Schlüssels eine Verbindung zu Ihrem Server her.
- Wechseln Sie in das Mailcow-Verzeichnis, das das Hilfsskript enthält: /opt/mailcow-dockerized/helper-scripts.
- Führen Sie das Sicherungsskript ./backup_and_restore.sh aus. Sichern Sie alles --delete-days 7
Je nach Größe der E-Mails und Servertyp kann dieser Vorgang zwischen wenigen Minuten und einigen Stunden dauern.
Schritt 12 – Aktualisieren Sie die Mailcow-Instanz
Mailcow-Updates werden üblicherweise einmal im Monat von den Entwicklern veröffentlicht. Weitere Updates erscheinen bei Sicherheitslücken oder dringenden Fehlern. Es empfiehlt sich, die Mailcow-Releases-Seite regelmäßig auf Informationen zu Änderungen zu überprüfen.
Vor dem Update empfiehlt es sich, zu prüfen, ob Sie über eine aktuelle Datensicherung verfügen. In der Hetzner Cloud-Konsole können Sie außerdem einen Snapshot Ihres Servers erstellen, um im Problemfall schnell wieder betriebsbereit zu sein.
Falls Sie keine Hetzner-Snapshots verwenden möchten, bietet Mailcow auch eine integrierte Möglichkeit, Updates rückgängig zu machen.
- Stellen Sie mithilfe des SSH-Schlüssels eine Verbindung zu Ihrem Server her.
- Wechseln Sie in den Mailcow-Ordner /opt/mailcow-dockerized
- .Führen Sie ./update.sh aus
- Zum Schluss fragt Mailcow Sie, ob Sie nicht verwendete Komponenten entfernen möchten. Wählen Sie „Nein“ und entfernen Sie diese später manuell, damit Sie für den Fall der Fälle gerüstet sind.
- Nach dem Update startet Mailcow alle Dienste und führt interne Aktualisierungen durch. Um Datenverlust zu vermeiden, fahren Sie Ihren Server oder Ihre Docker-Container nicht herunter.









