Renovación automática de certificados Let´s Encrypt
Basado en Linux Debian 10
Tener un certificado SSL para que nuestra web haga las conexiones cifradas está muy bien y si lo hacemos gratis ya es genial. En el artículo anterior montamos nuestro primer certificado SSL Let’s Encrypt en Apache para el proyecto P4.
Los certificados de Let´s Encrypt caducan cada tres meses por lo que si no los renovamos caducarán automáticamente y seguidamente vendrán los problemas.
Al tener configurada la web para que funcione con el protocolo https tendremos problemas de carga y los buscadores empezarán a ver ese problema por lo que empezarán a bajar nuestras posiciones en los resultados de búsqueda.
Para evitar que los certificados se caduquen y con esto tengamos problemas que no necesitamos aquí os vengo con este artículo sobre la renovación automática de certificados Let´s Encrypt.
A continuación vamos a crear un simple script que detenga Apache, renueve los certificados si es que hay alguno que renovar y vuelva a arrancar Apache.
Como siempre nos identificamos como el súper usuario ROOT con el comando …
su
Seguidamente vamos al directorio donde alojamos nuestros scripts con …
cd /home/usuario/scripts
Continuamos creando el script si se le puede llamar script ya que a mí me parece mas un fichero donde se ejecuta una tarea detrás de otra, pero bueno, cumple su función que es lo que necesito.
Para ello creamos el fichero con …
vi actualizadorSSL.sh
Dentro insertamos lo siguiente …
#!/bin/bash
/etc/init.d/apache2 stop
/usr/local/bin/certbot-auto renew
/etc/init.d/apache2 start
Guardamos el fichero pulsamos la tecla ESC y seguidamente :wq! y le damos permisos …
chmod 0700 actualizadorSSL.sh
Ahora para probarlo vamos a ejecutarlo con …
./actualizadorSSL.sh
Cómo podemos ver primero se detiene Apache, seguidamente comprueba si hay que renovar algún certificado y finalmente se vuelve a activar Apache, genial!
Automatizando la renovación automática de certificados Let´s Encrypt
Ahora vamos a poner una tarea en Cron para terminar de olvidarnos de ellos y que la renovación trabaje automáticamente …
crontab -e
Y agregamos lo siguiente …
30 2 * * * sh /home/usuario/scripts/actualizadorSSL.sh
Guardamos los cambios y ya lo tenemos todo preparado para que funcione solo. Ahora cada día a las 2:30 de la madrugada se ejecutará el script y comprobará automáticamente si hay certificados para renovar, en caso de positivo lo renovará automáticamente y a vivir.
Bonito he!