Créeme si te digo que si comparas esté tutorial con el que colgué ayer, te darás cuenta de las ventajas que tienes estar en Banahosting. Si utilizas otro alojamiento te recomiendo que te cambies con ellos. Te facilitan muchísimo las cosas además de incluir herramientas y servicios que otros alojamientos no te dan.

¿Y si no estoy en Banahosting?

Si tú no estás en Banahosting sigue mi consejo y empieza hoy. Te dejo aquí un manual para que puedas empezar por 0,69 €. Si tienes contratado otro alojamiento no te preocupes. Ellos se encargan de migrar tu contenido a sus propios servidores. Sin problemas por tu parte.

Si de todas formas quieres seguir en tu alojamiento te explico el procedimiento para instalar y activar un certificado SSL de Let’s Encrypt:

1.- Si el sistema operativo que utiliza tu servidor incluye el paquete de Let’s Encrypt, simplemente tienes que instalarlo usando el comando letsencrypt. Si no lo incluye puedes usar el script letsencrypt-auto para obtener una copia desde el repositorio oficial que tienen en GitHub:

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto --help

2.- Si utilizas apache y ya tienes el paquete puedes instalar tu certificado SSL con el siguiente comando:

./letsencrypt-auto --apache

El script te solicitará un e-mail y si no está especificado también un dominio. Te dejo un par de capturas para que veas a que me refiero:


Como instalar y activar los certificados SSL de Let's Encrypt

Let's Encrypt, certificados SSL libres

2.1.- Si usas Nginx en lugar de apache, primero tienes que obtener el certificado con el siguiente comando:

./letsencrypt-auto certonly --standalone

2.2.- Después, como en el paso anterior, tendrás que introducir el e-mail y el dominio. El proceso te informará de que se instalarán los archivos de certificación. /etc/letsencrypt/live/tudominio.com/. Denominados fullchain.pem y privkey.pem.

2.3.- Después de esto tendrás que cambiar la configuración de Nginx para que utilice este certificado. Para hacerlo tendrás que editar el archivo de configuración de tudominio.com en /etc/nginx/sites-available/ o /etc/nginx/conf.d dependiendo de tu instalación:​

server {
listen 443;
server_name example.com;
ssl on;
ssl_certificate /var/www/example.com/cert/example.com.crt;
ssl_certificate_key /var/www/example.com/cert/example.com.key;
#... other stuff
}

2.4.- Luego tendremos que forzar el uso del certificado SSL:

server {
listen 80;
server_name example.com;
return 301 https://misitio.com$request_uri;
}

2.5.- También habrá que comprobar en el archivo nginx.conf ubicado en /etc/nginx/nginx.conf, la configuración SSL insertando estas líneas:

http {
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
#... other stuff
}

2.6.- Y para finalizar tendremos que reiniciar nuestro servidor Nginx:

sudo service nginx restart

Independientemente de que servidor utilicemos tendremos que forzar a nuestro WordPress para que use SSL, tanto en la pantalla de administración como en la de acceso. Para conseguirlo añadiremos las siguientes líneas al archivo wp-config.php:

define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

Por último, tendremos que ir a la pantalla de administración en ajustes >> generales. Allí cambiaremos las direcciones URL del sitio y de WordPress de HTTP a HTTPS. Para hacer esto nos sacará de la administración y ya podremos entrar de nuevo nuestro WordPress a través de HTTPS con nuestro nuevo certificado SSL de Let’s Encrypt.

Como ves es libre y es gratis, pero bastante más complicado que si lo haces en Banahosting. Si quieres ver como tenerlo de forma mucho mas sencilla con Banahosting pincha aquíSi quieres saber mas sobre el HTTPS y los certificados SSL pincha aquí.

Usar el certificado SSL y HTTPS por defecto en WordPress

Vale, ya está instalado nuestro certificado SSL. También puedes acceder a la versión HTTPS de tu dominio. Pero aún nos queda un paso para forzar a que siempre se detuvo en a través de HTTPS, de manera segura.

Esto tenemos que hacerlo a mano, pero no es demasiado complicado:

1.- Tienes que añadir estas líneas al archivo .htaccess:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tusitio.com/$1 [R,L]

2.- Luego tendremos que añadir estas líneas a nuestro archivo wp-config.php:

define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

3.- Para terminar tendremos que cambiar las URLs de nuestro WordPress y del sitio de HTTP a HTTPS entrando en Ajustes >> generales.

