Tipp: Du kannst für alle Dateinamen und Verzeichnisse die automatische Vervollständigung mithilfe der Tab-Taste nutzen, sodass du nicht die kompletten Datei- oder Verzeichnisnamen manuell eintippen musst.

Hinweis: Für die gesamte Anleitung wird beispielhaft die Domain "testdomain.de" verwendet. Immer, wenn "testdomain.de" erwähnt wird, musst du an diesen Stellen selbstverständlich deine Domain angeben.

Diese Anleitung wurde am 27.01.2019 zuletzt überprüft und aktualisiert.

Bist du auf der Suche nach sehr guten, leistungsstarken und günstigen Servern?
Ich miete meine Server seit 5 Jahren bei Contabo und kann Contabo wirklich sehr empfehlen!
Vorbereitungen

Bevor du mit der eigentlichen Installation von Mailcow beginnen kannst, musst du erst einige Vorbereitungen treffen, welche hauptsächlich die DNS-Einstellungen deiner Domain, die du für den Empfang und Versand von E-Mails nutzen möchtest, betreffen. Führe dazu die folgenden Schritte durch:

  1. Der Hostname deines Servers sollte bestenfalls "mail" und der FQDN entsprechend "mail.testdomain.de" lauten.
  2. Füge einen A-Record für die Subdomain "mail" (mail.testdomain.de) hinzu und lasse diesen auf die IP-Adresse des Mailservers zeigen.
  3. Füge einen MX-Record für deine Domain hinzu und setze den Wert auf die soeben angelegte Mail-Subdomain (mail.testdomain.de) mit der Priorität 10.
  4. Definiere jeweils einen CNAME-Record für die Subdomains "autodiscover" sowie "autoconfig" und setze das Ziel beider CNAME-Records ebenfalls auf die Mail-Subdomain (mail.testdomain.de).
  5. Füge nun einen TXT-Record für deine Domain hinzu und setze den Wert auf "v=spf1 mx ~all", damit der Server, welcher im MX-Record angegeben ist (der Mailserver, auf dem Mailcow installiert wird) zum Senden von E-Mails mit deiner Domain als Absender berechtigt wird. Das "~all" bedeutet, dass andere Server keine E-Mails von deiner Domain senden dürften, aber diese E-Mails trotzdem noch ankämen (Softfail).
  6. Definiere einen PTR-Record (Reverse DNS) für die IP-Adresse deines Servers und setze den Wert auf den FQDN deines Servers (i.d.R. "mail.testdomain.de"). Diesen PTR-Record kannst du bei vielen guten Server-Hostern (wie beispielsweise bei Contabo) direkt im Webinterface setzen, bei einigen Anbietern hingegen musst du hierfür eine E-Mail bzw. ein Support-Ticket schreiben.
