Cómo instalar y configurar Certbot en Linux con Nginx y Apache


Aprende cómo instalar y configurar Certbot paso a paso en Linux para habilitar HTTPS con certificados SSL gratuitos de Let's Encrypt en Nginx y Apache.

Cómo instalar y configurar Certbot en Linux con Nginx y Apache
oscar Escrito por oscar 09 March 2026 2 0

Certbot es una herramienta gratuita y de código abierto que permite obtener y administrar certificados SSL/TLS de Let's Encrypt. Su principal objetivo es habilitar HTTPS en servidores web como Nginx y Apache de forma automatizada.

Con Certbot puedes emitir certificados digitales, configurar HTTPS automáticamente y renovar los certificados antes de su expiración. Actualmente, Let's Encrypt utiliza certificados con una validez de 90 días, por lo que la automatización de renovación es fundamental.

La documentación oficial recomienda instalar Certbot utilizando Snap en sistemas modernos basados en Linux.

Sitio oficial de Certbot: https://certbot.eff.org/

Requisitos previos

Antes de comenzar debes contar con lo siguiente:

Actualizar el sistema

Antes de instalar Certbot es recomendable actualizar los paquetes del sistema.

Ubuntu y Debian

sudo apt update && sudo apt upgrade -y

RHEL, Rocky Linux y AlmaLinux

sudo dnf update -y

Instalar Snapd

Certbot recomienda actualmente el uso de Snap para obtener versiones actualizadas y compatibles.

Instalar Snap en Ubuntu y Debian

sudo apt install snapd -y

Instala y actualiza el paquete core de Snap:

sudo snap install core
sudo snap refresh core

Instalar Certbot

Instalación usando Snap

sudo snap install --classic certbot

Crear enlace simbólico para ejecutar Certbot desde cualquier ubicación:

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Verifica la instalación:

certbot --version

Respuesta:

certbot 0.40.0

Instalar integración con Nginx o Apache

Instalar Certbot para Nginx

sudo apt install python3-certbot-nginx -y

Instalar Certbot para Apache

sudo apt install python3-certbot-apache -y

Configurar HTTPS con Nginx

Para emitir e instalar automáticamente un certificado SSL usando Nginx:

sudo certbot --nginx -d tudominio.com -d www.tudominio.com

Durante el proceso Certbot solicitará:

Correo electrónico

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Plugins selected: Authenticator nginx, Installer nginx

Enter email address (used for urgent renewal and security notices) (Enter 'c' to

cancel): codigoelectronica@gmail.com

Aceptación de términos de Let's Encrypt

Please read the Terms of Service at

https://letsencrypt.org/documents/LE-SA-v1.6-August-18-2025.pdf. You must agree

...

(A)gree/(C)ancel: A

Confirmación para redirigir HTTP hacia HTTPS

1: No redirect - Make no further changes to the webserver configuration.

2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for

new sites, or if you're confident your site works on HTTPS. You can undo this

change by editing your web server's configuration.

Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/codigoelectronicacom

Una vez finalizado, Certbot modificará automáticamente la configuración de Nginx.

Reiniciar Nginx

sudo systemctl reload nginx

Configurar HTTPS con Apache

Para instalar certificados SSL automáticamente en Apache:

sudo certbot --apache -d tudominio.com -d www.tudominio.com

Certbot detectará la configuración de Apache y aplicará automáticamente HTTPS.

Reiniciar Apache

sudo systemctl reload apache2

Verificar el certificado SSL

Puedes validar el estado del certificado ejecutando:

sudo certbot certificates

También puedes abrir tu sitio web en el navegador y verificar que aparezca el candado HTTPS.

Configurar renovación automática

Certbot normalmente instala automáticamente una tarea programada mediante systemd o cron para renovar certificados.

Puedes probar la renovación manualmente:

sudo certbot renew --dry-run

Si el comando finaliza correctamente, la renovación automática está funcionando.

Configurar firewall

Debes permitir tráfico HTTP y HTTPS.

UFW en Ubuntu

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

Firewalld en Rocky Linux o AlmaLinux

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Problemas comunes

El dominio no apunta al servidor

Verifica que los registros DNS A o CNAME estén configurados correctamente.

Puerto 80 bloqueado

Certbot necesita acceso al puerto 80 para validar el dominio usando HTTP-01.

Nginx o Apache no detectado

Asegúrate de que el servidor web esté instalado y funcionando correctamente.

sudo systemctl status nginx
sudo systemctl status apache2

Comandos útiles de Certbot

Listar certificados

sudo certbot certificates

Renovar certificados manualmente

sudo certbot renew

Eliminar un certificado

sudo certbot delete

Conclusión

Certbot es una de las herramientas más utilizadas para implementar HTTPS utilizando certificados gratuitos de Let's Encrypt. Gracias a su automatización, permite configurar SSL/TLS en pocos minutos y mantener los certificados renovados automáticamente.

Para entornos productivos se recomienda usar siempre versiones actualizadas de Certbot y validar periódicamente la renovación automática.

Referencias oficiales


Comentario

Debe aceptar antes de enviar