Usando Let's Encrypt SSL con su proyecto de WordPress

Lo que vamos a cifrar?

Durante años, comprar, renovar, instalar y administrar certificados SSL me abrumó con los costos y la complejidad. Ahora, Let's Encrypt lo hace bastante simple y gratis..

Let's Encrypt es una entidad de certificación emergente, gratuita, automatizada y abierta presentada por una corporación de beneficio público de California llamada Internet Security Research Group; también tiene un estado sin fines de lucro. 

Su objetivo es hacer que HTTPS se convierta en el protocolo de navegador de Internet predeterminado para garantizar una mayor privacidad y seguridad en la web. Mozilla y la Electronic Frontier Foundation son dos de sus patrocinadores de platino:

Let's Encrypt ingresó a la versión beta pública en diciembre, por lo que ahora puedo guiarlo fácilmente a través de la exploración de sus servicios.

En este tutorial, lo guiaré a través de la instalación de Let's Encrypt en algunos de mis sitios web, incluido mi sitio web de consulta de WordPress, http://lookahead.io, que pronto será https: //.

Antes de comenzar, recuerde que trato de participar en las discusiones a continuación. Si tiene alguna pregunta o sugerencia sobre un tema, envíe un comentario a continuación o contácteme en Twitter @reifman.

Vamos a cifrar resumen de características

Let's Encrypt se ejecuta en Python trabajando con Apache para automatizar el registro y la renovación de certificados, simplificando el proceso de activación de la capacidad HTTPS para cualquier sitio web, incluyendo WordPress.

Aquí están los beneficios clave que Let's Encrypt ofrece:

  • Gratis: Cualquier persona con un nombre de dominio puede registrar un certificado de confianza sin costo.
  • Automático: Un servidor web Apache puede adquirir fácilmente un certificado, configurarlo de forma segura y administrar automáticamente la renovación.
  • Seguro: Let's Encrypt avanzará las mejores prácticas de seguridad TLS, tanto como una Autoridad de Certificación como ayudando a los sitios a mantener servidores seguros.
  • Transparente: Todas las transacciones de certificados se registran públicamente y están disponibles para inspección.
  • Abierto: El protocolo automático de emisión y renovación se publicará como un estándar abierto..
  • Cooperativa: Let's Encrypt es un esfuerzo comunitario para beneficiar a todos.

Instalando SSL con Let's Encrypt

Empecemos actualizando mi servidor, Apache Ubuntu..

sudo apt-get update

Si no tiene Git instalado en su servidor, es mejor tenerlo para instalar Let's Encrypt:

sudo apt-get install git

Una vez instalado, clone el software Let's Encrypt en el subdirectorio opt de Apache para aplicaciones de terceros:

sudo git clone https://github.com/letsencrypt/letsencrypt / opt / letsencrypt

Primero experimenté con la instalación de Let's Encrypt en mi aplicación de lector de noticias Fever, no en WordPress. Lo alojo en http://fever.lookahead.io:

cd / opt / letsencrypt ./letsencrypt-auto --apache -d fever.lookahead.io

El asistente de configuración

Para comenzar, se le pedirá su dirección de correo electrónico:

Luego se muestran los Términos de Servicio:

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

Se hace en minutos:

También se le mostrarán algunas notas sobre la caducidad y renovación del certificado:

NOTAS IMPORTANTES: - ¡Felicitaciones! Su certificado y cadena se han guardado en /etc/letsencrypt/live/lookahead.io/fullchain.pem. Su certificado expirará el 2016-05-03. Para obtener una nueva versión del certificado en el futuro, simplemente ejecute de nuevo Let's Encrypt. - Las credenciales de su cuenta se han guardado en su directorio de configuración de Let's Encrypt en / etc / letsencrypt. Debe hacer una copia de seguridad segura de esta carpeta ahora. Este directorio de configuración también contendrá certificados y claves privadas obtenidas por Let's Encrypt, por lo que es ideal hacer copias de seguridad regulares de esta carpeta. - Si le gusta Let's Encrypt, considere apoyar nuestro trabajo: Donando a ISRG / Let's Encrypt: https://letsencrypt.org/donate Donando a EFF: https://eff.org/donate-le

Instalando en WordPress

Instalar el SSL de Let's Encrypt en mi sitio de consulta de WordPress, fue igual de fácil. Solo había una pequeña diferencia. Le pedí a Let's Encrypt que también sea compatible con el subdominio www:

cd / opt / letsencrypt ./letsencrypt-auto --apache -d lookahead.io -d www.lookahead.io

