SSL mit LetsEncrypt ganz einfach - linuxmuster-dehydrated zum Test verfügbar

Hi,

ich hab jetzt das mal umgesetzt, da ich den server selbst nicht als webserver nach draußen verwenden will. 443 geht auf einen anderen server, daher: port 80 auf, challenge → validation, port zu:

Ich hab jetzt die hook.sh der Vorlage vom entwickler genommen.

deploy_challenge() {
 local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"                                                                                                                                                

 source $CONFIG

 if [ "x$DEACTIVATE_PORT80" = "xyes" ]; then
     if ! grep "^Listen 80" /etc/apache2/ports.conf >/dev/null 2>&1; then
         echo " + Activating Apache on port 80"
         echo "Listen 80" >> /etc/apache2/ports.conf
         service apache2 reload
     fi
 fi
}
deploy_cert() {
 local DOMAIN="${1}" KEYFILE="${2}" CERTFILE="${3}" FULLCHAINFILE="${4}" CHAINFILE="${5}" TIMESTAMP="${6}"
    echo " + Deploying to Apache/slapd/cyrus..."

    # TARGET in the standard linuxmuster.net-installation                                                                                                                               
    TARGETDIR=/etc/ssl/private

    echo "   + Sichere altes Zertifikat"
    cp -a $TARGETDIR/server.pem $TARGETDIR/server.pem_$TIMESTAMP

    echo "   + Kopiere neues Zertifikat nach $TARGETDIR"
    ## put all in one:                                                                                                                                                                  
    cat "$KEYFILE" > $TARGETDIR/server.pem
    cat "$FULLCHAINFILE" >> $TARGETDIR/server.pem

    chmod 0640 $TARGETDIR/server.pem
    chown root:ssl-cert $TARGETDIR/server.pem

    echo "   + Restart services"
    service apache2 reload
    service slapd restart
    service cyrus-imapd reload
}
exit_hook() {
 source $CONFIG

 if [ "x$DEACTIVATE_PORT80" = "xyes" ]; then
     if grep "^Listen 80" /etc/apache2/ports.conf >/dev/null 2>&1; then
         echo " + Deactivating Apache on port 80"
         sed "/^Listen 80/d" -i /etc/apache2/ports.conf
         service apache2 reload
     fi
 fi

}
HANDLER="$1"; shift
if [[ "${HANDLER}" =~ ^(deploy_challenge|clean_challenge|deploy_cert|unchanged_cert|invalid_challenge|request_failure|exit_hook)$ ]]; then
    echo " + Hook $HANDLER..."
    "$HANDLER" "$@"
fi

Dabei hab ich noch die /etc/linuxmuster-dehydrated/config aufgebohrt mit folgendem Switch:

 DEACTIVATE_PORT80="yes"

Schien in meinen Tests erfolgreich zu laufen. Ich warte jetzt mal 60 Tage ab, bis cron die automatische Aktualisierung versucht…

VG, Tobias