# Instalación y Configuración de Certbot con Apache

- Link: https://binariocero.com/linux/instalacion-y-configuracion-de-certbot-con-apache
- Published: 2026-01-29T11:51:54+01:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

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:

    ```wp-block-code
    sudo apt update && sudo apt upgrade -y
    ```

 2. Instalar Certbot y el plugin de Apache:

    ```wp-block-code
    sudo apt install certbot python3-certbot-apache -y
    ```

 3. Verificar la versión instalada:

    ```wp-block-code
    certbot --version
    ```

### En CentOS / RHEL

 1. Instalar EPEL y actualizar paquetes:

    ```wp-block-code
    sudo dnf install epel-release -y
    sudo dnf update -y
    ```

 2. Instalar Certbot y plugin de Apache:

    ```wp-block-code
    sudo dnf install certbot python3-certbot-apache -y
    ```

 3. Verificar la instalación:

    ```wp-block-code
    certbot --version
    ```

## Configuración de Certificados SSL con Apache

 1. Generar certificado para tu dominio:

    ```wp-block-code
    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`.

 2. 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).

 3. Verificación:

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

    ```wp-block-code
    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:

    ```wp-block-code
    sudo certbot renew --dry-run
    ```

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

| Problema | Solución | 
| Error 403 o 404 durante la validación | Verifica que el dominio apunta correctamente al servidor y que no hay reglas de firewall bloqueando HTTP. | 
| Certificado no se renueva automáticamente | Comprueba que el servicio de cron o systemd timer esté activo: `systemctl list-timers | 
| Apache no reinicia tras la configuración | Revisa 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.
