La privacidad en la internet es un tema que preocupa a todos. En esta guía te mostrare como cifrar los datos entre el servidor y tus usuarios instalando un certificado Let’s Encrypt SSL usando cPanel.
Tabla de contenidos
¿Qué es un certificado SSL?
Un certificado SSL por sus siglas en inglés significa: Secure Socket Layer, para nosotros los mortales quiere decir: la comunicación entre una página web y el usuario no será vista por un tercero.
A simple vista se representa por el candadito que aparece en la barra de dirección, que a todos nos encanta.
Estos certificados son emitidos por empresas u organismos con sobrada reputación en la internet; ellos los aprueban y afirman:
Todo lo que compartas con esta web viaja por la internet de manera segura, no porque lo diga él, sino porque lo digo YO 😎.
No voy a entrar en detalles muy técnicos ya que no quiero aburrirte, pero te daré cuatro razones por la que debes tener un certificado SSL en tu web:
- Ofrece confianza a tus usuarios: solo con ver el candado aumenta mucho la percepción positiva que tienen los internautas de tu página.
- Tienes mejor posicionamiento en Google: desde hace algún tiempo Google posiciona mejor en sus búsquedas aquellas páginas que tengan certificados SSL.
Con posicionar, me refiero a la manera que tiene Google de colocar las páginas en los primeros lugares de sus búsquedas sobre otras. Esto marca una gran diferencia en cuanto al trafico web que puedes recibir. - Gestionar tus pagos: en los cursos que tengas en muy posible que necesites ofrecer distintos medios de pago, incluidas tarjetas de crédito. Para hacer esto es obligatorio tener un SSL.
- La web en un futuro será toda cifrada: después de los muchos escándalos que han puesto en jaque la privacidad de los usuarios, todos claman a gritos por una internet más segura, el cifrado SSL ofrece en gran medida esa seguridad.
Let’s Encrypt SSL
Como te comenté antes, los SSL son emitidos por entidades certificadoras, las cuales ganan dinero por hacer este trabajo.
Aunque en los últimos años su costo ha bajado mucho, necesitar renovarse cada cierto tiempo es una tasa que puede ser prohibitiva para muchas personas, lo que aleja ese sueño de: una internet cifrada y segura.
Para hacer realidad este sueño, nació Let´s Encrypt. La cual, es una entidad certificadora que los ofrece gratis. Si como lo leíste: Gratis 🤗.
Está apoyada por una gran cantidad de organizaciones muy conocidas, entre las que tenemos: Facebook, Google, Linux Foundation, Cisco Systems, Automattic, Fundación Mozilla, Hewlett Packard, etc. La crema y nata de la internet .
Esto abre la puerta al usuario común para poder instalarlo en cualquier web que realice actividades licitas, si se detecta que haces mal uso de él, te lo revocan.
Let’s Encrypt y cPanel
Pero aún faltaba un paso para acercarlo al usuario final: hacerlo sencillo de instalar a aquellos poseedores de una web que no tienen muchos conocimientos técnicos, o no quieren pasar mucho tiempo configurando el certificado.
Para esto hacía falta que más actores entraran en escena, y uno de esos es cPanel: la interfaz de control más popular en los servicios de hosting.
Si tienes una web en un hosting compartido, es muy posible que la uses. Esta puede lucir así:
Desde hace algunos meses implementaron el soporte directo en cPanel a través de unos simples pasos, los cuales te mostraré a continuación.
Importante
Esta guía está orientada hacia la instalación del certificado Let´s Encrypt en cPanel. Tu hosting puede no haber habilitado esta opción. Si ese es tu caso presiónalo para que lo haga.
Los pasos pueden variar algo entre hostings. Existen otras maneras de hacerlo, pero son más complejas. Si administras tu propio servidor VPS, instalarlo a través de Certbot es tu opción, a menos que tengas cPanel en él.
¿Qué hostings soportan Let´s Encrypt con cPanel?
En las últimas versiones de cPanel (a partir de la 58.0.17) ya viene implementado el uso de este certificado SSL, queda de parte de los hostings habilitarlo.
En mi opinión aquellos proveedores que usen cPanel y no habiliten Let´s Encrypt a sus clientes les dan la espalda. La seguridad en la comunicaciones es un tema importante, que definirá el futuro de la internet.
Es cierto que te pueden ofrecer uno de pago, pero muchos usuarios no pueden permitírselo.
Los dos hostings que uso actualmente en mis proyectos y los cuales recomiendo, tienen habilitados el certificado Let´s Encrypt en cPanel. Te los refiero por si te interesa sus servicios.
- El primero es Banahosting, un hosting con soporte en español, tiene muy buenas prestaciones en Moodle, incluso para sus planes shared (compartidos) como el Bana-Started deluxe.
No le metas muchos usuarios a este plan en tu Moodle, que no lo aguanta, deberías optar por un VPS si tienes necesidades mayores. - El segundo es Stablehost. Este hosting solo ofrece soporte en inglés, pero es realmente bueno, tiene una excelente reputación.
Sus planes Shared sirven para Moodle con pocos usuarios, pero donde se lleva la palma es el plan Enterprise Hosting, tiene mayores recursos, aunque sin igualar a un VPS.
La gran ventaja es que no necesitas llevar la carga de la administración del servidor.
Es bastante más caro que un shared, por lo que es para proyectos donde tengas más usuarios a la vez en Moodle.
Moodle es muy exigente en cuanto a recursos, a cualquier servidor web le supone una pesada carga, y más en los shared, donde el servidor lo puedes compartir con mucha gente. Ten cuidado con el uso de los recursos, pueden llegar incluso a suspenderte la cuenta.
Opta por planes más avanzados para medianos y grandes proyectos educativos.
Los vínculos de los hostings que te recomendé son de afiliado, lo que significa que puedo ganar una comisión si decides optar por sus servicios, no tiene ningún costo adicional para ti y puedes ayudar a que esta web se mantenga.
Esto no condiciona de ninguna manera mi decisión de recomendarlos, son los que uso actualmente. Te sugiero que, si estas contento con tu hosting no te cambies, decide en función de tus necesidades.
Instalando Let´s Encrypt
Dios!!, después de tanto preámbulo (me pase un poco con la explicación 😅). Vamos a ponernos manos a la obra. Es sencillo no te preocupes.
Entra a tu cPanel, si está habilitado verás el icono en el apartado de Seguridad (Security si está en inglés). Haz clic en él.
En la siguiente pantalla debe estar el(los) dominio(s) al que quieras instalar el certificado. Haz clic en el vínculo marcado: Issue del dominio que quieras que se emita el certificado, está en la columna Actions.
Ahora veremos la pantalla de emisión propiamente dicha. Por defecto marca la casilla de include e install mail, si no lo están: selecciónalos. Dale clic al botón marcado: Issue. Ahora espera algunos segundos, mientras el sistema emite el certificado.
Al final si todo sale bien, debe decirte que fue un éxito el proceso. Vuelve a la pantalla anterior, donde podrás ver que ya fue emitido, desde aquí podrás quitar el certificado si lo deseas con el link remove, reinstalarlo o ver sus especificaciones.
Los certificados Let´s Encrypt se vencen cada 90 días, pero cPanel se encarga de correr un script que los renueva automáticamente. A menos que lo revoques o hagas actividades ilícitas siempre estará disponible.
Cambios necesarios en Moodle
Hasta este punto los pasos para la emisión del certificado de esta guía son válidos para cualquier web que quieras montar: WordPress, Joomla, PrestaShop, etc.
Para Moodle, vamos a modificar el archivo config.php, está ubicado en la carpeta raíz (principal) donde está instalado Moodle en la carpeta de publicación web.
En cPanel por lo general la carpeta de publicación es public_html.
Te recomiendo usar el administrador de archivos del propio cPanel. Una vez dentro ubica el archivo config.php, selecciónalo y dale al botón editar.
Debemos cambiar esta porción de código que debe lucir parecida a esta:
$CFG->wwwroot = 'http://nuestrodominio';
Cambia http por https, debe quedar así:
$CFG->wwwroot = 'https://nuestrodominio';
Dale a Guardar Cambios.
Como paso final, debemos asegurarnos que todo el contenido guardado en la base de datos con la antigüa dirección http se redirijan a la conexión segura https.
Cuidado
Haz un respaldo de la base de datos de Moodle, antes de hacer estos cambios, para que puedas reestablecerla en caso de algún problema.
Para hacer esto, entramos como administrador en nuestro Moodle, vamos a la dirección: https://nuestrodominio/admin/tool/replace/index.php
, donde nuestrodominio
es tu dirección web a la que emitiste el certificado.
En el campo Search whole database for ponemos el dominio con http y en el de abajo llamado: Replace with this string, colocamos la dirección, pero con https. Seleccionamos la opción I understand the risks of this operation, hacemos clic al botón Yes, do it!.
Con esto deberíamos tener ya nuestro certificado SSL totalmente operativo, y el candado debería aparecer cuando accedas a tu Moodle, con los beneficios añadidos 🤩.
No necesito decirte que cualquier duda la dejes en los comentarios, que con gusto atenderé a la brevedad posible.
Buenas tardes Diógenes.
Gracias por tu articulo. Me ha sido de utilidad. A pesar de haber seguido todos los pasos es como si no me hubiese tomado el certificado. Digo esto ya que me sale la leyenda: «la conexión no es privada» o «la conexion no es segura».
he realizado los cambios en la base de datos y en el archivo config.
Se te ocurre que puede estar sucediendo?
desde ya muchas gracias.
Saludos cordiales.
Máximo
Hola Máximo. Lo que puede estar pasando es que a pesar de tener instalado el certificado, tienes elementos en tu Moodle que apuntan a direcciones http, posiblemente en tus css o html.
Esta guía mía una poco más amplia te puede ayudar.
Espero te ayude.
Hola Diogenes.
Solucionado. Muchas gracias!!
Saludos
M.