Just repaired my Lets Encrypt folders after SCP the files from my old server to my brand new one. I forgot to enable the copy with symbolic links and just transferred the files within those folders.

The websites did ran and run perfectly without symbolic links, but “certbot renew” returned an error that it needs a symbolic link.

After some investigation, i fixed it with this bash script:

relink.sh


#!/bin/bash
website=”$1″

lecert=$(find /etc/letsencrypt/archive/$website/cert* -type f -printf ‘%T@\t%p\n’ | perl -ane ‘@m=@F if ($F[0]>$m[0]); END{print $m[1];}’)

lechain=$(find /etc/letsencrypt/archive/$website/chain* -type f -printf ‘%T@\t%p\n’ | perl -ane ‘@m=@F if ($F[0]>$m[0]); END{print $m[1];}’)

lefullchain=$(find /etc/letsencrypt/archive/$website/fullchain* -type f -printf ‘%T@\t%p\n’ | perl -ane ‘@m=@F if ($F[0]>$m[0]); END{print $m[1];}’)

leprivkey=$(find /etc/letsencrypt/archive/$website/privkey* -type f -printf ‘%T@\t%p\n’ | perl -ane ‘@m=@F if ($F[0]>$m[0]); END{print $m[1];}’)

echo “lecert: $lecert”
echo “lechain: $lechain”
echo “lefullchain: $lefullchain”
echo “leprivkey: $leprivkey”
echo “”

rm -f /etc/letsencrypt/live/$website/*
ln -s $lecert /etc/letsencrypt/live/$website/cert.pem
ln -s $lechain /etc/letsencrypt/live/$website/chain.pem
ln -s $lefullchain /etc/letsencrypt/live/$website/fullchain.pem
ln -s $leprivkey /etc/letsencrypt/live/$website/privkey.pem

So you can start it with ./relink.sh <site>

Example for www.angioni.nl.conf / www.angioni.nl-le-ssl.conf:
./relink.sh www.angioni.nl

Visits: 206

By angioni

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.