Plesk LetsEncrypt für Mailserver

bashMit der neuen LetsEncrypt Authority ist es möglich unter Plesk sowohl die einzelnen Domains abzusichern wie auch das Plesk Panel selber.  Wer jetzt auch noch seine Mailserver mit dem gleichen Zertifikat bedienen möchte kann das auf dem manuellen Weg erreichen. Dies führt dann aber zu regelmäßigem Aufwand da das Zertifikat immer nur 3 Monate gültig ist und Plesk eine Erneuerung monatlich durchführt. Zudem bekommt das PEM File nach jeder Erneuerung einen neuen Dateinamen.

Daher das ganze in Script Form, es genügt den benutzten Plesk Hostnamen im Script zu definieren, der Rest passiert von selbst. Das ganze dann einfach monatlich durch CRON laufen lassen.

Bash Script: MAILCERT auf Github

Zur Zeit wird unterstützt:

  • Postfix
  • Courier IMAP und POP3
  • Dovecot
  • Webmin

Fragen? Bitte nutzt mein Forum: forum.powie.de

16 Comments

  1. Norman

    Vielen Dank für das tolle Script!!

    Du solltest allerdings in deinem Artikel noch erwähnen, dass das LetsEncyrpt Plesk Plugin max. für die verwendete Domain und die http://www.Domain ein Zertifikat erstellt.
    Bei Nutzung von Plesk 12.5 und dessen Mailserver Installation hat man aber ein Szenario, wo der Mailserver unter verschiedenen Subdomains verwendet wird, welche NICHT im Zertifikat erfasst werden (webmail.domain, imap.domain, pop3.domain).

    Das LetsEncrypt Plugin bietet derzeit (Version 1.4) noch keine Möglichkeit, weitere DNS Namen einzutragen 🙁

  2. Oje, ich würde gern das Script nutzen aber ich weiß nicht wohin damit? Es steht überall ich muss den Cron Job ausführen, ja würd ich gern machen, aber wo oder was muss ich mit dem Script machen? Hochladen irgendwo?

    1. Wenn du nicht weisst wie man ein Bash Script ausführt und per CRON regelmäßig aufruft ist das ganze Konstrukt nichts für dich….
      Du kannst das doch ablegen wo du willst. Bei mir liegt das in /opt/script , aber das ist letztlich jeden selbst überlassen.

      1. Daniel McDonald

        Hallo,

        Danke. Das ist wenig Hilfreich aber es hat soweit geklappt.
        Nur meldet das Mailprogramm immer folgendes: Falsche Webseite.

        Benutzt wurde das Zerti von dem Hostname.
        Der Hostname stimmt auch in der Ausgabe. Hatte ihn auch manuell gesetzt im Script.

        Wenn ich den Hostname als Mailserver im Client einstelle sagt er falsche Webseite, Zerti gilft für mydomain.com. Wenn ich als Mailserver „mydomain.com“ nehmen (Was ja ursprünglich so eingestellt war) meldet er aber AUCH „Falsche Webseite“ und sagt das Zerti ist für den HOSTNAME.

        Das scheint mir durcheinander zu sein. Bin natürlich genau nach Anleitung. Das ich garnicht erst mail.mydomain.com nutzen muss weiß ich, richtig?

  3. Tolles Script, ich habe mir noch eine Funktion für QMail gebaut:

    #copy pem to qmail
    certforqmail () {
    if [ -e /var/qmail/control/servercert.pem ]
    then
    if diff /var/qmail/control/servercert.pem $CERTFILE > /dev/null
    then
    echo -e „\e[33mSkipped: \e[39mQMail already up to date.“
    else
    cp ${CERTFILE} /var/qmail/control/servercert.pem
    echo -e „\e[32mSUCCESS: \e[39mQMail Certificate Updated“
    service qmail restart
    fi
    fi
    }

    # Die Funktion copycerts() habe ich natürlich entsprechend erweitert

    copycerts() {
    certfordovecot
    certforpostfix
    certforcourier
    certforqmail
    certforwebmin
    }

    1. Probiere das mal in CentOS, sollte genau so funktionieren wenn die CONF Files an den selben Stellen liegen. Wenn nicht macht es keine Änderungen.
      Wäre auch für CentOS anpassbar falls da Pfade anders sind, aber mangels eines Systems mit CentOS fehlt mir da die Möglichkeit.

  4. Alex

    Hallo,

    vielleicht stehe ich auf der Leitung, aber was ist denn, wenn man mehrere Domains in Plesk verwaltet? Dann müsste es ja auch mehrere unterschiedliche Zertifikate geben. Wie würde das dann funktionieren?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.