Añadir Cloudflare Universal SSL a sitio Wordpress

Desde septiembre de 2014, Cloudflare ha añadido soporte SSL gratuito para sus clientes; en este pequeño tutorial explicare los pasos necesarios para habilitar el soporte para nuestro sitio.

Para este ejemplo, usaremos un servidor con las siguientes caracteristicas
  • Ubuntu 16.04
  • Apache2
  • ISPConfig 3.1
Primero que nada, explicaremos los tipos de soporte SSL que ofrece cloudflare

Flexible SSL: Asegura la conexión entre el visitante y cloudflare, pero no entre cloudflare y tu servidor. No requiere de un certificado SSL en tu sitio web.

Full SSL: Asegura la conexion entre el visitante y cloudflare y entre cloudflare y tu servidor. Require un SSL en tu servidor; no necesariamente valido, puede ser un certificado autofirmado.

Full SSL (strict): Asegura la conexion entre el visitante y cloudflare y entre cloudflare y tu servidor. Requiere un certificado valido en tu servidor.

Hay que tener en cuenta que Flexible SSL no funciona con Internet Explorer 7 o anteriores, Firefox 2, Opera 8 con TSL 1.1 activado y alguno más.

En nuestro caso, configuraremos Full SSL (strict) para lo cual es necesario certificado válido. Nuestro certificado lo obtendremos gratuitamente con Let's Encrypt.

El primer paso es comprobar que nuestro servidor tiene soporte para Let's Encrypt, lo cual haremos iniciando sesión via SSH y ejecutando el comando
certbot --version
el cual nos devolvera algo similar a esto:
certbot 0.14.2
En caso de que no estar instalado, ejecutar las siguientes instrucciones:
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-apache

Generando el certificado del servidor

ISPConfig 3.1 tiene soporte integrado con Let's Encrypt, asi que podemos generar nuestro certificado desde el panel de control; para ello, ingresaremos al panel de control, editaremos nuestro sitio web y marcaremos la opcion SSL y Let's Encrypt SSL como se muestra a continuación:

Guardamos los cambios y podemos salir del panel de control.

Habilitando SSL en Cloudflare

Iniciamos sesión en Cloudflare y hacemos clic en el boton Cryto del menu superior

En la sección SSL seleccionamos SSL (Strict) como se muestra a continuación

Actualizando URLs en Wordpress

Lo primero que haremos será ir al portal de administración de wordpress, hacer clic en ajustes -> generales y actualizar nuestra url, cambiando el protocolo http por https, como se muestra a continuación:


Despues de haber guardado los cambios, es necesario realizar los ajustes necesarios en la base de datos para actualizar las url antiguas a las nueva url. 

Esto lo lograremos ejecutando en nuestra base de datos los siguientes comandos SQL
UPDATE `wp_options` SET `option_value` = replace(`option_value`'http://www.misitioweb.com''https://www.misitioweb.com');
UPDATE `wp_posts` SET `post_content` = replace(`post_content`'http://www.misitioweb.com''https://www.misitioweb.com');
UPDATE `wp_posts` SET `guid` = replace(`guid`'http://www.misitioweb.com''https://www.misitioweb.com');
UPDATE `wp_postmeta` SET `meta_value` = replace(`meta_value`'http://www.misitioweb.com''https://www.misitioweb.com');

Hechos estos cambios, habremos asegurado nuestro sitio Wordpress con Universal SSL de Cloudflare :)

Comentarios

Entradas populares de este blog

Instalación y configuración del controlador de video AMD Geode LX en netbook UTECH UX80-WHT en Debian Lenny 5.0.4 y Ubuntu 10.04

Alojar imagenes de Wordpress en subdominio.