Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

Instalación y Configuración de Certbot con Apache

Loading

Certbot es una herramienta gratuita desarrollada por Electronic Frontier Foundation (EFF) para automatizar la obtención y renovación de certificados SSL/TLS emitidos por Let's Encrypt. Integrado con Apache, permite habilitar HTTPS de manera rápida y segura, cumpliendo con buenas prácticas de seguridad web.

Este artículo describe cómo instalar Certbot y configurar SSL en un servidor Apache en sistemas Debian/Ubuntu y CentOS/RHEL.

Requisitos Previos

  1. Servidor con Apache instalado y en ejecución.
  2. Acceso como usuario con privilegios de sudo.
  3. Dominio apuntando al servidor con un registro DNS válido (ej. midominio.com).
  4. Puertos 80 y 443 abiertos en el firewall.

Instalación de Certbot

En Debian / Ubuntu

  1. Actualizar paquetes del sistema:
sudo apt update && sudo apt upgrade -y
  1. Instalar Certbot y el plugin de Apache:
sudo apt install certbot python3-certbot-apache -y
  1. Verificar la versión instalada:
certbot --version

En CentOS / RHEL

  1. Instalar EPEL y actualizar paquetes:
sudo dnf install epel-release -y
sudo dnf update -y
  1. Instalar Certbot y plugin de Apache:
sudo dnf install certbot python3-certbot-apache -y
  1. Verificar la instalación:
certbot --version

Configuración de Certificados SSL con Apache

  1. Generar certificado para tu dominio:
sudo certbot --apache -d midominio.com -d www.midominio.com
  • La opción --apache permite que Certbot configure automáticamente los archivos de Apache.
  • Puedes agregar múltiples dominios separados por -d.
  1. Durante la ejecución, Certbot pedirá:
  • Correo electrónico para notificaciones de renovación y seguridad.
  • Aceptación de los términos de servicio.
  • Selección de redirigir tráfico HTTP a HTTPS (opcional pero recomendado).
  1. Verificación:

Certbot editará automáticamente el archivo de configuración de Apache y reiniciará el servicio. Comprueba que el certificado esté activo:

sudo apachectl configtest
sudo systemctl restart apache2   # Debian/Ubuntu
sudo systemctl restart httpd     # CentOS/RHEL

Visita https://midominio.com para confirmar que el sitio carga con HTTPS.

Renovación Automática de Certificados

Let's Encrypt emite certificados válidos por 90 días, por lo que la renovación automática es crítica.

  1. Prueba la renovación manual:
sudo certbot renew --dry-run
  1. Si no hay errores, Certbot ya configura automáticamente un cron job o timer de systemd que renueva el certificado y recarga Apache.

Resolución de Problemas Comunes

ProblemaSolución
Error 403 o 404 durante la validaciónVerifica que el dominio apunta correctamente al servidor y que no hay reglas de firewall bloqueando HTTP.
Certificado no se renueva automáticamenteComprueba que el servicio de cron o systemd timer esté activo: `systemctl list-timers
Apache no reinicia tras la configuraciónRevisa errores de sintaxis: sudo apachectl configtest y corrige conflictos de virtual hosts.

Conclusión

Con Certbot y Apache, habilitar HTTPS en tu servidor es rápido, seguro y sostenible. La integración automatizada permite concentrarse en la operación del sitio sin preocuparse por la caducidad de los certificados.

You may also like...