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