Habilitando HTTPS en Apache con Certbot y Lets Encrypt
Para habilitar HTTPS en tu servidor Apache, necesitas obtener un certificado SSL/TLS e instalarlo. La forma más sencilla y recomendada de hacerlo es usando Let’s Encrypt con la herramienta Certbot, que automatiza todo el proceso de forma gratuita.
Método Recomendado: Usar Certbot con Let’s Encrypt
Certbot es una herramienta que simplifica enormemente la obtención e instalación de certificados SSL/TLS de Let’s Encrypt. También puede configurar automáticamente tu Apache para usar el certificado y renovarlo cuando esté por expirar.
Paso 1: Instalar Certbot
Primero, necesitas instalar Certbot en tu servidor. El método de instalación varía según tu sistema operativo. Deberás acceder a tu servidor a través de la terminal (SSH).
-
Para Ubuntu/Debian:
sudo apt update sudo apt install certbot python3-certbot-apache -
Para CentOS/RHEL:
sudo dnf install certbot python3-certbot-apache
Paso 2: Obtener e Instalar el Certificado
Una vez instalado, puedes ejecutar un solo comando para obtener el certificado e instalarlo en tu configuración de Apache.
Ejecuta el siguiente comando y sigue las instrucciones en pantalla:
sudo certbot --apacheEl programa te hará algunas preguntas:
- Te pedirá un correo electrónico: Se usará para notificaciones de renovación y avisos de seguridad.
- Aceptar los Términos de Servicio: Deberás aceptar para continuar.
- Compartir tu correo (opcional): Puedes elegir si deseas compartir tu correo con la Electronic Frontier Foundation.
- Seleccionar los dominios: Certbot detectará los dominios (tus
ServerNameyServerAlias) configurados en tus archivos de Virtual Host de Apache y te pedirá que selecciones para cuáles quieres habilitar HTTPS.
Una vez que selecciones los dominios, Certbot hará lo siguiente:
- Verificará que tienes control sobre esos dominios.
- Descargará un certificado SSL/TLS para ellos.
- Modificará automáticamente tu configuración de Apache para instalar el certificado.
- Creará una redirección de HTTP a HTTPS, para que todo el tráfico vaya a la versión segura de tu sitio.
Paso 3: Verificar la Renovación Automática
El certificado de Let’s Encrypt es válido por 90 días. Sin embargo, el paquete de Certbot que instalaste también configura una tarea programada (un cron job) que intentará renovar automáticamente los certificados que estén por expirar.
Puedes probar si la renovación automática funciona correctamente con este comando:
sudo certbot renew --dry-runSi no hay errores, ¡está todo listo! No necesitas hacer nada más. Certbot se encargará de mantener tu certificado actualizado.
Resumen del Proceso con Certbot
- Conéctate a tu servidor.
- Instala Certbot y su plugin para Apache.
- Ejecuta
sudo certbot --apache. - Sigue las instrucciones.
- Verifica que la renovación automática está configurada.
Con estos pasos, tu servidor Apache estará configurado para servir tu sitio web a través de HTTPS, asegurando la comunicación entre tus visitantes y tu servidor. 🔒