Como instalar y activar los certificados SSL de Let’s Encrypt si no estás en Banahosting

Créeme si te digo que si comparas esté tutorial con el que colgué ayer, te darás cuenta de las ventajas que tiene 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.

¿Cuándo caducan los certificados SSL de Let's 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.

¿Cómo comprobar la seguridad del certificado SSL de Let's Encrypt?

Si quieres comprobar la seguridad y la validez del certificado SSL de Let's 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? 

Integrar Universal Analytics a SMF

Pues hoy os voy a enseñar a integrar Universal Analytics a SMF. Todos sabréis, y si no ya os lo digo yo, que Universal Analytics ha dejado de ser una beta para convertirse en el nuevo estándar operativo de Google Analytics. Lo primero que tienes que hacer cuando entras a vuestra cuenta de Google Analytics es actualizar a la nueva versión. Esto es bastante sencillo, solo tienes que entrar a la administración, Seleccionar una cuenta y una propiedad y, a continuación, hacer clic en Actualización de Universal Analytics

Una vez realizada la actualización, además de seguir teniendo acceso a todos los datos del historial en los mismos informes que utilizas actualmente, dispondrás de lo siguiente:

  • Métricas y dimensiones personalizadas
  • Nuevo código de seguimiento
  • Más funciones de informes

(más…)

Problemas comunes, soluciones sencillas en Xampp

Problemas comunes, soluciones sencillas en Xampp

El título, Problemas comunes, soluciones sencillas en Xampp, lo dice todo y es que cuando nos ponemos a instalar nuestro servidor local para hacer pruebas o para retocar nuestra web de forma segura, no surgen nada mas que problemas, generalmente por inexperiencia, pero como todo, tienen sencilla solución. Os dejo algunos de los mas comunes:

Apache no se conecta

Es uno de los errores mas comunes. Suele venir dado por que algún otro servicio se conecta al puerto 80, o por que nuestro antivirus o firewall bloquea dicho puerto. La solucion es sencilla, cambiar el puerto 80 por el 8085, y ya estaría solucionado. Recuerda una vez hecho esto que para acceder a localhost debes añadir el puerto de la siguiente manera:

http://localhost:8085 o http://127.0.0.1:8085

Como cambiar nombre de la base de datos en PhpMyAdmin

¿Te has preguntado como cambiar el nombre a una base de datos mysql en PhpMyAdmin de una forma sencilla? Esto con previsión no suele necesitarse, pero si por ejemplo has instalado Xampp o alguna de las stacks como WordPress y no sabías muy bien que te estaban preguntando o quieres cambiar las que vienen por defecto para que se llamen igual que las de tu servidor, o te has equivocado simplemente, es algo que necesitarás. La verdad es que es bastante sencillo: (más…)

Preparando el servidor Apache

Tabla de contenidos para Manual: Como instalar Magento en local a partir de nuestro Backup

  1. Descargar e instalar Xampp 5.6.12 para Windows
  2. Poner en marcha nuestro servidor Xampp 5.6.12
  3. Preparando el servidor Apache
  4. Últimas consideraciones y fallos comunes

Lo mejor a la hora de incluir nuestros archivos sería mantener una estructura similar a la de nuestro servidor, de forma que sea mas facil manejarnos al igual que luego implantar los cambios que vayamos haciendo. Para ello nos vamos al directorio donde se instalo Xampp, que si dejaste el que venía por defecto será: C:\xampp\ allí miramos los directorios que tiene el servidor y si es necesario añadimos el que falte para que, entre todos los existentes esten estos cuatro directorios:

  • config: para el archivo de configuracion de apache.
  • mysql: para los dumps de la base de datos.
  • htdocs: para los archivos publicos de la aplicación en otros servidores es public_html, si es tu caso esta seria la equivalente pero deja htdocs para que te funcione.
  • scripts: para los scripts administrativos (aunque en este post no lo voy a tratar).

Pasar el Backup a nuestro servidor local

Ahora vamos a por los datos y archivos, tenemos que recoger de nuestro servidor, el que queremos clonar, lo siguiente:

  • backup de nuestro magento (todo el directorio de instalacion completito preferiblemente con sus permisos).
  • Backup o dump de la base de datos de magento.
  • los datos de instalacion de magento: usuario de la BD, clave, usuario administrativo, clave, etc (esto se puede extraer de los archivos de configuracion, pero siempre será mas sencillo si lo tenemos todo a mano)
  • esto lo buscamos en nuestro pc: las ubicaciones de nuestros archivos de configuracion local de apache para hacer las modificaciones pertinentes (como puse antes si dejaste el que venia por defecto será: C:\xampp\).

(más…)

Poner en marcha nuestro servidor Xampp 5.6.12

Tabla de contenidos para Manual: Como instalar Magento en local a partir de nuestro Backup

  1. Descargar e instalar Xampp 5.6.12 para Windows
  2. Poner en marcha nuestro servidor Xampp 5.6.12
  3. Preparando el servidor Apache
  4. Últimas consideraciones y fallos comunes

Ha llegado el momento, tras descargar e instalar nuestro nuevo y flamante servidor Xampp 5.6.12 en nuestro ordenador, de ponerlo en marcha y que funcionen todos los servicios propios de un servidor real (Apache, PHP, MySQL, etc). Para hacerlo no tenemos mas que pinchar dos veces en el icono que creamos en nuestro escritorio:

Acceso directo de Xampp

Acceso directo de Xampp

Arrancar y poner en funcionamiento el servidor creado con Xampp

Una vez hecho el doble click en el icono de escritorio nos aparecerá el panel de control de Xampp donde tendremos que arrancar los servicios necesarios para el correcto funcionamiento. Pincharemos sobre el botón Start a la derecha de Apache y de MySql. Con esto ambos estarán activos, si por lo que sea al darle a Start se para, pulsaló tantas veces sea necesario hasta que se quede arrancado, es un error de varias versiones de Xampp que ignoro por que no corrigen. No siempre pasa pero no te asustes si es así. Ahora pinchamos en el botón que pone Admin a la derecha también de Apache. Nos aparecerá el logo de Xampp y varias opciones de idioma, entre las que elegiremos Español. Al hacerlo pasaremos al Panel principal de Xampp esta vez en la lengua de Cervantes, y que utilizaremos para crear la Base de Datos. (más…)

Configuración de PHP con Apache en Windows, como CGI

Este manual trata de cómo configurar PHP y Apache para que trabajen conjuntamente en un sistema Windows. Además, este manual asume que hay un servidor Apache configurado en el Windows, y que funciona correctamente.

Referencia: Si deseamos conocer las distintas posibilidades para la instalación de PHP en los distintos sistemas operativos y servidores, puede ser de utilidad la lectura del Manual Instalación de PHP en nuestro servidor.

Existen dos formas de configurar PHP para trabajar con Apache, instalar como un módulo o instalar como un CGI. En este Manual vamos a ver cómo instalarlo com CGI, aunque disponemos de otro Manual para instalar PHP como módulo en Apache.

Para instalar PHP como un CGI hay que seguir los siguientes pasos:

En primer lugar, hay que descargarse PHP desde la página de php.net. Existen dos versiones, una que tiene un instalador, y otra que es un fichero ZIP. Hay que descargarse esta última.

Una vez descargado, hay que descomprimirlo dentro de una carpeta, esta no tiene que estar bajo el árbol de directorios de Apache. El artículo asumirá que se descomprime dentro de la carpeta C:\PHP. Comprobar que los contenidos del archivo ZIP no quedan en un subdirectorio de la carpeta C:\PHP, sino directamente en dicha carpeta.
(más…)

Página 1 de 212