Introducción
Let's Encrypt es una autoridad de certificación (CA) que automatiza la creación, validación, emisión y renovación de certificados X.509 para el protocolo TLS /SSL de forma gratuita, permitiendo HTTPS cifrado en servidores web.
En este tutorial, utilizaremos Certbot para obtener un certificado SSL gratuito para Apache en Ubuntu y para configurar el certificado para la renovación automática.
Certbot es un cliente automatizado fácil de usar que recupera y distribuye certificados SSL /TLS para el servidor web.
Prerrequisitos
Antes de comenzar esta guía, debe tener un usuario no root con privilegios sudo configurado en su servidor. Siga esta guía: Configuración inicial en Ubuntu 16.04-17.10
Instalar Certbot
El primer paso para utilizar Let's Encrypt para obtener un certificado SSL es instalar el software Certbot en su servidor.
Actualicemos la lista de paquetes:
sudo apt-get update
Instalamos el siguiente paquete que le permite administrar fácilmente las fuentes de software de productores de software independientes:
sudo apt-get install software-properties-common
Agreguemos el repositorio oficial de Cerbot para obtener los paquetes más actualizados:
sudo add-apt-repository ppa:certbot/certbot
Deberá presionar ENTER para aceptar.
Actualicemos la lista de paquetes nuevamente:
sudo apt-get update
Y finalmente, instalemos el paquete Certbot para Apache:
sudo apt-get install python-certbot-apache
Certbot ya está listo para usarse.
Configuración de firewall (ufw)
Si el firewall ufw está habilitado, debe crear una nueva regla para permitir el tráfico HTTPS.
Para verificar si el firewall está activo, ejecute este comando:
sudo ufw status
Para permitir el tráfico HTTPS para Apache:
sudo ufw allow 'Apache Full'
Obtenga un certificado SSL
Certbot utiliza el complemento Apache para obtener certificados SSL.
sudo certbot --apache
La ejecución de este comando le permitirá obtener un certificado SSL y Certbot modificará automáticamente la configuración de Apache.
De lo contrario, podría obtener el certificado y luego configurar Apache manualmente con el siguiente comando:
sudo certbot --apache certonly
Renovación Automática
Los paquetes de Certbot vienen con un trabajo cron que renovará automáticamente sus certificados antes de que caduquen. Como los certificados Let's Encrypt duran 90 días, se recomienda encarecidamente aprovechar esta función. Puede verificar la renovación automática de certificados ejecutando este comando:
sudo certbot renew --dry-run
La instalación de Let's Encrypt usando Certbot ha finalizado.