Mailcow-dockerized installieren

  • Mithilfe dieser Anleitung schafft Ihr es, Euren eigenen Mail-Server aufzusetzen - ganz einfach! Dennoch empfehle ich die Durchführung nur von etwas fortgeschrittenen Leuten.


    1. Zuerst muss der Server auf den neusten Stand gebracht werden

    sudo apt update && apt upgrade -y


    2. Überprüft, ob einer dieser Ports bereits verwendet wird. Wenn Port 80 & 443 von einem anderen Webserver verwendet wird nutzen wir einen reverse proxy für mailcow.

    apt install net-tools

    sudo netstat -tulpn | grep -E -w '25|80|110|143|443|465|587|993|995'


    Code
    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5320/nginx: master
    tcp6 0 0 :::80 :::* LISTEN 5320/nginx: master


    3. Der Server muss den richtigen FQDN & Hostname haben. Dabei müsst Ihr an erster Stelle Eure Server IP, den MX Record und dahinter anschließend den Hostname 'mail' eingeben.


    nano /etc/hosts

    Code
    # Generated by SolusVM
    #------------------------------------------------
    127.0.0.1 localhost localhost.localdomain
    ::1 localhost localhost.localdomain
    #------------------------------------------------
    1.23.456.789 mail.domain.tld mail


    nano /etc/hostname

    Code
    mail.domain.tld


    5. Voraussetzung für Mailcow ist docker & docker-compose welche wir mit folgenden Befehlen installieren. Die Quellen der Docker Entwickler sind in den meisten Fällen aktueller als die in der Standard repository.


    Installieren von Docker

    curl -fsSL https://get.docker.com -o get-docker.sh 

    sh get-docker.sh 

    rm get-docker.sh

    systemctl enable docker.service 

    systemctl start docker.service


    Installieren von docker-compose

    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/bin/docker-compose

    chmod +x /usr/bin/docker-compose

    docker-compose version

    whereis docker-compose


    6. Als Nächstes laden wir mailcow herunter und navigieren in das Verzeichnis:

    umask

    cd /opt

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

    cd mailcow-dockerized


    7. Danach müssen wir die Konfigurationsdatei erstellen. Nutzt Eure FQDN, wenn danach gefragt wird.

    ./generate_config.sh


    Code
    Press enter to confirm the detected value '[value]' where applicable or enter a custom value.
    Hostname (FQDN): mail.yourdomain.com
    Timezone [Europe/Berlin]:


    8. Falls in Schritt zwei Eure Ports durch beispielsweise Apache belegt waren, könnt Ihr nun in der Datei den reverse proxy einsatzbereit machen.

    nano mailcow.conf


    Ich habe den Standard Port von 80 zu 8080 und den SSL Port von 443 zu 8443 geändert.

    Code
    HTTP_PORT=8080
    HTTP_BIND=0.0.0.0
    HTTPS_PORT=8443
    HTTPS_BIND=0.0.0.0


    Ändert auch den folgenden Parameter für den reverse proxy. Es ist nicht notwendig, aber empfehlenswert.

    Code
    SKIP_LETS_ENCRYPT=y


    9. Startet nun den Docker.

    cd /opt/mailcow-dockerized 

    sudo docker-compose pull


    Output


    sudo docker-compose up -d



    Stoppt den nginx service, startet den docker erneut und startet auch den nginx Server wieder. Der Fehler muss nicht zwingend auftreten.


    sudo nginx -s stop 

    sudo docker-compose up -d 

    sudo nginx -s start


    Bei folgendem Output solltet ihr nun euren Mailserver erreichen können.


    10. Falls noch nicht, müsst Ihr Eure DNS-Einstellungen noch ändern.

    • mail / A / 1.23.456.789
    • autodiscover / CNAME / mail
    • autoconfig / CNAME / mail
    • @ / MX 10 / mail
    • @ / TXT / v=spf1 mx ~all
    • _dmarc / TXT / v=DMARC1;p=none;sp=none

    11. Abschließend müsst Ihr noch einen DKIM Key erstellen. Navigiert zu domain.tld:8443 und loggt euch mit dem Benutzer 'admin' und dem Passwort 'moohoo' ein.


    11.1 Navigiert zu dem Tab "Konfiguration"

    mailcow1.png


    11.2 Verwendet eure Domain, gibt einen beliebigen Selektor an und wählt als Schlüssellänge 2048.

    mailcow2.png


    11.3 Kopiert den Inhalt und legt einen neuen Record in der DNS Verwaltung an 2020._domainkey / TXT / v=DKIM1 ; k=rsa... und speichert es ab.

    mailcow3.png

  • fendix

    Hat das Thema geschlossen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!