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, usaremos Certbot para obtener un certificado SSL gratuito para Apache en Fedora 26 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 Fedora de forma remota, siga leyendo; de lo contrario, si desea instalar Let's Encrypt en su computadora local, omita el primer párrafo "Conectarse 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 comenzar a instalar Certbot.
Instalar Certbot
Certbot está presente en los repositorios oficiales de Fedora, por lo que puede instalarlo con el siguiente comando de terminal:
sudo dnf install certbot-apache
Los complementos de DNS de Certbot también se pueden usar para automatizar la obtención de un certificado Wildcard del servidor ACMEv2 de Let's Encrypt para Fedora 26. Para usar estos complementos, debe configurar el DNS del dominio para el que desea obtener certificados. Para más información lea la documentación oficial.
Configurar el archivo de hosts
Advertencia: si no se ha configurado el archivo hosts, es posible, con el siguiente comando, ingresar su dominio para asociarlo con el servidor:
echo 127.0.0.1 www.esempio.it esempio.it >> /etc/hosts
Configurar VirtualHost
Advertencia: si aún no lo ha hecho, debe configurar un VirtualHost para obtener certificados SSL, utilizando Certbot. Luego abra el siguiente archivo:
sudo vi /etc/httpd/conf/httpd.conf
Busque la siguiente línea:
#ServerName www.example.com:80
Descomentarlo y editarlo así:
ServerName 127.0.0.1:80
Agregue las siguientes líneas al final del archivo:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName esempio.it
ServerAlias www.esempio.it
DocumentRoot /var/www/html
</VirtualHost>
Obtenga un certificado SSL
El primer paso para utilizar Let's Encrypt para obtener un certificado SSL es instalar el software Certbot en su servidor.
sudo certbot --apache
De lo contrario, podría obtener el certificado y luego configurar Apache manualmente con el siguiente comando:
sudo certbot --apache certonly
Certbot ya está listo para usarse.
Si desea obtener un certificado Wildcard con Let's Encrypt, deberá usar uno de los complementos DNS de Certbot. Para hacer esto, asegúrese de que el complemento de su proveedor de DNS esté instalado siguiendo las instrucciones anteriores y ejecute el siguiente comando con su nombre de dominio:
sudo certbot -a dns-plugin -i apache -d "*.esempio.it" -d esempio.it --server https://acme-v02.api.letsencrypt.org/directory
Para obtener más información sobre cómo utilizar Certbot, lea la documentación oficial de Certbot.
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
Si funciona bien, puede configurar la renovación automática agregando un trabajo cron o un temporizador systemd que ejecute este comando:
certbot renew
La instalación de Let's Encrypt for Apache en Fedora 26 usando Certbot ha finalizado.