Advertisement
  1. Code
  2. Linux

Cómo Usar Let's Encrypt SSL En Tu Proyecto WordPress

Scroll to top
Read Time: 7 min

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.

Whats Lets Encrypt Platinum sponsorsWhats Lets Encrypt Platinum sponsorsWhats Lets Encrypt Platinum sponsors

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:

Lets Encrypt Installation Email RequestLets Encrypt Installation Email RequestLets Encrypt Installation Email Request

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

Lets Encrypt Installation Terms of ServiceLets Encrypt Installation Terms of ServiceLets Encrypt Installation Terms of Service

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

Lets Encrypt Select HTTPS modeLets Encrypt Select HTTPS modeLets Encrypt Select HTTPS mode

Lo tienes solucionado en minutos:

Lets Encrypt CongratulationsLets Encrypt CongratulationsLets Encrypt Congratulations

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:

Lets Encrypt Lookahead ConsultingLets Encrypt Lookahead ConsultingLets Encrypt Lookahead Consulting

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

Lets Encrypt SSL Qualys LabsLets Encrypt SSL Qualys LabsLets Encrypt SSL Qualys Labs

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

Lets Encrypt SSL Qualys Labs AuthenticationLets Encrypt SSL Qualys Labs AuthenticationLets Encrypt SSL Qualys Labs Authentication

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
Lets Encrypt Set up auto renewalsLets Encrypt Set up auto renewalsLets Encrypt Set up auto renewals

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:

Lets Encrypt Vimeo Not Working with HTTPSLets Encrypt Vimeo Not Working with HTTPSLets Encrypt Vimeo Not Working with HTTPS

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:

Lets Encrypt Vimeo Working with HTTPSLets Encrypt Vimeo Working with HTTPSLets Encrypt Vimeo Working with HTTPS

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!

Lets Encrypt Donate Lets Encrypt Donate Lets Encrypt Donate

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:

Lets Encrypt Community ForumLets Encrypt Community ForumLets Encrypt Community Forum

¿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).

Enlaces Relacionados

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.