Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)



¿Qué es Let's Encrypt?
Durante años, adquirir, renovar, instalar y gestionar certificados SSL (Secure Sockets Layer) me abrumaba con sus gastos y complejidad. Ahora, Let's Encryrpt es bastante sencillo y gratuito.
Let's Encryrpt es un certificado de autoridad emergente, gratuito y automatizado traído de una corporación para el bien público de California llamada Internet Security Research Group—también tiene el estatus de organización sin ánimo de lucro.
Su objetivo es convertir el protocolo de navegación en Internet HTTPS en un estándar para asegurar mayor privacidad y seguridad en la web. Mozilla y la Electronic Frontier Foundation son dos de us mayores patrocinadores.



Let's Encrypt se introdujo al dominio público como versión beta en Diciembre, así que ya puedo guiarte a través de la exploración de sus servicios.
En este tutorial, te mostraré como he instalado Let's Encrypt en algunas de mis webs, incluyendo mi web de consultoría realizada con WordPress, http://lookahead.io, que pronto pasará a ser https://.
Antes de comenzar, por favor recuerda que intento participar en las conversaciones del final del artículo. Si tienes cualquier duda o sugerencia, hazme el favor de comentarlo o contáctame vía Twitter @reifman.
Resumen de las Características de Let's Encrypt
Let's Encrypt se ejecuta sobre Python trabajando con Apache para automatizar el registro y la renovación del certificado, simplificando el proceso de activación de la función HTTPS para cualquier web, incluido WordPress.
Aquí tienes los beneficios clave que proporciona Let's Encrypt:
- Gratuito: Cualquiera con un nombre de dominio puede registrar un certificado verificado sin coste.
- Automático: Un servidor web Apache puede fácilmente adquirir un certificado, configurarlo con seguridad, y gestionar su renovación.
- Seguro: Let's Encrypt anticipa las mejores prácticas de seguridad TLS, tanto como Autoridad de Certificación como ayudando a los sitios a mantener seguros sus servidores.
- Transparente: Todas las transacciones son registradas públicamente y están disponibles para su inspección.
- Abierto: La expedición automática y los protocolos de renovación serán publicados como un estándar abierto.
- Cooperativo: Let’s Encrypt es fruto de un esfuerzo comunitario que beneficia a todos.
Instalar SSL con Let's Encrypt
Empecemos actualizando mi servidor, Apache Ubuntu.
1 |
sudo apt-get update
|
Si no tienes Git instalado en tu servidor, es mejor disponer de él para instalar Let's Encrypt.
1 |
sudo apt-get install git |
Una vez instalado, clona el software Let's Encrypt en el subdirectorio de Apache opcional para aplicaciones de terceros.
1 |
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
|
La primera vez experimenté instalando Let's Encrypt en mi aplicación para noticias Fever, no en WordPress. Lo alojé en http://fever.lookahead.io:
1 |
cd /opt/letsencrypt
|
2 |
./letsencrypt-auto --apache -d fever.lookahead.io |
El Asistente de Instalación
Para empezar, te solicitará tu dirección de correo electrónico:



Después te mostrará los Términos del Servicio:



Let's Encrypt te da la oportunidad de ofrecer HTTPS como opción secundaria o dirigir todo el tráfico a HTTPS:



Lo tienes solucionado en minutos:



También te mostrará algunas notas sobre la expiración del certificado y su renovación:
1 |
IMPORTANT NOTES: |
2 |
- Congratulations! Your certificate and chain have been saved at |
3 |
/etc/letsencrypt/live/lookahead.io/fullchain.pem. Your cert will |
4 |
expire on 2016-05-03. To obtain a new version of the certificate in |
5 |
the future, simply run Let's Encrypt again. |
6 |
- Your account credentials have been saved in your Let's Encrypt |
7 |
configuration directory at /etc/letsencrypt. You should make a |
8 |
secure backup of this folder now. This configuration directory will |
9 |
also contain certificates and private keys obtained by Let's |
10 |
Encrypt so making regular backups of this folder is ideal. |
11 |
- If you like Let's Encrypt, please consider supporting our work by: |
12 |
|
13 |
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate |
14 |
Donating to EFF: https://eff.org/donate-le |
Instalación en WordPress
Instalar Let's Encrypt en mi web de consultoría realizada con WordPress, fue igualmente simple. Sólo existe una pequeña diferencia. Pregunté a Let's Encrypt que admitiese también un subdominio (www.sub-domain):
1 |
cd /opt/letsencrypt
|
2 |
./letsencrypt-auto --apache -d lookahead.io -d www.lookahead.io |
Puedes ir y verlo ya tanto con HTTP, como con HTTPS, pero acabarás aquí, https://lookahead.io:



Informes SSL
Puedes ir a sitios como Qualys SSL Labs para obtener un informe sobre tu capacidad SSL:
https://www.ssllabs.com/ssltest/analyze.html?d=fever.lookahead.io



Aquí tienes la página de autentificación:



