Després de donar-li moltes voltes a com renovar "automàticament" el certificat de let's encrypt, i navegar per la seva web de documentació i pels seus fòrums he trobat la manera de fer-ho de forma desatesa.
Només m'ha fet falta crear el següent script:

sudo /root/letsencrypt/letsencrypt-auto --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory certonly -d marc.bres.cat --renew-by-default -a webroot --webroot-path "/var/www" sudo service apache2 reload

i afegir-lo al crontab, jo ho he fet per a que s'executi el dia 1 a la 1:00 cada 2 mesos.

0 1 1 2,4,6,8,10,12 * ~/scripts/renewLetsencrypt.sh

Les opcions de l'script, punt per punt fan:

--server https://acme-v01.api.letsencrypt.org/directory Especificar el servidor segons les instruccions proporcionades
certonly Generar només el certificat, no fer cap auto-configuració
-d marc.bres.cat definir el domini pel que volem generar el certificat
--renew-by-default fer que no demani confirmació de si volem renovar
-a webroot --webroot-path "/var/www" Dir que ja tenim un servidor web corrent al port 80 i que faci servir el directori del servidor web per autenticar-se, així evitem tenir que atura l'apache per renovar

Per tal que funcioni, com que a l'entrada anterior haviem habilitat una redirecció permanent d'http a https, hem de posar una excepció per tal que la verificació que fa el servidor de let's encrypt connectant-se al port 80 funcioni. Editem el fitxer .htaccess del directori on tenim instal·lat el blog, per tal que quedi així:

RewriteEngine on RewriteCond %{REQUEST_URI}!^/.well-known/ RewriteRule (.*) https://marc.bres.cat/$1 [R=301,L]

I ja està, ja ens en podem despreocupar, el certificat es renovarà automàticament cada 2 mesos

Previous Post Next Post