Wähle einen Artikel
Mailserver Mailcow per Docker auf vServer / VPS installieren
Mailserver Mailcow per Docker auf vServer / VPS installieren

1. Überblick

  • Verwendetes System: Debian 10 64 bit
  • Testserver: vServer XXL 2.0
  • Genutzter User: Ich nehme alles als „root“ vor
  • Zeitdauer: ca. 30 Minuten Arbeit + eventuell einige Stunden Wartezeit auf DNS Einträge
  • Schwierigkeit: Mittel
  • Besonderheiten:

2. Mailcow installieren

2.1 Vorab-Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

2.2 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. Mailcow werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um Mailcow neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu finden Sie hier: Traefik Reverse Proxy installieren

2.2.1 Verzeichnis erstellen

Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von Mailcow abspeichen. Dazu geben wir folgendes in der Konsole ein:

mkdir -p /opt/containers/mailcow

Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.

2.2.2 git installieren

Um uns die neueste Version von Mailcow zu installieren, müssen wir uns git installieren. Gebt dazu folgendes in eure Konsole ein:

apt-get update
apt-get install git

2.2.3 mailcow von git klonen

Nun kopieren wir uns die neuste Version von Mailcow auf unseren Server. Gebt dazu folgendes ein:

git clone https://github.com/mailcow/mailcow-dockerized /opt/containers/mailcow

2.2.4 Konfigurationsdatei für Mailcow erstellen

Hier reicht es ein Skript auszuführen. Gebt dazu folgenden Befehl ein:

cd /opt/containers/mailcow
./generate_config.sh

Hier gebt ihr nun den FQDN (Fully Qualified Domain Name) eures Servers ein. In meinem Fall ist das mail.testbereich.net

Terminalfenster mit Root-Prompt; Ausführung von ./generate_config.sh, Generierung von privaten Schlüsseln und Zertifikaten.

2.2.5 Docker Compose anpassen

Nun passen wir die Docker Compose Datei an, welche wir uns eben vom Server heruntergeladen haben. Gebt dazu folgendes ein:

nano /opt/containers/mailcow/docker-compose.yml

Nun scrollt ihr einige Zeit nach unten bis ihr den Abschnitt „nginx-mailcow“ (ca. Zeile 335) findet. Hier kommentiert ihr folgendes aus:

      #ports:
        #- "${HTTPS_BIND:-0.0.0.0}:${HTTPS_PORT:-443}:${HTTPS_PORT:-443}"
        #- "${HTTP_BIND:-0.0.0.0}:${HTTP_PORT:-80}:${HTTP_PORT:-80}"
Terminalfenster mit Konfigurationsdateien; weiße Textzeilen auf schwarzem Hintergrund; unten roter Block mit Ports.

Jetzt könnt ihr die Datei wieder verlassen.

2.2.6 docker-compose.override.yml erstellen

Nun erstellen wir uns eine neue Datei, welche alle unsere Änderungen beinhalten wird. Gebt dazu folgendes in eure Konsole ein:

nano /opt/containers/mailcow/docker-compose.override.yml

In die Datei kopiert ihr nun folgenden Code:

version: '2.1'

