Guía paso a paso para configurar Let's Encrypt para Apache y actualizar el certificado automáticamente

Artículos Guías Manuales Sistemas Linux Windows Binario 0

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.

  1. Actualizar el sistema:

    sudo apt update
    sudo apt upgrade
  2. Instalar Certbot y el complemento para Apache:

    sudo apt install certbot python3-certbot-apache

Paso 2: Obtener un certificado SSL

  1. Ejecutar Certbot para Apache:

    sudo certbot --apache
  2. 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

  1. 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.

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.

  1. Renovar manualmente (opcional, para probar):

    sudo certbot renew --dry-run

    Esto simula la renovación y te asegura que no habrá problemas.
  2. 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
  3. 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

Paso 5: Verificar la configuración de Apache

  1. 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.

  1. Editar el archivo de configuración del sitio:

    sudo nano /etc/apache2/sites-available/your_domain.conf
  2. Añadir la redirección:

    <VirtualHost *:80>
    ServerName your_domain
    Redirect permanent / https://your_domain/
    </VirtualHost>
  3. Guardar el archivo y salir del editor.
  4. 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.