11 Sep

Certificados SSL/TLS Gratis con Let’s Encrypt bajo Debian 9 y Apache

Tener un sitio bajo https tiene algunas ventajas, una de ellas es poder usar el gps y notificaciones en una web, dicen que dicen que ayuda para el SEO, en fin ya lo veremos…

Desde hace tiempo los valedores de Let’s Encrypt ofrecen certificados SSL/TLS gratuitos, esto nos ahorra mucho dinero si tenemos en cuenta que un certificado comercial cuesta $100.00 US en promedio.

Para esta instalación necesitamos la cuenta root del servidor y crear un usuario con privilegios sudo IMPORTANTE, si tu usuario esta en los sudoers “sudo” brinca hasta la instalación de Let’s Encrypt.

Crear usuario con privilegios SUDO

1. Ingresar al servidor

$ ssh root@192.168.1.10 (La dirección IP publica de tu servidor)

2. Crear un usuario nuevo

# adduser maria

2.Instalar sudo

#apt-get update
#apt-get install sudo

3. Agregar el usuario al grupo sudo.

# usermod -a -G sudo maria

4. Editar el archivo /etc/sudoers y agregar esta linea

maria ALL=(ALL:ALL) ALL

5. Salir del sistema y volver a ingresar como maria

$ ssh maria@192.168.1.10 (La dirección IP publica de tu servidor)

Instalar Let’s Encrypt

1. Agregar las dependencias backports de jessie al sources.list de Debian 9

$ echo 'deb http://ftp.debian.org/debian jessie-backports main' | sudo tee /etc/apt/sources.list.d/backports.list

2. Actualizar lista de paquetes de los repositorios apt-get

$sudo apt-get update

3. Instalar certbot

sudo apt-get install python-certbot-apache -t jessie-backports

Nota: Certbot utiliza la configuración de apache, especificamente los hosts virtuales vhost de apache, mira este que hice de LAMP la parte de los vhosts.

4. Ejecutar certboot

$ sudo certbot --apache

En el asistente del certbot
5. Which names would you like to activate HTTPS for?

Lo deje en blanco para asegurar todos los sitios del servidor.

6. Please read the Terms of Service at

A de Agree es la licenacia… (Despues de leerla 😛 )

7. Please choose whether HTTPS access is required or optional.

Opción 2 para forzar la conexión segura.

8. Si todo salio bien nos debe mostrar el mensaje de éxito

Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/cabezaurio.com/fullchain.pem. Your cert will expire on 20XX-1X-XX. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew"

9. Los certificados tienen una validez de 90 días, para renovarlos automáticamente hay que agregar una orden a la cola del crontab así.

$ sudo crontab -e

Este es el comando, revisa la validez de los certificados cada lunes a las 2:30 hrs reloj del servidor.

30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log

A partir de ahora deberían estar asegurados todos los sitios en el servidor, compruébalo desde el navegador con https://dominio.com

Para agregar un dominio nuevo

sudo certbot --apache -d newdominio.com

 

One thought on “Certificados SSL/TLS Gratis con Let’s Encrypt bajo Debian 9 y Apache

  1. Pingback: LAMP (Linux Apache MySQL PHP5) en Debian y Virtual Hosts | elhui2

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Eres un robot? * Time limit exceeded. Please complete the captcha once again.