Auto-Renovación del Certificado
La auto-renovación es bastante sencilla también. Primero, cogemos el script de renovación y le asignamos privilegios de ejecución:
1 |
sudo curl -L -o /usr/local/sbin/le-renew http://do.co/le-renew |
2 |
sudo chmod +x /usr/local/sbin/le-renew
|



Después ejecutamos el script para cada dominio:
1 |
sudo le-renew lookahead.io
|
2 |
Checking expiration date for fever.lookahead.io... |
3 |
The certificate is up to date, no need for renewal (89 days left). |
Y puedes configurar un cron job para que se ejecute con regularidad:
1 |
crontab -e
|
Añade esta línea:
1 |
30 2 * * 1 /usr/local/sbin/le-renew lookahead.io >> /var/log/le-renew.log |
Solución de Problemas
Caí en una pocas incidencias que creo que compartiré con vosotros. Cuando instalé SSL para mi antiguo proyecto Community Starter open-source (tanto el dominio raíz como www), la encriptación me devolvió el siguiente error:
1 |
We were unable to find a vhost with a ServerName or Address of |
2 |
│ www.communitystarter.org. |
3 |
│ Which virtual host would you like to choose? |
Yo había indicado un comodín como alias de servidor en mi archivo config:
1 |
<VirtualHost *:80>
|
2 |
ServerName communitystarter.org |
3 |
ServerAlias *.communitystarter.org
|
4 |
DocumentRoot /var/www/communitystarter/ |
Este cambio lo solucionó, añadiendo un alias para www holdouts:
1 |
<VirtualHost *:80> |
2 |
ServerName communitystarter.org |
3 |
ServerAlias www.communitystarter.org |
4 |
ServerAlias *.communitystarter.org |
5 |
DocumentRoot /var/www/communitystarter/ |
Después falló el vídeo de Vimeo incrustado en la página de inicio:



Simplemente tuve que cambiar el iframe del reproductor de Vimeo para que usase HTTPS:
1 |
<!-- ***************** - START Video - ***************** -->
|
2 |
<div class="video-wrap video_left"> |
3 |
<div class="video-main"> |
4 |
<div class="video-frame"> |
5 |
<iframe src="https://player.vimeo.com/video/37639283" title="introduction to newscloud's community starter" scrolling="no" width="572" height="312" frameborder="0" marginheight="0"></iframe> |
6 |
</div><!-- end video-frame --> |
7 |
</div><!-- end video-main --> |
8 |
<div class="video-sub"> |
9 |
<h2>NewsCloud's Community Starter</h2> |
10 |
<p>Community Starter is a simple, affordable platform to launch social media communities and extend existing websites. It provides a suite of Facebook-connected interactive features that can help you host a vibrant online community for your neighborhood, topic, community group, nonprofit, membership association or city.</p> |
11 |
<a href="/how-community-foundations-can-build-engaged-local-communities-with-newscloud.html" class="ka_button small_button small_tealgrey"><span>Start your community →</span></a><br class="clear" /> |
12 |
</div><!-- end video-sub --> |
13 |
</div><!-- end video-wrap --> |
14 |
<!-- ***************** - END Video - ***************** -->
|
Problema resuelto:



Para Terminar
Estoy bastante asombrado con los logros que la comunidad Let's Encrypt ha proporcionado en cuanto a calidad y facilidad de uso. Los profesionales de la publicación web de todo el mundo se pueden aprovechar los beneficios de SSL de forma sencilla y gratuita. ¡Gracias a EFF, Mozilla y let's Encrypt!



También puedes donar tanto a let's Encrypt como a EFF para apoyar su labor:
Puedes aprender más detalles técnicos sobre su software aquí. Let's Encrypt también dispone de un bien estructurado foro para la comunidad:



¿Qué Viene Después?
Let's Encrypt está trabajando de forma activa en terminar su primer lanzamiento público:
Tenemos más trabajo que realizar antes de sentirnos satisfechos con la versión beta por completo, particularmente en aspectos referidos a la experiencia del usuario. La automatización es una piedra angular en nuestra estrategia, y necesitamos asegurarnos de que el cliente trabaja de forma fluida y segura en un amplio rango de plataformas.
Para estar al día con el último código, simplemente actualiza el árbol de git ocasionalmente:
1 |
cd /opt/letsencrypt
|
2 |
sudo git pull
|
Mi web WordPress principal se ejecuta con Varnish 3.x en la actualidad. Esto no funciona de forma directa con Let's Encrypt. Probablemente me lleve algún tiempo encontrar una solución para este tema.
Mientras tanto, si estás buscando otras utilidades que te ayuden a aumentar tu colección de herramientas para WordPress o código para prepararte y llegar a estar más versado en WordPress, no olvides ver lo que tenemos disponible en Envato Market.
Si tienes preguntas, por favor publícalas aquí abajo. O puedes contactarme en Twitter @reifman. Por favor visita mi página de formador en Enavato Tuts+ para ver otros tutoriales que he escrito, como Clonar WordPress en Linux (en 90 segundos).