Certificado SSL gratuito para WordPress

Certificado SSL gratuito para WordPress

Tener un certificado SSL en nuestra página web es fundamental para que Google la indexe cómo página web segura. Este certificado es el que hace una web "http://" pase a ser una web "https://".

Existen decenas de empresas que ofrecen certificados SSL de pago, pero... ¿para qué pagar cuando podemos tenerlo gratis? Así es, te voy a enseñar a instalar tu propio certificado ssl en Google Cloud Platform.

Y no te asustes, si bien es cierto que tendremos que configurar algunas cosas mediante consola SSH, también lo es que te lo explicaré todo paso a paso. Y no nos llevará más de cinco minutos, prometido.

Acceder a nuestra Máquina virtual desde SSH

Lo primero que debemos hacer una ver realizada nuestra instalación WordPress en Google Cloud y tras adquirir y configurar una IP estática, nuestro siguiente paso es hacer nuestra web segura mediante un cifrado SSL.

Para ello accedemos a nuestro panel de Google Cloud Platform, en el menú superior izquierdo hacemos click y seleccionamos "Compute Engine" y después "Instancias de VM".

wordpress ssl
Forma de llegar a nuestra instancia VM

El panel nos mostrará nuestra máquina virtual y desde ahí podremos abrir la consola SSH. Para ello, daremos click con el ratón encima de la pestaña SSH (no es necesario abrir el desplegable, solo haz click).

acceso ssh google cloud
Hacemos clic con el ratón encima de SSH

Se nos abrirá una nueva ventana con nuestra consola SSH, desde donde vamos a instalar y configurar un certificado SSL para nuestra página web. Y además, gratis.

ventana ssh
Ventana para trabajar mediante SSH

Instalación del Cliente Cerbot

Ahora que estamos en la consola SSH, el primer paso será instalar el cliente Cerbot, algo que haremos con un sencillo comando.

Insertamos este comando y le damos a la tecla ENTER:

wget https://dl.eff.org/certbot-auto && chmod a+x certbot-auto

Se ejecutará y mostrará algo similar a esto.

bitnami wordpress letsencrypt
Instalación de Cerbot mediante SSH

Generar un certificado SSL para WordPress

Para poder activar SSL en WordPress, el siguiente paso es igual de sencillo, solamente debemos escribir este comando en la consola SSH y se ejecutará el instalador del certificado.

En este ejemplo he puesto mi web en el código, recuerda cambiar mi dominio por tu dominio:

./certbot-auto certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d beseomyfriend.com -d www.beseomyfriend.com

Insisto, mira cómo al final del código aparece mi web con "www" delante, debes dejar las "www" y cambiar solamente el nombre de mi dominio por el tuyo. Si tu web se llamara por ejemplo "Skynet.com" el código sería así:

./certbot-auto certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d skynet.com -d www.skynet.com

Lo dicho, insertamos el código modificando el dominio y pulsamos ENTER.

Durante la generación del certificado habrá algunas pausas en las que debemos actuar para que continúe la instalación.

La primera de ellas nos pedirá permiso para la instalación, debemos escribir "Y" (sin comillas) y darle a ENTER para que prosiga.

generar certificado ssl de google
Aceptamos la instalación del certificado SSL presionando Y (y dando luego a ENTER)

Ahora quizás debamos esperar algún minuto mientras se van instalando paquetes necesarios para el certificado. Simplemente, esperaremos a la siguiente pausa de la instalación, donde debemos introducir nuestro email.

En esta caso de ejemplo, insertaré el email info@beseomyfriend.com y luego le daré a ENTER para continuar:

certificado ssl gratis wordpress
Escribimos nuestro email personal y le damos a ENTER

Acto seguido nos volverá a preguntar, en este caso si aceptamos los términos del servicio, pulsamos la letra "A" (sin comillas) y luego le damos a ENTER.

Volverá a hacernos una pregunta para ver si queremos recibir información por email, le decimos que no escribiendo la letra "N" (sin comillas) y le damos a ENTER.

Y fin, la instalación habrá terminado correctamente. Ahora ya tenemos generado un certificado SSL para nuestra página web.

Configurar certificado SSL WordPress mediante SSH

Ya queda poco, ahora nos toca configurar nuestro certificado para que funcione con nuestra página web. Algo que haremos con unos sencillos códigos y modificando algún archivo.

Dado por sentado que hemos realizado una instalación de WordPress Bitnami en Google Cloud, el código que debemos insertar es:

sudo nano /opt/bitnami/apache2/conf/bitnami/bitnami.conf

