Introducción: En este artículo, te guiaré paso a paso para instalar un certificado SSL gratuito utilizando Let’s Encrypt en un servidor Linode con Apache. Tener un certificado SSL es esencial para asegurar las conexiones a tu sitio web, proteger los datos y mejorar tu posicionamiento en los motores de búsqueda.
Requisitos previos:
Antes de comenzar, asegúrate de cumplir con los siguientes requisitos:
- Servidor Linode con sistema operativo Linux Ubuntu 24.04 LTS
- Apache instalado y en funcionamiento.
- Dominio registrado apuntando a tu servidor (puedes verificar esto con un
ping
a tu dominio). - Acceso SSH con permisos de root o usuario con privilegios de sudo.
Paso 1: Actualizar los paquetes del sistema
Es importante mantener tu sistema actualizado antes de realizar cualquier instalación.
apt update && sudo apt upgrade
Esto asegurará que todos los paquetes estén al día y evitará conflictos durante la instalación.
Paso 2: Instalar Certbot
Certbot es una herramienta que automatiza el proceso de instalación y renovación de certificados SSL de Let’s Encrypt. Para instalar Certbot en Ubuntu, ejecuta el siguiente comando:
snap install --classic certbot
Ejecuta el siguiente comando en la terminal para asegurate de que comando cerbot pueda ejecutarse de forma correcta:
ln -s /snap/bin/certbot /usr/bin/certbot
Paso 3: Obtener el certificado SSL
Ejecuta este comando para obtener un certificado y permitir que Certbot edite automáticamente la configuración de Apache para servirlo, activando el acceso HTTPS en un solo paso:
certbot --apache -d tu-dominio.com -d www.tu-dominio.com
Certbot te guiará a través de la instalación y configuración del certificado. Si todo sale bien, verás un mensaje de éxito y tu sitio web ya estará protegido con SSL. Este es un ejemplo de la salida en la terminal, después de la ejecución del comando:
root@localhost:~# certbot --apache -d tu-dominio.com -d www.tu-dominio.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): ivanetinajero@gmail.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.4-April-3-2024.pdf. You must agree in
order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: n
Account registered.
Requesting a certificate for tu-dominio.com and www.tu-dominio.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/tu-dominio.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/tu-dominio.com/privkey.pem
This certificate expires on 2024-12-23.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for tu-dominio.com to /etc/apache2/sites-available/000-default-le-ssl.conf
We were unable to find a vhost with a ServerName or Address of www.tu-dominio.com.
Which virtual host would you like to choose?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: 000-default.conf | | | Enabled
2: 000-default-le-ssl.conf | tu-dominio.com | HTTPS | Enabled
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Successfully deployed certificate for www.tu-dominio.com to /etc/apache2/sites-available/000-default-le-ssl.conf
Congratulations! You have successfully enabled HTTPS on https://tu-dominio.com and https://www.tu-dominio.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Paso 4: Verificar la instalación de SSL
Para verificar que el certificado está correctamente instalado y activo, visita tu sitio web con https:// al inicio de la URL. También puedes usar una herramienta como DigiCert SSL Installation Diagnostics Tool para realizar una prueba detallada de tu certificado.
Paso 5: Configurar la renovación automática del certificado
Los certificados de Let’s Encrypt son válidos por 90 días, pero puedes automatizar el proceso de renovación para que no tengas que preocuparte por ello. Certbot ya instala un cron job que renueva automáticamente los certificados antes de que expiren. Si deseas verificar que la renovación funciona correctamente, ejecuta:
certbot renew --dry-run
Conclusión
Con estos pasos, has instalado correctamente un certificado SSL gratuito de Let’s Encrypt en tu servidor Linode con Apache. A partir de ahora, tu sitio web estará asegurado con HTTPS, lo que proporcionará una conexión cifrada y mayor confianza para tus usuarios.