Como ves no son más que tres pasos. Pero no te preocupes, también puedes hacer los tres pasos de golpe y sin tocar ningún archivo, ajuste, ni línea de código. Sólo tendrías que usar el plugin Really Simple SSL que hará los tres pasos él sólo al activarlo.

Si decides usarlo entra en la página de ajustes del plugin en Ajustes >> SSL >> Settings y desactiva la casilla que pone Enable javascript redirection to SSL, ya que esta opción solo es necesaria si el plugin no hubiera podido añadir las líneas de re dirección a HTTPS al archivo .htaccess. El resto dejarlo tal cual.​

El SEO, los certificados SSL y el HTTPS

Aunque casi hemos terminado todavía nos quedan un par de cosas para acabar de asegurar la navegación en nuestra web. Y son importantes, ya que afectan al SEO y esto sabemos que no podemos olvidarlo.

Por si no recuerdas, Google tiene identificada nuestra web como http://tudominio.com. El problema viene porque ahora nuestra URL será HTTPS://tudominio.com. Así que tenemos que “avisar” a Google de que nuestro blog ya es seguro y que ahora se entra por HTTPS. Fundamental.

Una vez más no te preocupes, que es más sencillo de lo que parece. Sólo tienes que entrar al Search Console de Google (las antiguos herramientas para webmasters) y añadir la propiedad poniendo nuestro dominio como HTTPS:


crear-nueva-propiedad-search-console-https

No olvides modificar la URL #HTTPS y reenviar tu sitemap en la Search Console de Google después de instalar tu certificado #SSL #SEO



Click para Twitear

Para terminar con la parte del SEO sólo quedaría enviar la nueva dirección del sitemap con https, tal y como haríamos con cualquier otro dominio.

Google Analytics y los certificados SSL

Imagino que también querrás continuar haciendo el seguimiento de tráfico y campañas a través de Google Analytics. ¿Verdad? Pues también tenemos que cambiar la dirección de la propiedad a HTTPS. Podemos hacerlo en un momento desde la administración pinchando en el propio desplegable donde está nuestro dominio.


cambiar-http-https-en-google-analytics

¿Qué es el contenido mixto?

Algunos navegadores como Google Chrome pueden mostrar algo llamado Mixed content que impide que los analizadores de SSL certifiquen tu sitio como totalmente seguro. La razón es que en tu sitio tendrás muchos enlaces a páginas y contenido (archivos adjuntos, imágenes, etcétera.-) Que apuntan a direcciones HTTP en lugar de HTTPS.


Qué es el contenido mixto

Para solucionar esto, una vez más, tenemos un plugin. Gracias al plugin Search & Replace y podremos reemplazar cada URL http://tudominio.com por HTTPS://tudominio.com:

Una vez instalado nos vamos a la pestaña Replace Domain URL y ponemos la nueva dirección con HTTPS:


plugin Search & Replace

Luego vamos a la pestaña Search & Replace y hacemos el cambio real en todas las tablas. Primero hacemos una prueba dejando marcada la casilla de Dry Run:


casilla Dry run

Cuando hayas comprobado los cambios que se harán, desmarca la casilla Dry run y realiza los cambios en la base de datos marcando la casilla Save changes to Database.

El plugin hará una copia de seguridad automática de tu base de datos antes del cambio. Pásate por la pestaña Backup database y exporta la copia de tu base de datos a un sitio seguro por lo que pueda pasar.

CloudFlare y los certificados SSL

A veces pueden surgir problemas al instalar un certificado SSL si tienes activa la CDN de CloudFlare. El más normal es este error:

Error: The server experienced a TLS error during domain verification

Para solucionarlo lo único que tienes que hacer es pausar tu servicio de CloudFlare e instalar o activar de nuevo tu certificado SSL de Let’s Encrypt.

¿Cuando caducan los certificados SSL del ex Encrypt?

La verdad es que de igual que caduquen dentro de tres meses. Es así por defecto. Pero el caso es que mientras tu no los canceles se renovarán automáticamente. Así que la respuesta a la pregunta es nunca. Te durarán para siempre sino los revocas.

¿Como comprobar la seguridad del certificado SSL del ex Encrypt?

Si quieres comprobar la seguridad y la validez del certificado SSL del ex Encrypt te dejo un par de webs para que lo hagas:

Si te queda alguna duda o crees que me he olvidado algo déjamelo aquí abajo en los comentarios y lo vamos ampliando entre todos. ¿Tienes ya tu certificado SSL en Banahosting? ¿Utilizas otro proveedor de alojamiento? 

La entrada Como instalar y activar los certificados SSL de Let’s Encrypt si no estás en Banahosting aparece primero en Crea tu Propia Web.