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? 

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…)

Instalación de Apache en Windows

El proceso para instalar Apache en Windows es muy sencillo. En adelante, es posible que la configuración del servidor pueda complicarse un poco, sin embargo, si deseamos utilizarlo con las funciones habituales, no hemos de tener mayores problemas en ningún momento.

Descarga de Apache

El servidor web Apache se puede descargar en la página de la Fundación Apache, en apache.org. En la URL http://httpd.apache.org/ tienen una sección en particular para el servidor HTTP (Protocolo de transmisión utilizado en la web), en la que tendremos que buscar el enlace para descarga.

Una vez en la página de descarga debemos buscar la última versión estable o la versión que recomendada. El servidor está disponible para sistemas Unix o Windows, por lo que nos ofrecerán diversas opciones de descarga, incluso para obtener el código fuente del programa. Si deseamos instalarlo en un sistema Windows, necesitamos obtener el archivo Win-32 Binary, que es un instalador Windows.

(más…)

Nuevo Apache 2.0.52

Recién salido del horno! Nueva versión 2.0.52 de Apache tanto para Windows como para Linux, el mejor servidor de páginas web ( y con el que tanto nos peleamos ).

Esta nueva versión, soluciona sobretodo bugs o errores de versiones anteriores, entre otros errores soluciona:

– Utilización para las páginas de errores de HTM 2.0.
– Corregido el error que se producía cuando el mutex global no es localizado o no está activado en la caché.
– Otros errores menos relevantes.

Lo podéis descargar desde aquí: http://http.apache.org/download.cgi