Y así se nos abrirá el editor nano para poder hacer y deshacer a nuestro antojo parámetros del archivo bitnami.conf

abrir editor nano
Abrimos el archivo bitnami.conf con el editor nano

Con la ayuda de los cursores del teclado (aquí el ratón no funciona), bajaremos hasta la línea señalada en la foto y presionaremos entre un par de veces, para un espacio donde insertaremos nuestro código.

Copia este código y cambia el nombre de mi dominio por el de tu dominio en las tres líneas.

ServerName www.beseomyfriend.com
ServerAlias beseomyfriend.com
Redirect permanent / http://beseomyfriend.com/

Una vez que lo hayas copiado, debes situarte en el editor nano y pegar el código (usando CONTROL + V) en el espacio que hemos habilitado.

editar binami
Añadimos el nuevo código al archivo bitnami.conf

Muy bien, ahora añadiremos otro fragmento de código en este mismo archivo, pero un poco más abajo. Así que con la ayuda de los cursores del ratón nos desplazamos hasta encontrar esto:

modificar certificados

Debemos insertar una almohadilla delante de cada una de esas líneas, de forma que queden así:

#SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
#SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"

Y justo debajo, insertaremos este código para indicar donde está nuestro certificado SSL. recuerda que debes modificar el nombre de mi dominio y poner el tuyo en las tres líneas.

SSLCertificateFile "/etc/letsencrypt/live/beseomyfriend.com/cert.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/beseomyfriend.com/privkey.pem"
SSLCertificateChainFile "/etc/letsencrypt/live/beseomyfriend.com/chain.pem"

De forma que quede algo similar a esto, pero con tu dominio:

añadir ruta
Añadimos el código con la ruta correcta

Y con esto ya hemos terminado, ahora guardamos los cambios con el editor nano pulsando a la vez CONTROL+O (letra "o"), pulsamos ENTER y luego cerramos el editor pulsando CONTROL+X.

Ya tenemos nuestro certificado SSL instalado y funcionando, felicidades, hiciste un buen trabajo.

Pero... ¿sabías que los certificados SSL caducan pasados unos meses? Para evitar tener que estar reconfigurando el certificado varias veces al año, podemos hacer que se renueve automáticamente de forma muy sencilla.

Generar renovación automática del certificado SSL

No te apures, todo es gratis y además, muy sencillo de hacer. Ya hemos realizado lo mas complejo así que ahora simplemente haremos lo sencillo, hacer que todo sea automático para olvidarnos del certificado para siempre.

Lo primero que haremos será instalar el paquete Cerbot-auto, para ello solamente tenemos que insertar el siguiente código y luego pulsar ENTER.

wget https://dl.eff.org/certbot-auto && chmod a+x certbot-auto

Nos aparecerá un texto similar a este, en apenas un par de segundos:

cerbot auto
Instalamos el paquete Cerbot Auto

Ahora moveremos el paquete instalado a su lugar correcto, usando el siguiente código y pulsando ENTER:

sudo mv certbot-auto /etc/letsencrypt/

Una vez ejecutado el código, necesitamos modificar un último archivo y para ello usaremos este código:

sudo crontab -e

Al pegar el código y darle a ENTER se abrirá un menú. Escribiremos el número "1" (sin comillas) y le daremos a ENTER.

Así podremos editar el archivo "CONTRAB". Con la ayuda del cursor iremos a la última línea y añadiremos este código:

45 2 * * 6 cd /etc/letsencrypt/ && ./certbot-auto renew && /opt/bitnami/ctlscript.sh restart

editar archivo contrab
Añadimos el código al archivo

Para guardar los cambios presionamos a la vez CONTROL+O y luego le daremos a ENTER. Para salir pulsaremos CONTROL+X.

Felicidades, ahora si que si, ya tienes instalado un certificado SSL gratuito y que además se renovará el solo.

Añadir un dominio a mi instalación WP

Al instalar WordPress Bitnami, Google Cloud nos da una IP cómo instalación, pero obviamente lo que queremos es que nuestro propio dominio apunte a esa IP.

De forma, que en nuestro caso... cuando alguien escriba BeSEOmyfriend.com sea redirigido automáticamente. Así que debes añadir tu dominio al archivo de configuración de WordPress que hemos creado.

Este es el último paso y es realmente sencillo, simplemente escribe en la consola SSH el siguiente código para editar el archivo wp-config.php

sudo nano /opt/bitnami/apps/wordpress/htdocs/wp-config.php

Se abrirá el archivo y con la ayuda del curso bajaremos hasta encontrar estas dos líneas:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');

