Let’s Encrypt es una autoridad de certificación que proporciona certificados SSL / TLS gratuitos que se validan y firman instantáneamente y se pueden utilizar para proteger su sitio web. Los certificados son válidos por 90 días, pero puede configurar fácilmente una tarea para mandar la renovación automáticamente.
Usaremos el certbot para manejar la demostración y la implementación, por lo que el primer paso es instalar certbot.
1. Agregue el repositorio de jessie backports apt (no es necesario cuando se ejecuta Debian Linux 9, stretch)
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
apt-get update
2. Instalar certbot
Para Debian Linux 9 (stretch), use el posterior comando:
apt-get install python-certbot-apache
Para Debian Linux 8 (jessie), use el posterior comando:
apt-get install -t jessie-backports python-certbot-apache
3. Ahora que tenemos certbot instalado, solicitemos el certificado.
certbot --authenticator webroot --installer apache
Obtendrá una letanía de hosts disponibles que actualmente están siendo atendidos por el servidor web Apache, similar a esta:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: example.org
2: www.example.org
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to biombo):
Escriba una letanía separada por comas de los hosts que deben incluirse en el certificado, por ejemplo: 1,2.
4. Seleccione la raíz web para cada uno de los hosts seleccionados. El webroot es el directorio saco del sitio web y es necesario para el proceso de demostración. Cada dominio puede tener o no una raíz web diferente.
Una vez que se hayan verificado los directorios webroot, certboot solicitará automáticamente los certificados y creará archivos en el servidor que contengan las claves y el certificado.
5. En el posterior paso, se le preguntará si se requiere HTTPS o no. Si se requerirá HTTPS, certbot configurará Apache para redirigir las solicitudes http a los sitios a https. Elija aquí lo que se adapte a sus deyección.
6. Ahora podrá obtener a sus hosts en https, ej. https://example.org
7. El certificado vencerá en 90 días a partir de ahora. Puede renovar manualmente los certificados usando el mismo comando certbot, pero prefiere adicionar un cronjob para manejarlo automáticamente.
Abrigo crontab con su editor de texto protegido:
crontab -e
Y agregue la posterior dirección al final del archivo:
30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
Eso es todo, ahora su sitio es seguro y el certificado se renovará automáticamente.