services:

    nginx-mailcow:

      labels:

        - "traefik.enable=true"

        - "traefik.http.routers.nginx-mailcow.entrypoints=http"

        - "traefik.http.routers.nginx-mailcow.rule=HostRegexp(`{host:(autodiscover|autoconfig|webmail|mail|email).+}`)"

        - "traefik.http.middlewares.nginx-mailcow-https-redirect.redirectscheme.scheme=https"

        - "traefik.http.routers.nginx-mailcow.middlewares=nginx-mailcow-https-redirect"

        - "traefik.http.routers.nginx-mailcow-secure.entrypoints=https"

        - "traefik.http.routers.nginx-mailcow-secure.rule=Host(`mail.euredomain.de`)" ###### hier eure FQDN angeben #####

        - "traefik.http.routers.nginx-mailcow-secure.tls=true"

        - "traefik.http.routers.nginx-mailcow-secure.tls.domains[0].main=mail.euredomain.de" ###### anpassen zu euer FQDN von oben #####

        - "traefik.http.routers.nginx-mailcow-secure.tls.domains[0].sans=imap.euredomain.de, smtp.euredomain.de, pop3.euredomain.de" ## Domain anpassen ##

        - "traefik.http.routers.nginx-mailcow-secure.service=nginx-mailcow"

        - "traefik.http.services.nginx-mailcow.loadbalancer.server.port=80"

        - "traefik.docker.network=proxy"

        - "traefik.http.routers.nginx-mailcow-secure.tls.certresolver=http"

      networks:

        proxy:

    dockerapi-mailcow:

      oom_kill_disable: false

    certdumper:

        image: humenius/traefik-certs-dumper

        container_name: traefik_certdumper

        restart: unless-stopped

        network_mode: none

        command: --restart-containers mailcowdockerized_postfix-mailcow_1,mailcowdockerized_dovecot-mailcow_1

                volumes:

          # mount the folder which contains Traefiks acme.json file

          #   in this case Traefik is started from its own docker-compose in ../traefik

          - /opt/containers/traefik/data:/traefik:ro

          # mount mailcows SSL folder

          - /var/run/docker.sock:/var/run/docker.sock:ro

          - ./data/assets/ssl:/output:rw


        environment:

        # only change this, if you're using another domain for mailcow's web frontend compared to the standard config

          - DOMAIN=${MAILCOW_HOSTNAME}

networks:

  proxy:

    external: true

Nun müssen wir noch einiges anpassen.

  1. „traefik.http.routers.nginx-mailcow-secure.rule=Host(mail.euredomain.de)" --> gebt hier euren FQDN wie in Schritt 1.3.4 ein. Bei mir ist die „mail.testbereich.net“

  2. „traefik.http.routers.nginx-mailcow-secure.tls.domains[0].main=mail.euredomain.de" --> gebt hier euren FQDN wie in Schritt 1.3.4 ein. Bei mir ist die „mail.testbereich.net“

  3. "traefik.http.routers.nginx-mailcow-secure.tls.domains[0].sans=imap.euredomain.de, smtp.euredomain.de, pop3.euredomain.de" --> ändert hier nur das „euredomain.de“ ab. Bei mir also in „testbereich.net“

2.2.7 Eigene Zertifikate deaktivieren

Nun deaktivieren wir, dass mailcow selbst Zertifikate generiert. Diese Aufgabe soll Traefik für uns übernehmen. Dazu gebt ihr folgendes in eure Konsole ein:

nano /opt/containers/mailcow/mailcow.conf

Ändert hier nun folgendes ab:

bisher

#  Skip running ACME (acme-mailcow, Let's Encrypt certs) - y/n
SKIP_LETS_ENCRYPT=n

ändert ihr zu

#  Skip running ACME (acme-mailcow, Let's Encrypt certs) - y/n
SKIP_LETS_ENCRYPT=y

2.2.8 Virenscanner deaktivieren (optional)

Wenn ihr nicht wollt, dass eure E-Mails auf Viren gescannt werdet bzw. wenn ihr nur wenig RAM in eurem Server habt, dann könnt ihr einfach den Clam AV Virenscanner deaktivieren.

Gebt dazu folgendes ein:

nano /opt/containers/mailcow/mailcow.conf

Hier ändert ihr folgendes ab:

bisher

#  Skip ClamAV (clamd-mailcow) anti-virus (Rspamd will auto-detect a missing ClamAV container) - y/n
SKIP_CLAMD=n

neu

#  Skip ClamAV (clamd-mailcow) anti-virus (Rspamd will auto-detect a missing ClamAV container) - y/n
SKIP_CLAMD=y

3. Mailcow starten

