Let's Encrypt proporciona certificados SSL gratuitos para asegurar tu sitio web. A continuación, te mostraré cómo configurar Let's Encrypt en un servidor Apache y configurar la renovación automática del certificado.
Paso 1: Instalar Certbot
Certbot es una herramienta que automatiza la tarea de obtener y renovar certificados SSL de Let's Encrypt.
- Actualizar el sistema:
sudo apt update
sudo apt upgrade
- Instalar Certbot y el complemento para Apache:
sudo apt install certbot python3-certbot-apache
Paso 2: Obtener un certificado SSL
- Ejecutar Certbot para Apache:
sudo certbot --apache
- Seguir las instrucciones en pantalla:
- Se te pedirá que ingreses tu correo electrónico para recibir notificaciones.
- Acepta los términos del servicio.
- Elige el dominio para el cual quieres obtener el certificado SSL (debe estar configurado y apuntando a tu servidor).
Certbot automáticamente configura Apache para usar el nuevo certificado SSL.
Paso 3: Verificar la configuración del certificado
- Verifica que tu sitio web esté usando HTTPS:
- Abre tu navegador y navega a tu dominio con
https://
. - Deberías ver el candado de seguridad en la barra de direcciones indicando que el sitio está seguro.
- Abre tu navegador y navega a tu dominio con
Paso 4: Configurar la renovación automática del certificado
Let's Encrypt los certificados son válidos por 90 días, por lo que es importante configurarlos para que se renueven automáticamente.
- Renovar manualmente (opcional, para probar):
sudo certbot renew --dry-run
Esto simula la renovación y te asegura que no habrá problemas. - Configurar la renovación automática:
- Certbot agrega automáticamente una tarea al cron para verificar y renovar los certificados dos veces al día. Puedes verificarlo ejecutando:
sudo systemctl list-timers
- Certbot agrega automáticamente una tarea al cron para verificar y renovar los certificados dos veces al día. Puedes verificarlo ejecutando:
- Confirmar tarea de cron para renovación (opcional):
- Abre el archivo de cron:
sudo crontab -e
- Asegúrate de que existe una línea similar a esta:
0 */12 * * * root certbot renew --quiet
- Abre el archivo de cron:
Paso 5: Verificar la configuración de Apache
- Reiniciar Apache para asegurarse de que todos los cambios sean efectivos:
sudo systemctl restart apache2
Paso 6: Configurar redirección HTTP a HTTPS (opcional)
Para asegurarte de que todo el tráfico se redirija a HTTPS, añade una redirección en el archivo de configuración de Apache, este paso lo suele preguntar en el paso 1 para hacerlo Let´s Encrypt y reescribir el fichero del site.
- Editar el archivo de configuración del sitio:
sudo nano /etc/apache2/sites-available/your_domain.conf
- Añadir la redirección:
<VirtualHost *:80>
ServerName your_domain
Redirect permanent / https://your_domain/
</VirtualHost>
- Guardar el archivo y salir del editor.
- Reiniciar Apache:
sudo systemctl restart apache2
Paso 7: Verificar la configuración de seguridad (opcional)
Puedes utilizar herramientas como SSL Labs para verificar que tu configuración SSL es correcta y segura.
Conclusión
Siguiendo estos pasos, habrás configurado con éxito un certificado SSL gratuito de Let's Encrypt en Apache y asegurado que se renueve automáticamente. Esto mejorará la seguridad de tu sitio web y la confianza de los usuarios.