Installation von Mailcow
  1. Falls du es noch nicht getan hast, lade das Programm "PuTTY" herunter.
  2. Verbinde dich mithilfe von PuTTY via SSH mit deinem Root- oder vServer. Hierfür öffnest du PuTTY und gibst im Textfeld "Host Name (or IP address)" die Domain oder IP-Adresse deines Servers ein. Klicke anschließend unten auf "OK".
  3. Aktualisiere nun deine Paketlisten mit dem Befehl apt update.
  4. Installiere jetzt möglicherweise verfügbare Updates der auf deinem Server bereits installieren Pakete mit dem Befehl apt upgrade -y.
  5. Als nächstes installierst du Pakete, die für die weiteren Installationen benötigt werden, mit folgendem Befehl: apt install curl nano git -y
  6. Installiere Docker, indem du folgende Schritte durchführst:
    1. Führe den Befehl curl -sSL https://get.docker.com/ | CHANNEL=stable sh aus, um das Docker-Installationsscript herunterzuladen und Docker zu installieren.
    2. Aktiviere den Docker-Service mit folgendem Befehl: systemctl enable docker.service
    3. Starte den Docker-Service anschließend mit dem Befehl systemctl start docker.service
  7. Lade nun Docker-Compose mit dem Befehl curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose herunter.
  8. Vergib mithilfe des Befehls chmod +x /usr/local/bin/docker-compose nun noch die Rechte zum Ausführen von Docker-Compose.
  9. Wechsle mit dem Befehl cd /opt in das Verzeichnis "/opt"
  10. Lade Mailcow bzw. den Master Branch des entsprechenden Repositorys jetzt mit folgendem Befehl herunter: git clone https://github.com/mailcow/mailcow-dockerized
  11. Begib dich mit dem Befehl cd mailcow-dockerized in das Mailcow-Verzeichnis.
  12. Nun muss die Konfigurationsdatei für Mailcow generiert werden. Nutze hierzu den Befehl ./generate_config.sh. Du wirst anschließend nach einem FQDN gefragt. Gib hier den FQDN deines Servers an (i.d.R. "mail.testdomain.de") und bestätige die Eingabe mit der Enter-Taste. Die Abfrage nach der Zeitzone kannst du einfach mit Enter bestätigen, da standardmäßig "Europe/Berlin" erkannt werden sollte.
  13. Die Konfigurationsdatei ist nun generiert. Du kannst diese mit dem Befehl nano mailcow.conf optional anpassen, wenn du beispielsweise bereits einen Webserver installiert hast und du deswegen die Ports ("HTTP_PORT" und "HTTPS_PORT") des Mailcow-Webservers ändern möchtest. Zudem kannst du z.B. den Wert des Parameters "SKIP_LETS_ENCRYPT" auch auf "y" setzen, falls du nicht möchtest, dass automatisch ein SSL-Zertifikat bei Let's Encrypt beantragt wird. Änderungen an der Konfiguration kannst du speichern, indem du STRG + X, danach die "Y"-Taste und anschließend Enter drückst.
  14. Lade die für Mailcow benötigten Images mit folgendem Befehl herunter: docker-compose pull
  15. Starte den Mailcow-Container nun, indem du den Befehl docker-compose up -d ausführst.
  16. Mailcow beantragt automatisch ein Let's Encrypt SSL-Zertifikat für die Domain, welche als Hostname gesetzt ist ("acme-mailcow"-Container), sofern diese Funktion nicht explizit über die Konfigurationsdatei deaktiviert wurde. Somit kannst du das Mailcow-Webinterface per HTTPS aufrufen. Um HTTP-Anfragen automatisch zu HTTPS umzuleiten, führe folgende Schritte durch:
    1. Wechsle mit dem Befehl cd /opt/mailcow-dockerized/ in das Mailcow-Verzeichnis.
    2. Öffne die Nginx-Konfigurationsdatei mithilfe des Befehls nano data/conf/nginx/site.conf.
    3. Füge in dieser Konfigurationsdatei nun ganz oben folgenden Inhalt hinzu:
    4. Speichere deine Änderungen der Konfiguration, indem du STRG + X, danach die "Y"-Taste und anschließend Enter drückst.
    5. Starte Nginx daraufhin neu, indem du den Befehl docker-compose restart nginx-mailcow ausführst. Nun werden HTTP-Anfragen automatisch zu HTTPS umgeleitet.
Einrichtung von Mailcow
  1. Rufe das Mailcow-Webinterface unter der Domain deines Servers im Browser via HTTPS auf. Falls du den Webserver-Port in der Konfigurationsdatei geändert hast, musst du diesen nun natürlich mit angeben (z.B. "https://mail.testdomain.de:4343").
  2. Logge dich mit dem Benutzernamen "admin" und dem Passwort "moohoo" ein.
  3. Klicke nun unter "Administrator bearbeiten" rechts neben der Zeile des Benutzers "admin" auf "Bearbeiten".
  4. Ändere das Passwort des Administrator-Benutzers und passe, wenn gewünscht, auch den Benutzernamen an. Klicke danach auf den Button "Änderungen speichern".
  5. Wechsle nun zur E-Mail Konfiguration, indem du oben auf "Konfiguration" und anschließend auf "E-Mail-Setup" klickst.
  6. Der Reiter "Domains" ist bereits ausgewählt. Füge hier deine Domain durch einen Klick auf den Button "Domain hinzufügen" hinzu. Gib im Dialog, welcher erscheint, die Domain im Textfeld "Domain" und eine Beschreibung im Textfeld "Beschreibung" an. Die restlichen Einstellungen (z.B. die maximale Anzahl oder Größe der Postfächer) kannst du anpassen, jedoch sollten die Standard-Werte i.d.R. ausreichend sein. Klicke anschließend auf den Button "Domain hinzufügen und SOGo neustarten".
  7. Wechsle zum Reiter "Mailboxen" und füge mithilfe des Buttons "Mailbox hinzufügen" eine neue Mailbox (Postfach) hinzu. Dabei musst du folgende Angaben machen:
    • Benutzername: Linker Teil der E-Mail Adresse (vor dem "@")
    • Domain: Domain, zu der das Postfach gehört
    • Vor- und Zuname: Vor- und Nachname des Postfach-Nutzers
    • Speicherplatz (MiB): Speicherplatz für das Postfach (standardmäßig 3072 MiB)
    • Passwort: Passwort des Postfach-Nutzers
    Klicke daraufhin auf den Button "Hinzufügen", um das Postfach zu erstellen.
  8. Mailcow ist nun grundsätzlich eingerichtet. Es ist jedoch empfehlenswert, weitere Konfigurationen wie z.B. die DKIM-Konfiguration durchzuführen. Die DKIM-Konfiguration wird in dieser Anleitung im nächsten Schritt erklärt. Für weitere Informationen ist u.a. die Dokumentation von Mailcow hilfreich.
