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.
Si su intención es instalar Let's Encrypt en un servidor remoto, continúe leyendo; de lo contrario, si desea instalar Let's Encrypt en su computadora local, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará la contraseña para la autenticación.
Para conectarse al servidor como root, escriba este comando:
ssh root@IP_DEL_SERVER
A continuación, se le pedirá que ingrese la contraseña del usuario root.
Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie el primer parámetro:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
Ahora está conectado a su servidor, está listo para iniciar la instalación de Let's Encrypt.
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 18.04 LTS.
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 update
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.
Y finalmente, instalemos el paquete Certbot para Apache:
sudo apt 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
Conclusión
La instalación de Let's Encrypt for Apache en Ubuntu 18.04 LTS con Certbot ha finalizado.