eliminar estas lineas
Eliminamos estas dos líneas con la tecla DELETE

Debemos eliminar esas dos líneas y añadir estas nuevas líneas, modificando mi dominio por el tuyo. En esta ocasión, las "www" si importan:

define('WP_HOME', 'http://beseomyfriend.com');
define('WP_SITEURL', 'http://beseomyfriend.com');

Pero, si queremos que nuestra web se vea en el navegador con las "www", entonces sería así:

define('WP_HOME', 'http://beseomyfriend.com');
define('WP_SITEURL', 'http://beseomyfriend.com');

En mi caso, prefiero que no las tenga, así que inserto el nuevo código:

insertar codigo localhome
Insertamos nuestro código

Ahora pulsamos CONTROL+O y luego ENTER para guardar y CONTROL+X para salir.

Para que todos los cambios se apliquen, debemos resetear nuestro servidor Apache. Para ello, pegaremos el siguiente comando en la consola SSH:

sudo /opt/bitnami/ctlscript.sh restart apache

Y listo, tras un par de minutos el servidor se habrá reseteado y nuestra web funcionará con su nuevo certificado SSL y su propio dominio. Recuerda configurar las DNS de tu dominio en Google Cloud previamente para que apunte a la máquina virtual.

Si te ha quedado alguna duda, puedes usar los comentarios e intentaré ayudarte a resolverla.

  1. Carlos dice:

    No se que pasa pero la pagina me carga muy lenta en el móvil no puedo verla bien le doy a refrescar pero se demora

  2. Elias dice:

    ¿Hola Jose Antonio;
    Gracias,esto es increible segui todos los pasos y me salio perfecto de verdad gracias por aportar mucho valor!

  3. Juan pallares dice:

    Hola segui los pasos pero por alguna razon no me funciona.

    Como hago para borrar todo incluso el correo y hacer todo de nuevo para ver si me quedo algo mal?

    1. Jose Antonio Ramos dice:

      Buenas,

      Si lo hiciste mal no pasa nada, simplemente no funcionará. Puedes probar a hacerlo nuevamente sin problema, aunque el certificado solo te dejará probar 3/4 veces al día máximo por dominio.

      Saludos

  4. Carlos dice:

    Buenas tardes amigo, realice tal cual los pasos y me sale tu conexión con este sitio no es completamente segura, a que se deberá y cual seria la solución gracias

    1. Jose Antonio Ramos dice:

      Hola Carlos,

      En ocasiones algunas partes de la web no terminan de aplicar el protocolo https, y por eso te sale ese aviso. Una vez terminada la instalación SSL, instala el plugin "Really Simple SSL" y actívalo. Si eso no soluciona el problema, instala "Velvet Blues Update URLs" y en la primera casilla pon "http://" y en la segunda "https://" (sin las comillas) y ejecuta.

      Saludos

  5. Enrique dice:

    Hola, muchas gracias por la información. Tienes el procedimiento para multisite?

    1. Jose Antonio Ramos dice:

      Hola Enrique,

      No lo tengo a mano, cuando vuelva de viaje lo ojeo y escribo algo sobre ello.

      Saludos!

  6. Fran dice:

    Estoy igual que el último comentario, instalé la última versión que ofrecen (no encontré la que propones de bitnami, sólo la multi tier o así), y me da el mismo error.

    Saludos y gracias, por lo demás genial guía!

  7. efrah dice:

    hola, yo realice la instalación de worpress Solución proporcionada por Google Click to Deploy que no es el bitnami. cuando echo todos los paso que indicas. me sales esta comandos. /opt/bitnami/apps/wordpress/htdocs/ does not exist or is not a directory
    si puedes ayudar gracias, saludos

    1. Jose Antonio Ramos dice:

      Hola Efrah,

      Esta guía esta orientada a la versión Bitnami, la Deploy requiere de otros comandos para la instalación del SSL gratuito. En cuando disponga de tiempo libre intentaré hacer la guía.

      Saludos!

  8. Diego dice:

    Hola, hice todo el proceso exitosamente, sin embargo tengo una inquietud, mi cliente me está pidiendo el certificado SSL y no sé cómo descargarlo de GCP wordpress....

    1. Jose Antonio Ramos dice:

      Hola Diego,

      No sabría decirte ahora mismo (me pillas de viaje), a mi regreso intentaré buscar donde se almacena el archivo y te paso la ruta.

      Saludos!

  9. Fabian dice:

    Gracias Crack, se agradece!

  10. Luis dice:

    Un capo doctor, gracias

  11. jeniffer echeverria dice:

    Hola buenas tardes, disculpa hice todo lo que me indicaste y me funcionó perfecto, pero te comento mi problema a ver si me puedes ayudar.
    Yo tenia mi pagina en wordpress pero no el de bitnami y cuando ejecutaba los comandos me decia que no existía las carpetas, así que bueno desplegue el wordpress que tu indicas e hice un respaldo del sitio anterior, ejecuté todos los comandos que indicaste y listo ya tenia todo solo que queria migrar mi otra página del otro wordpress a este nuevo con certificado SSL, al hacer la migración ahora no veo mi sitio Web y me da error de conexión, me puedes ayudar a restaurar todo de nuevo, porque ya no puedo ver el otro sitio y el nuevo tampoco.

    1. Josean dice:

      Hola Jeniffer,

      Siempre que tengas una copia de seguridad podrás volver a restaurar tu web donde quieras (usando WordPress). Asegúrate de haber puesto bien en la edición de wp-config el https:// y las www o no, dependiendo de cómo estuviera antes. A partir de ahí, solo cambiar la IP en el dominio y una vez propagada debería funcionar bien. Una buena forma de probarlo es montar un WP sin nada y cambiar la IP, si te sale el WP es que simplemente hay algún error en la configuración.

      Sobre volver a tu vieja instalación de WP, si no has borrado ninguna máquina virtual, simplemente volviendo a tu IP anterior deberías poder tener tu página sin problemas (asegúrate de que la IP se ha propagado con un ping desde consola).

      Saludos

  12. Raquel Fraile dice:

    Hola he seguido todos los pasos y me ha salido tal y como decía en el tutorial, pero al teclear en la barra de google el dominio me sale que no es seguro y que no tiene https . Que paso me he podido saltar? lo hago de nuevo?

    1. Josean dice:

      Hola Raquel,

      Cuando has instalado el certificado, en la consola de comandos ¿aparecía el mensaje de instalación correcta? Por otro lado, recuerda cambiar http --> https tambien en WP

      Saludos

  13. Juan Carlos Ajahuana dice:

    Seguí la misma lógica con mi sitio en "joomla" con funcionamiento perfecto. gracias

  14. Deparlo dice:

    Hola, sin querer inicie el comando
    "./certbot-auto certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d beseomyfriend.com -d www*beseomyfriend.com"
    pero al sin las "www" y cuando me di cuenta lo detuve con CTRL + C y lo volvi a hacer pero ahora me da error:
    "Requesting to rerun ./certbot-auto with root privileges...
    /opt/bitnami/apps/wordpress/htdocs/ does not exist or is not a directory"
    Que puedo hacer?

    1. Josean dice:

      Buenas,

      Disculpa la pregunta pero...¿cambiaste mi dominio por el tuyo no? Generalmente basta con resetear la VM, pero si ves que ta muchos problemas nada más sencillo que crear una nueva (apenas nos lleva 5 m.)

      Saludos!

  15. jorge dice:

    Hola que tal, fíjate que después de seguir todos los pasos, mi pagina web funciona como debería, pero tengo un problema, quiero cambiar el correo por default WordPress/Ajustes/Ajustes Generales/Dirección de Correo Electronico, he intentando entrar a mi sitio (*****.**/phpmyadmin) pero solo me da error esto es con la intención de cambiar mi tabla wp_options, de verdad agradeceré mucho tu ayuda, pues es la primera vez que creo una pagina web jejeje, saludos cordiales desde Villahermosa, Tabasco, México!

    Pd. Tendrás algún numero de contacto?

    1. Josean dice:

      Hola Jorge,

      Deberías poder editar el email desde el propio WordPress. Prueba a cambiar los permisos del archivo wp-config.php con el siguiente comando:

      sudo su
      cd
      chmod 777 /opt/bitnami/apps/wordpress/htdocs/wp-config.php
      reboot

      Inserta uno a uno los códigos en la consola SSH, la máquina virtual se reiniciará así que tardará un par de minutos en volver a funcionar tu web. Cuando lo haga, prueba a cambiar ahora el email y debería dejarte. Una vez te deje vuelve a cambiar los permisos del archivo, pero en vez de usar 777 usa 644.

      El único problema de Bitnami es que es un poco puñetero con los permisos (aumenta la seguridad, per oa veces nos da dolores de cabeza).

      ¿No ha funcionado? Entonces puedes probar mediante la base de datos. Aun no he tenido tiempo de crear el artículo para ello, pero encontré algunos vídeos y tutoriales en Inglés (puedes usar el navegador Chrome para traducir al Español toda la web).

      Saludos desde España!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir