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.