Implantación
Para implantar un certificado SSL validado por Let’s Encrypt en nuestro sitio web, yo hago uso de Certbot.
Podemos instalar certbot en nuestro servidor accediendo a su sitio web oficial y luego introduciendo nuestro sistema y servidor web, en mi caso Apache con Debian.
Ahora bien, procedamos con los pasos que realizaremos.
certbot --apache
A continuación, te indicará donde dejará el log de debug de la instalación y te preguntará acerca del dominio sobre el que quieres generar los certificados y el email para las renovaciones y avisos de seguridad.
Saving debug log to /var/log/letsencrypt/letsencrypt.log No names were found in your configuration files. Please enter in your domain name(s) (comma and/or space separated) (Enter ‘c’ to cancel):jaweewo.es Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to cancel): xxxxxx@gmail.com Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
A continuación nos mencionará que leamos los terminos del servicio y los aceptemos.
Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree in order to register with the ACME server at https://acme-v01.api.letsencrypt.org/directory — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — - (A)gree/©ancel: A
Ahora viene el momento de obtener el certificado, activar el modulo ssl en apache y generar el virtualhost con los certificados descargados:
Starting new HTTPS connection (1): supporters.eff.org Obtaining a new certificate Performing the following challenges: tls-sni-01 challenge for jaweewo.es Enabled Apache socache_shmcb module Enabled Apache ssl module Waiting for verification… Cleaning up challenges Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem Created an SSL vhost at /etc/apache2/sites-available/000-default-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/000-default-le-ssl.conf Enabling available site: /etc/apache2/sites-available/000-default-le-ssl.conf
A continuación preguntará si deseas mantener si quieres mantener el protocolo http junto al https o solo usar el https.
Please choose whether HTTPS access is required or optional. — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — - 1: Easy — Allow both HTTP and HTTPS access to these sites 2: Secure — Make all requests redirect to secure HTTPS access — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — - Select the appropriate number [1–2] then [enter] (press ‘c’ to cancel): 1 — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — - Congratulations! You have successfully enabled https://jaweewo.es
También recomiendo un redireccionamiento de las peticiones http a https en nuestro htaccess.
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
Finalmente nos devolverá una URL donde podemos verificar la validez del certificado y su información pública.