Nach diesen ganzen Einstellungen können wir nun endlich mailcow starten. Gebt dazu folgendes in die Konsole ein:

docker-compose -f /opt/containers/mailcow/docker-compose.yml up

4. DNS-Einstellungen anpassen

Nun müsst ihr noch die DNS-Einstellungen anpassen, damit eure E-Mails auch zugestellt werden können. Wichtig zu wissen ist, dass es mehrere Stunden dauern kann, bis alle Einstellungen im „Internet“ übernommen werden. Also wartet dann gegebenenfalls einige Stunden, bevor ihr die Einstallungen testet.

4.1 Reverse DNS anpassen

Dazu logt ihr euch in dem cloudpit.io (https://cloudpit.io) Webinterface an.

Screenshot einer CloudPit-Login-Seite: Logo-Banner, zwei Felder Benutzername, Passwort, Checkbox und blauer Anmelden-Button.

Anschließend geht ihr auf „Cloud Server“ und wählt dann „Übersicht“ aus.

Dunkle linke Seitenleiste mit Cloud-Server-Icon und DMS-Icon; weißer Reiter mit 'Übersicht' und Listen-Symbol.

Nun seht ihr alle eure Server. Wählt hier euren Server aus, auf dem ihr Mailcow installieren wollt.

Screenshot einer Tabellenliste mit Server-Einträgen: Spalten ID, HOSTNAME, IP-ADRESSE, NODE, STATUS; eine Zeile markiert.

Klickt nun auf „Netzwerk“.

Seitliche Menüleiste mit Symbolen; NETZWERK ist blau markiert (roter Rahmen).

Jetzt seht ihr folgendes:

Netzwerkeinstellungen: Hostname-Eingabefeld und IPv4 178.250.170.125 mit Reverse-DNS-Eintrag.

Dies ändere ich jetzt zu „mail.testbereich.net“ ab.

Netzwerkeinstellungen gespeichert: mail.testbereich.net; IPv4 178.250.170.125, Reverse-DNS mail.testbereich.net.

Nun speichert ihr und nach einigen Sekunden solltet ihr die Bestätigung sehen.

Achtet nur bitte darauf, dass der rDNS Eintrag identisch mit dem „MAILCOW_HOSTNAME“ ist, welchen in Schritt 1.3.4 vergeben habt.

4.2 DNS-Einträge setzen

Nun müssen wir noch einige DNS-Einträge für eure Domain hinzufügen. Dazu klickt ihr in CloudPit auf „Webhosting“.

Dunkler Header mit CloudPIT-Logo links; rechts Menü mit Cloud Server, DMS und Web Hosting (rot umrandet).

Nun seht ihr alle Domains, welche ihr bei dogado besitzt.

Screenshot eines Hosting-Domain-Dashboards: zwei Domain-Einträge, Status Aktiv, Erstellungsdatum, SSL- und DNS-Spalten.

Klickt nun auf „Mehr --> DNS-Verwaltung“ bei der Domain, welche ihr auch im Schritt 1.3.4 angegeben habt.

UI mit Dropdown-Menü: Oben Webcard erstellen und MEHR; darunter DNS-Verwaltung und Nameserver ändern.

Da ihr bereits die Anleitung zu Traefik (Traefik Reverse Proxy installieren) gemacht haben solltet, sollte es so bei euch aussehen.

DNS-Verwaltung, manueller Modus; Tabelle mit Einträgen (Name, TTL 600, Typ A, Wert 178.250.170.125).

Nun fügt ihr folgendes hinzu:

Name Typ Wert Priorität
mail A eure IP
autodiscover CNAME mail
autoconfig CNAME mail
MX 10 mail 10
# SPF Konfiguration
TXT v=spf1 mx a -all
# DMARC Konfiguration
dmarc TXT v=DMARC1; p=reject; rua=mailto:eureE-Mail@domain.de
___

Klickt dazu immer auf „Eintrag hinzufügen“.

Grüne Schaltfläche mit weißer Beschriftung '+ EINTRAG HINZUFÜGEN' in einer hellgrauen Benutzeroberfläche; abgerundete Ecken.

Wählt nun den entsprechenden Typ sowie Wert aus obiger Tabelle aus.

Dialog zum DNS-Eintrag Hinzufügen: Typ A, Name mail, TTL 600, Ziel-IP 178.250.170.125, Abbrechen und Speichern.

So sieht es dann bei mir aus, nachdem ich alle Werte hinzugefügt habe:

DNS-Verwaltungsoberfläche mit Tabellen; Einträge: mail, www, autoconfig, autodiscover, _dmarc; TTL, Typ, Wert.

Wichtig zu wissen ist, dass hier unter Wert nur „mail“ angezeigt wird. Wenn ihr auf Speichern klickt, dann wird daraus „mail.euredomain.de“.

Klickt nun unten rechts auf „Speichern“, um die Änderungen zu übernehmen.

Oben: Textfeld mit admin@testbereich... und zwei Symbolen. Unten: grüner Speichern-Button mit weißem Haken, roter Rahmen.

Wenn alles korrekt war, dann sollte folgende Meldung erscheinen.

DNS-Verwaltung: Zwei Optionen – Automatische DNS-Verwaltung und Manuelle DNS-Verwaltung (aktiv).

Bis die Änderungen umgesetzt werden, kann jedoch einige Zeit (Stunden) dauern.

5. Mailcow konfigurieren

Nun beginnen wir mit der Einrichtung unseres E-Mail Servers. Dazu geht ihr auf die Domain, welche ihr bei Schritt 1.3.4 hinterlegt habt. Bei mir ist dies „mail.testbereich.net“. Hier solltet ihr nun folgendes sehen.

Screenshot einer Login-Seite mit Kuh-Illustration im gelben Umschlag als Logo; Felder für Benutzername und Passwort.

Die Benutzerdaten für den ersten Login lauten:

Benutzername: admin
Passwort: moohoo

5.1 Administrator Kennwort / Name ändern

Da das Administrator-Kennwort / Name immer identisch ist, ändern wir dies nun direkt ab. Dazu klickt ihr auf „Bearbeiten“.

Screenshot eines Admin-Panels: Kopfzeile 'Administrator bearbeitet', Zeile mit Benutzername, Status und Bearbeiten-Button.

Jetzt erscheint folgender Dialog. Hier könnt ihr auch den Benutzernamen ändern. Dies kann auch sinnvoll sein, da der Name „admin“ immer von Angreifern als erstes ausprobiert wird.

Admin-Bearbeitungsseite: Felder Benutzername (admin), Passwort [generieren], Passwort wiederholen; grüner Button 'Änderungen speichern'.

Daher ändere ich diesen auch.

Administratoren bearbeiten: Felder Benutzername, Passwort und Passwort wiederholen; grüne Schaltfläche Änderungen speichern.

Nach dem Speichern seht ihr nun, dass der Nutzer umbenannt wurde und das Kennwort nun sicherer ist.

Roter Header: Administrator bearbeiten; Tabelle zeigt Benutzername dogado mit Checkbox.

5.2 E-Mail Domain hinzufügen

Nun fügen wir unsere Domain noch in Mailcow hinzu. Dazu klickt ihr auf „Konfiguration --> E-Mail Setup“.

Deutsches Flaggen-Symbol links; Dropdown Konfiguration mit Server-Konfiguration (ausgewählt) Systeminformation E-Mail-Setup.

Hier sehen wir, dass wir bisher noch keine Domain hinzugefügt haben.

UI einer Domain-Verwaltungskonsole mit Suchleiste und Tabs: Domains, Mailboxen, Ressourcen; grüne Schaltfläche Domain hinzufügen

Klickt daher nun auf „Domain hinzufügen“.

Screenshot einer Weboberfläche: grüne Schaltfläche '+ Domain hinzufügen' neben grauen Schaltflächen 'Alle' und 'Aktionen'.

Nun gebt ihr bei „Domain“ eure Domain ein. In meinem Fall ist dies „testbereich.net“.

Gebt hier NICHT mail.euredomain.de ein.

Die restlichen Werte könnt ihr so lassen. Anschließend klickt ihr auf „Domain hinzufügen und SOGO neustarten“.

Screenshot eines Domain-Hinzufügungsformulars; Feld Domain enthält 'testbereich.net'.

Nun sollte eure Domain angezeigt werden.

Tabellenansicht mit Spalten Domänen, Aliases und Status; blaue Schaltfläche 'Neue Domain hinzufügen'.

5.3 DKIM Schlüssel erzeugen

Um unseren E-Mail-Server sicherer zu machen, fügen wir nun noch einen DKIM Schlüssel (Infos: https://www.dogado.de/faq/artikel/dkim-schluessel-erzeugen/) hinzu. DKIM dient dazu die Authentizität der E-Mail-Versender zu überprüfen.

Klickt nun auf „Konfiguration --> Server-Konfiguration“.

Deutsche Flagge; Dropdown 'Konfiguration' geöffnet, 'Server-Konfiguration' markiert; Punkte: Systeminformation, E-Mail-Setup.

Wählt nun „Konfiguration --> ARC/DKIM-Keys“ aus.

UI-Dropdown: Zugang, Konfiguration, Routing; ARC/DKIM-Keys hervorgehoben; rote Admin-Leiste links.

Hier sehen wir nun, dass bisher noch kein Schlüssel hinterlegt wurde.

UI mit drei Tabs (Key gültig, Key ohne Zuweisung, Key fehlt); Domain testbereich.net; roter Hinweis 'Key fehlt'; grauer Entfernen-Button.

Dies wollen wir nun ändern. Gebt dazu bei „Domains“ eure Domain an und wählt 2048 Bit als Schlüssellänge.

UI-Formular: Domain(testbereich.net), Selector dkim, Schlüsselgröße 2048, grüne Schaltfläche '+ Hinzufügen'.

Klickt anschließend auf „Hinzufügen“.

Grüner Button mit weißem Text '+ Hinzufügen' in rotem Rahmen, oben links die Zahl 2048

Nun bekommt ihr euren Key angezeigt.

Screenshot einer Web-Verwaltungsseite mit ARC/OKH-Keys; linke Domain-Liste, mehrere Buttons, rechts ein langes Textfeld.

Diesen Key kopiert ihr nun und öffnet wieder cloudpit.io. Dort fügt ihr nun noch einen weiteren DNS-Eintrag hinzu.

Name Typ Wert
dkim._domainkey TXT v=DKIM1;k=rsa;t=s;s=email;p=MIIBIj…
___ Bei mir sieht dies so aus.
Screenshot eines Dialogs zum Hinzufügen eines DNS TXT-Eintrags: Typ TXT, Name dkim_domainkey, Wert v=DKIM1...

Der fertige Eintrag:

Zwei TXT-Einträge: _dmarc (TTL 600, v=DMARC...) und dkim._domainkey (TTL 600, v=DKIM...).

Anschließend speichern wir diese Änderung wieder.

Screenshot einer DNS-Verwaltung mit grünem Bestätigungsrahmen und Text: Ihre DNS Einstellungen wurden übernommen.

5.4 E-Mail-Benutzer anlegen

Nun legen wir unseren ersten E-Mail-Benutzer an. Klickt dazu auf „Konfiguration --> E-Mail-Setup“.

Offenes Dropdown-Menü: Knopf Konfiguration mit deutscher Flagge; Server-Konfiguration, Systeminformation und E-Mail-Setup.

Dann klickt ihr auf „Mailboxen“.

Zwei Tabs mit den Bezeichnungen Domains und Mailboxes, der rechte Tab Mailboxes ist von rotem Rahmen umgeben

Nun seht ihr alle E-Mail Accounts. Bei uns existiert noch keiner.

Weboberfläche zur Mail-Verwaltung mit Menüleiste (Domains, Mailboxen, Ressourcen) und Nutzertabelle.

Um dies zu ändern, klickt ihr auf „Mailbox hinzufügen“.

Grüner, abgerundeter Button mit der Aufschrift '+ Mailbox hinzufügen' in rotem Rahmen.

Nun seht ihr folgenden Dialog.

Formular 'Mailbox hinzufügen' mit Feldern: Benutzername, Domain, Vor- und Nachname, Speicher 3072 MB; grüner Button 'Hinzufügen'.

Mein neuer Benutzer soll max@testbereich.net heißen. Dazu gebe ich bei Benutzername nur „max“ ein. 3GB Speicherplatz sollten zu Beginn reichen. Diesen könnt ihr später nach Belieben erhöhen.

Formular 'Mailbox hinzufügen' mit Feldern: Benutzername, Domain testbereich.net, Name Max Mustermann, Speicher 3072 MiB, Passwort, Passwort wiederholen, Status Aktiv, grünem Button Hinzufügen.

Nachdem ihr den Benutzer angelegt habt, wird dieser auch direkt angezeigt.

Screenshot einer Weboberfläche mit Tabellenliste von Benutzern; Spalten: Benutzername, Gesamt, Letzter Mail-Login.

6. Web-Mail starten

Nun wollen wir uns mit unserem neuen E-Mail-Benutzer anmelden. Dies könnt ihr mittels Programms (Outlook, Thunderbird, …) oder mittels Mail Frontend direkt auf dem Server machen. Klickt dazu einfach oben rechts auf: „Apps --> Webmail“.

Obere Navigationsleiste mit Apps-Dropdown; Dropdown zeigt Webmail; rechts oben steht Admin.

Nun werdet ihr auf diese Webseite weitergeleitet.

Browserfenster: Linke weiße Fläche mit grünem sog-Logo, rechts grüne Login-Seite mit Feldern 'Benutzername' und 'Passwort'.

Gebt hier nun die komplette E-Mail-Adresse sowie das Kennwort ein.

Geteilter Bildschirm: links grüne Logo-Schrift sogo; rechts grünes Anmeldeformular mit Username, Passwort, Deutsch.

Nun seid ihr im Web Mail Programm und könnt hier nun E-Mails lesen und schreiben.

Screenshot einer Webmail-Oberfläche: linke Seitenleiste, mittlerer Posteingang, rechts leeres Nachrichtenfenster, grüner Verfassen-Button unten.

7. DNS-Einstellungen testen

Nun wollen wir alle unsere DNS-Einstellungen testen. Bitte bedenkt, dass es mehrere Stunden (1-2 Tage!) dauern kann, bis die Werte übernommen wurden.

7.1 Überprüfen mittels Mailcow

Nun können wir hier noch überprüfen, ob die DNS Einträge, welche wir in Schritt 3.2 gesetzt haben, bereits gültig sind. Klickt dazu in Mailcow auf „Konfiguration --> E-Mail-Setup“.

Deutsches Flaggen-Symbol links, Konfiguration mit Pfeil; geöffnetes Menü zeigt Server-Konfiguration (blau) und E-Mail-Setup.

Klickt nun hinter eurer Domain auf DNS.

Symbolleiste mit Bearbeiten (Bleistift), Entfernen (roter Knopf) und DNS (blauer Knopf).

Nun erscheint ein kurzer Hinweis, dass es bis zu 24 Stunden dauern kann, bis die Einträge übernommen werden.

DNS-Einträge: Überschrift; Hinweis, dass Änderungen bis zu 24 Stunden dauern; Online-Dokumentation.

Nach ca. 30 Sekunden erschien bei mir dann diese Übersicht.

Screenshot eines DNS-Einträge-Fensters mit Tabelle: Name, Typ, Korrekte Daten und Status; grüne Häkchen.

Hier kann man sehen, dass die Einträge bereits gültig sind.

7.2 Überprüfen mittels mail-tester.com

Die Webseite mail-tester.com ermöglicht es euch eure E-Mail-Adresse zu testen.

Blauer Hintergrund mit Wolke; Prüfen Sie Ihre E-Mail auf Spam-Verdacht; Eingabefeld mit E-Mail; Button danach prüfen

Öffnet nun euer E-Mail-Programm bzw. Webmail um eine E-Mail an die angezeigte Adresse zu schicken. In der E-Mail muss etwas Text stehen, da sonst der Score schlechter ausfällt. Bei mir sieht es beispielsweise so aus:

Screenshot eines Browser-E-Mail-Editors; sichtbar ist der Text Hallo, Viele Grüße.

Nachdem ihr die E-Mail verschickt habt, könnt ihr wieder zu mail-tester.com zurückkehren und euch das Ergebnis anschauen.

Interface zur Spam‑Prüfung mit Überschrift, Eingabefeld, das eine E-Mail-Adresse enthält, und blauem Button.

Dies ist mein Ergebnis:

Himmel mit Sonne links, Meer unten, drei Möwen; Perfekt, Sie können diese E-Mail senden! 10/10 in weißem Button.

8. Backups erstellen & wiederherstellen

Nun wollen wir uns noch anschauen, wie ihr Backups eurer E-Mails erstellen könnt. Dies ist mittels Mailcow sehr einfach möglich. Dazu erstellen wir uns ein neues Verzeichnis, in welchem das Backup später liegen soll.

mkdir -p /opt/containers/mailcow/backup

8.1 Backup erstellen

Nun starten wir das Backup Skript. Gebt dazu folgendes in eurer Konsole ein.

BACKUP_LOCATION=/opt/containers/mailcow/backup /opt/containers/mailcow/helper-scripts/backup_and_restore.sh backup all

Wenn ihr den Pfad von Mailcow oder dem Backup Ordner geändert habt, so müsst ihr diesen Befehl entsprechend anpassen.

Direkt nach der Eingabe des Befehls startet das Backup des E-Mail Servers mit allen Einstellungen, E-Mails und sonstigem.

Wenn ihr das Backup beispielsweise per Cron automatisch täglich ausführen wollt, so kann es sinnvoll sein den Parameter „–delete-days x“ zu nutzen. Dieser bewirkt, dass die Backups, die älter als x Tage sind, gelöscht werden und so nicht der gesamte Server vollgesichert wird.

Der Befehl lautet dann:

BACKUP_LOCATION=/opt/containers/mailcow/backup /opt/containers/mailcow/helper-scripts/backup_and_restore.sh backup all --delete-days 3

8.2 Backup wiederherstellen

Das Wiederherstellen von Backups ist sehr einfach möglich.

Gebt dazu einfach folgenden Befehl ein:

MAILCOW_BACKUP_LOCATION=/opt/containers/mailcow/backup ./helper-scripts/backup_and_restore.sh restore

Auch hier müsst ihr den Pfad des Backups anpassen, wenn ihr diesen verändert habt.

Nachdem ihr den Befehl ausgeführt habt, bekommt ihr diesen Dialog angezeigt. Hier könnt ihr nun wählen, was wiederhergestellt werden soll und von welchem Datum. Ich habe nur ein Backup erstellt, daher wird mir nur dieses angezeigt.

Terminalfenster mit Backup/Restore-Menü; nummerierte Optionen (0–6) und der Text 'Select a dataset to restore'.

Brauchst du Hilfe?

Professionellen Linux und Mailcow Support gibt es bei ADMIN INTELLIGENCE

Nächster Artikel
Maria DB Server installieren auf VPS / vServer
Weitere passende Themen