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

Views: 207