Sólo si el paso 4 falla; entonces comenzar desde el paso 1.
A) Instalar Certificado
Primero, agregue el repositorio:
sudo add-apt-repository ppa:certbot/certbot
Debe presionar ENTER
para aceptar.
Instale el paquete Apache de Certbot con apt
:
sudo apt install python-certbot-apache
sudo apt install python3-certbot-apache
Con esto, Certbot estará listo para utilizarse. Sin embargo, para que configure SSL para Apache debemos verificar parte de la configuración de Apache.
Paso 2: Configurar el certificado SSL
Certbot debe poder encontrar el host virtual adecuado en su configuración de Apache para poder configurar SSL de forma automática. De forma específica, lo hace buscando una directiva ServerName
que coincida con el dominio para el que usted solicite un certificado.
Si siguió el paso de configuración del host virtual en el tutorial de instalación de Apache, debe disponer de un bloque VirtualHost para su dominio en /etc/apache2/sites-available/your_domain.com.conf
con la directiva ServerName
ya establecida de forma adecuada.
Para comprobarlo, abra el archivo de host virtual para su dominio utilizando nano
o el editor de texto que prefiera:
sudo nano /etc/apache2/sites-available/your_domain.conf
Busque la línea de ServerName
existente. Debería tener el siguiente aspecto:
/etc/apache2/sites-available/your_domain.conf
... ServerName your_domain; ...
Si esto sucede, salga de su editor y continúe con el paso siguiente.
De lo contrario, actualícelo para que coincida. A continuación, guarde el archivo, cierre el editor y verifique la sintaxis de las modificaciones de la configuración:
sudo apache2ctl configtest
Si encuentra un mensaje de error, vuelva a abrir el archivo de host virtual y verifique que no haya errores ortográficos y que no falten caracteres. Una vez que la sintaxis de su archivo de configuración sea correcta, vuelva a abrir Apache para cargar la configuración nueva:
sudo systemctl reload apache2
Ahora, Certbot podrá encontrar el bloque VirtualHost correcto y actualizarlo.
A continuación, actualizaremos el firewall para permitir el tráfico de HTTPS.
B) Instalar sólo el certificado
Paso 4: Obtener un certificado SSL
Certbot ofrece varias alternativas para obtener certificados SSL a través de complementos. El complemento de Apache se encargará de reconfigurar Apache y volver a cargar la configuración cuando sea necesario. Para utilizar este complemento, escriba lo siguiente:
sudo certbot --apache -d your_domain -d www.your_domain
Con esto, se ejecuta certbot
con el complemento --apache
, usando -d
a fin de especificar los nombres para los cuales desea que el certificado tenga validez.
Si es la primera vez que ejecuta certbot
, se le solicitará introducir una dirección de correo electrónico y aceptar las condiciones de servicio. A continuación, certbot
se comunicará con el servidor de Let’s Encrypt y, luego, realizará una comprobación para verificar que usted controle el dominio para el que solicita un certificado.
Si la comprobación se realiza correctamente, certbot
le preguntará cómo desea configurar sus ajustes de HTTPS:
OutputPlease choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Seleccione su elección y presione ENTER
. La configuración se actualizará y Apache se volverá a cargar para aplicar los ajustes nuevos. certbot
concluirá con un mensaje que le indicará que el proceso se realizó con éxito y le brindará información sobre la ubicación de sus certificados:
OutputIMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/your_domain/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/your_domain/privkey.pem Your cert will expire on 2018-07-23. 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" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Así, sus certificados se quedarán descargados, instalados y cargados. Intente volver a cargar su sitio web utilizando https://
y observe el indicador de seguridad de su navegador. Debería indicar que el sitio cuenta con la protección correcta, en general, con un ícono de un candado verde. Si prueba su servidor utilizando SSL Labs Server Test, obtendrá una calificación A.
Terminaremos con una prueba del proceso de renovación.
Paso 5: Verificar la renovación automática de Certbot
Los certificados de Let’s Encrypt son válidos únicamente por noventa días. El propósito de esto es incentivar a los usuarios a automatizar sus procesos de renovación de certificados. El paquete de certbot
que instalamos se encargará de esto agregando una secuencia de comandos de renovación a /etc/cron.d
. Esta secuencia de comandos se ejecuta dos veces al día y renovará de forma automática cualquier certificado que caduque en treinta o menos días.
Para probar el proceso de renovación, puede hacer un simulacro con certbot
:
sudo certbot renew --dry-run
Si no ve errores, no habrá inconvenientes. Cuando sea necesario, Certbot renovará sus certificados y volverá a cargar Apache para registrar los cambios. Si el proceso de renovación automática falla, Let’s Encrypt enviará un mensaje a la dirección de correo electrónico que especificó en el que se le advertirá cuándo se aproxime la fecha de vencimiento de sus certificados.