DKIM-Konfiguration
  1. Logge dich in das Mailcow-Webinterface ein und klicke oben im Menü auf "Konfiguration" und anschließend auf "Server-Konfiguration".
  2. Wechsle zum Reiter "Konfiguration" und gib unter "ARC/DKIM-Key hinzufügen" deine Domain in das Textfeld unter "Domain(s)" ein.
  3. Den DKIM-Selektor (Textfeld "Selector") kannst du bei "dkim" belassen oder, falls gewünscht, anpassen.
  4. Wähle anschließend als "DKIM key length (bits)" im Dropdown-Menü "2048 bits" aus.
  5. Klicke daraufhin auf den Button "Hinzufügen", um den DKIM-Key für deine Domain zu generieren.
  6. Kopiere nun den Inhalt der Textbox oben (Public-Key passend zur Domain, beginnend mit "v=DKIM1;k=rsa;t=s;s=email;p=") unter "ARC/DKIM-Keys".
  7. Füge abschließend einen TXT-Eintrag für "dkim._domainkey.testdomain.de" (passend zum gewählten DKIM-Selektor) in den DNS-Einstellungen deiner Domain hinzu und setze den vorhin kopierten Inhalt aus der Textbox als Wert des TXT-Eintrags.
Nutzung des Webmail-Clients "SOGo"

Mailcow liefert - unabhängig von der Möglichkeit, normale E-Mail Clients wie Thunderbird, Outlook o.ä. zu nutzen - praktischerweise direkt einen Webmail-Client mit. Somit kannst du deine E-Mails folgendermaßen auch direkt im Browser abrufen:

  1. Klicke im Menü des Mailcow-Webinterfaces oben auf "Apps" und dann auf "SOGo" oder rufe den Webmail-Client direkt auf, indem du an die Domain deines Servers "/SOGo" anhängst.
  2. Logge dich nun ein. Gib hierfür als Benutzernamen die vollständige E-Mail Adresse des Postfachs und als Passwort das entsprechende Passwort ein.
  3. Du solltest im Posteingang bereits eine E-Mail sehen (Erstellung eines persönlichen Kalenders) und kannst den Webmail-Client nun verwenden.
Einrichtung in E-Mail Clients (z.B. Thunderbird)

Du kannst deine Postfächer natürlich auch zu herkömmlichen E-Mail Clients wie beispielsweise Thunderbird, Outlook oder Apple Mail hinzufügen. Im Normalfall musst du nur den Benutzernamen (E-Mail Adresse des Postfachs) und das Passwort angeben, die Server-Einstellungen sollten automatisch ermittelt werden. Falls dies nicht funktioniert, dann verwende die folgenden Server-Einstellungen:

Server Protokoll Server-Adresse Port SSL Authentifizierung
Posteingangsserver IMAP FQDN des Mailservers (i.d.R. mail.testdomain.de) 993 SSL/TLS Passwort, normal
Postausgangsserver SMTP FQDN des Mailservers (i.d.R. mail.testdomain.de) 465 SSL/TLS Passwort, normal