Si tienes un servidor web, protegerlo con HTTPS es una norma básica. Gracias al protocolo ACME (Automated Certificate Management Environment), puedes automatizar la emisión y renovación de certificados SSL mediante herramientas como Certbot.

En esta guía aprenderás a instalar un certificado ACME en Apache y NGINX utilizando Certbot en distintas distribuciones de Linux. Cubriremos los sistemas basados en Debian y RHEL, incluiremos aclaraciones cuando sea necesario, y te guiaremos a través de todo, desde la instalación hasta la renovación automatizada.
Antes de empezar
Antes de empezar, comprueba que:
- Tienes acceso sudo o root a tu servidor
- Tu nombre de dominio apunta a la dirección IP pública de tu servidor mediante DNS
- Los puertos 80 y 443 están abiertos en tu cortafuegos o grupo de seguridad del proveedor de la nube
- Tu sistema está actualizado y es compatible
Paso 1 – Instala Certbot en tu SO
Certbot es el cliente ACME que utilizaremos para solicitar y renovar certificados SSL. Repasaremos las instrucciones de configuración para cada SO soportado. Elige el que coincida con tu servidor.
Ediciones Ubuntu LTS con APT
Actualiza los paquetes e instala Certbot con tu plugin de servidor web preferido:
Apache:
sudo apt update
sudo apt install certbot python3-certbot-apache
NGINX:
sudo apt update
sudo apt install certbot python3-certbot-nginx
Sistemas Debian compatibles con APT
El mismo proceso que en Ubuntu:
sudo apt update
sudo apt install certbot python3-certbot-apache # for Apache
sudo apt install certbot python3-certbot-nginx # for NGINX
En sistemas Debian, instalar Certbot mediante APT es la opción más sencilla. Si prefieres utilizar Snap (para la última versión), desplázate hasta la sección Snap más abajo.
AlmaLinux o Rocky Linux (compatible con RHEL)
Habilita primero el repositorio EPEL:
sudo dnf install epel-releasesudo dnf update
A continuación, instala Certbot con el plugin de tu elección:
Apache:
sudo dnf install certbot python3-certbot-apache
NGINX:
sudo dnf install certbot python3-certbot-nginx
Alternativa: Instalar Certbot mediante Snap (Todos los sistemas)
Si quieres la última versión directamente de la fuente, utiliza Snap.
1. Instala Snap (si no está ya instalado):
sudo apt install snapd # Ubuntu/Debian
sudo dnf install snapd # AlmaLinux/Rocky
2. Instala y vincula Certbot:
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Opcional: Instala Certbot con pip (para configuraciones personalizadas)
Este método está pensado para usuarios avanzados o entornos personalizados en los que no están disponibles los paquetes Snap o OS. Sólo debes utilizarlo si
- Estás ejecutando Certbot en un entorno virtual
- Trabajas con contenedores mínimos
- Tu SO no soporta snapd, apt o dnf de forma limpia
Para instalar Certbot usando pip:
python3 -m pip install --upgrade certbot
Esto instala el núcleo de la herramienta Certbot, pero no configurará la renovación automática, y no instala los plugins de Apache o NGINX. Tendrás que configurarlo todo manualmente
Si no estás seguro de lo que esto significa, vuelve atrás y utiliza en su lugar las instrucciones APT, DNF o Snap.
También puedes instalar plugins (como el de NGINX) utilizando pip:
python3 -m pip install certbot-nginx
Utiliza pip sólo si el entorno de tu sistema requiere un control o aislamiento total.
Paso 2 – Solicitar e instalar tu certificado ACME
Hay dos enfoques principales: totalmente automatizado o específico del proveedor utilizando credenciales EAB (External Account Binding). Ambos se describen a continuación.
Opción A: Totalmente automatizado (ACME estándar)
Deja que Certbot se encargue de todo: solicitar, verificar, instalar y recargar la configuración de tu servidor.
Apache:
sudo certbot --apache
NGINX:
sudo certbot --nginx
Se te preguntará:
- Qué dominio(s) asegurar
- Si redirigir todo el tráfico HTTP a HTTPS
- Tu correo electrónico para recordatorios de renovación
Certbot se encarga de la validación y la configuración del servidor web entre bastidores.
Opción B: Utilizar proveedor ACME externo (por ejemplo, Sectigo) con EAB
Si tu proveedor requiere Vinculación externa de cuentas, utiliza este método:
sudo certbot --nginx \
--non-interactive \
--agree-tos \
--email [email protected] \
--server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--domain example.com \
--domain www.example.com \
--cert-name my-website-cert
Sustituye --nginx por --apache para la configuración de Apache.
Recibirás --eab-kid y --eab-hmac-key de tu proveedor de certificados al registrar una cuenta ACME.
Opción C: Utilizar Certbot en Modo Manual
Si no quieres que Certbot modifique la configuración de tu servidor web, o utilizas una configuración personalizada, puedes solicitar un certificado manualmente.
A continuación te explicamos cómo hacerlo utilizando el método webroot:
sudo certbot certonly --webroot \
-w /var/www/html \
-d example.com \
-d www.example.com \
--email [email protected] \
--agree-tos \
--non-interactive
- –certonly le dice a Certbot que emita el certificado pero que no lo instale
- -w especifica el directorio raíz de tu sitio web (debe ser accesible públicamente a través del puerto 80)
Tras la emisión, configura manualmente tu servidor web con los archivos de certificado ubicados en:
/etc/letsencrypt/live/yourdomain.com/
Nota: Esta ruta se utiliza independientemente del proveedor de ACME que elijas, a no ser que anules el directorio de almacenamiento utilizando las banderas avanzadas (–config-dir, –work-dir).
Asegúrate de recargar tu servidor web después de aplicar las rutas de cert a tu config.
Paso 3 – Comprueba que todo funciona
Visita tu dominio en un navegador. Deberías ver el candado de seguridad o simplemente la carga correcta de la página en Chrome. Para volver a comprobar que el servidor está funcionando:
sudo systemctl status apache2 # Debian/Ubuntu (Apache)
sudo systemctl status httpd # AlmaLinux/Rocky (Apache)
sudo systemctl status nginx # All systems (NGINX)
Y para inspeccionar el certificado desde el terminal:
openssl s_client -connect yourdomain.com:443
Busca fechas válidas y el nombre de la CA de tu proveedor en el resultado.
Paso 4 – Configurar la renovación automática
El protocolo ACME admite la renovación automática de certificados, y Certbot está diseñado para gestionarla sin problemas mediante un temporizador systemd integrado o una tarea cron. Sin embargo, el comportamiento de la renovación depende de tu proveedor de certificados:
Las CA gratuitas (como Let’s Encrypt) emiten certificados válidos durante 90 días y admiten comprobaciones frecuentes de renovación.
Las CA comerciales (como Sectigo o Digicert) suelen emitir certificados válidos durante 1 año a través de ACME, pero siguen el proceso de renovación de ACME. Certbot también los gestiona automáticamente, pero con menos frecuencia.
Comprueba que la renovación está programada
Certbot configura por defecto un temporizador del sistema o cron job. Puedes confirmar que está activo con
systemctl list-timers | grep certbot
Esto garantiza que Certbot comprueba tus certificados regularmente (normalmente dos veces al día) y los renueva sólo cuando están dentro de la ventana de renovación (normalmente 30 días antes de que caduquen).
Palabras finales
Certbot y el protocolo ACME simplifican la gestión de SSL. Esta guía te da todo lo que necesitas para instalar un certificado ACME en Apache y NGINX con renovación automática, validación clara y control total cuando sea necesario.
Ahorre un 10% en certificados SSL al realizar su pedido hoy mismo.
Emisión rápida, cifrado potente, 99,99% de confianza del navegador, asistencia dedicada y garantía de devolución del dinero en 25 días. Código del cupón: SAVE10

