Taula de continguts

Let's Encrypt (renovación DNS)

Para poder renovar los certificados a través DNS, hace falta usar un servicio que permita acceder a los registros DNS via API (o delegar el registro CNAME en uno que lo permita).

preparativos

primera configuración

renovaciones

certbot renew --post-hook "systemctl reload nginx" (o apache2)
certbot renew --post-hook "docker compose -f /home/fidmag/webservices/docker-compose.yml restart"

Después copiar los certificados donde correspondan

# execució manual
sudo certbot certonly --manual \
    --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py \
    --preferred-challenges dns \
    --debug-challenges \
    -d "fidmag.org" \
    -d "*.fidmag.org"
 
[[ $? -eq 0 ]] && {
    echo "Renovación exitosa. Actualizando certificados en webservices..."
 
    # Ejecutamos en cadena (&&): si un paso falla, se detiene para no romper nada
    sudo mv -f /home/fidmag/webservices/certs/fullchain.pem /home/fidmag/webservices/certs/fullchain.pem.old && \
    sudo mv -f /home/fidmag/webservices/certs/fullchain.pem.key /home/fidmag/webservices/certs/fullchain.pem.key.old && \
    sudo cp -f /etc/letsencrypt/live/fidmag.org/fullchain.pem /home/fidmag/webservices/certs/ && \
    sudo cp -f /etc/letsencrypt/live/fidmag.org/privkey.pem /home/fidmag/webservices/certs/fullchain.pem.key && \
    sudo chmod +r /home/fidmag/webservices/certs/* && \
 
    docker compose -f /home/fidmag/webservices/docker-compose.yml restart
}

opción manual

sudo certbot certonly --manual --preferred-challenges dns -d "*.fidmag.org" -d "fidmag.org"

Después copiar los certificados donde correspondan