Puedes visitarlo ahora, ya sea HTTP o HTTPS, terminarás aquí, https://lookahead.io:

Informes SSL

Puede ir a sitios como Qualys SSL Labs para obtener un informe del sitio sobre su capacidad SSL:

https://www.ssllabs.com/ssltest/analyze.html?d=fever.lookahead.io

Aquí está la página de autenticación:

Renovación automática de certificados

La renovación automática es bastante simple también. Primero, tomamos el script de renovación y le damos privilegios de ejecución:

sudo curl -L -o / usr / local / sbin / le-renew http://do.co/le-renew sudo chmod + x / usr / local / sbin / le-renew

A continuación, ejecute el script para cada dominio:

sudo le-renew lookahead.io Comprobando la fecha de vencimiento de fever.lookahead.io ... El certificado está actualizado, no es necesario renovarlo (quedan 89 días).

Y puede configurar un trabajo cron para que se ejecute regularmente:

crontab -e

Añade esta línea:

30 2 * * 1 / usr / local / sbin / le-renew lookahead.io >> /var/log/le-renew.log

Solución de problemas

Me encontré con algunas peculiaridades que pensé que iba a compartir. Cuando instalé SSL para mi antiguo proyecto de código abierto de Community Starter (dominio raíz y www), Let's Encrypted dio este error:

No pudimos encontrar un host virtual con un nombre de servidor o una dirección de .com www.communitystarter.org. │ ¿Qué host virtual te gustaría elegir?? 

Había configurado un alias de comodín en mi archivo conf:

 ServerName communitystarter.org ServerAlias ​​* .communitystarter.org DocumentRoot / var / www / communitystarter / 

Este cambio lo solucionó, agregando un alias para www holdouts:

 ServerName communitystarter.org ServerAlias ​​www.communitystarter.org ServerAlias ​​* .communitystarter.org DocumentRoot / var / www / communitystarter / 

Entonces la página de inicio de video de Vimeo falló:

Solo tuve que cambiar el iframe al reproductor Vimeo para usar HTTPS:

 

NewsCloud's Community Starter

Community Starter es una plataforma simple y asequible para lanzar comunidades de redes sociales y ampliar los sitios web existentes. Proporciona un conjunto de funciones interactivas conectadas a Facebook que pueden ayudarlo a albergar una comunidad en línea vibrante para su vecindario, tema, grupo comunitario, organización sin fines de lucro, asociación de miembros o ciudad..

Comience su comunidad →

Problema resuelto:

Para concluir

Estoy muy impresionado con el objetivo de la comunidad que Let's Encrypt ha cumplido con calidad y facilidad. Los editores web de todo el mundo se beneficiarán de un SSL simple y gratuito. Gracias EFF, Mozilla y Let's Encrypt!

Puede donar a Let's Encrypt o EFF para apoyar este trabajo:

  • Dona directamente a Let's Encrypt
  • Dona a EFF

Puedes conocer más detalles técnicos sobre su software aquí. Let's Encrypt también tiene un foro comunitario bien estructurado:

Que sigue?

Let's Encrypt está trabajando activamente para terminar su primer lanzamiento público:

Tenemos más trabajo que hacer antes de que nos sintamos cómodos al eliminar por completo la etiqueta beta, especialmente en la experiencia del cliente. La automatización es una piedra angular de nuestra estrategia, y debemos asegurarnos de que el cliente funcione sin problemas y de manera confiable en una amplia gama de plataformas.

Para mantenerse al día con el último código, solo actualice su árbol git de vez en cuando:

cd / opt / letsencrypt sudo git pull

Mi sitio principal de WordPress se ejecuta con Varnish 3.x actualmente. Esto no funciona fuera de la caja con Let's Encrypt. Probablemente pasaré un poco de tiempo buscando una solución para eso.

Mientras tanto, si está buscando otras utilidades que lo ayuden a desarrollar su creciente conjunto de herramientas para WordPress o para que el código se estudie y adquiera más conocimientos en WordPress, no olvide ver lo que tenemos disponible en Envato. Mercado.

Si tiene preguntas, por favor publíquelas a continuación. O puedes contactarme en Twitter @reifman. Por favor, consulte mi página del instructor de Envato Tuts + para ver otros tutoriales que he escrito, como Clonar WordPress en Linux (en 90 segundos).

enlaces relacionados

  • Vamos a cifrar
  • Cómo proteger Apache con Let's Encrypt en Ubuntu 14.04 (Digital Ocean)
  • Cómo proteger Nginx con Let's Encrypt en Ubuntu 14.04 (Digital Ocean)