Skip to content

Certbot ​

🗑️ Desinstalar versión vieja (PPA) ​

Si instalaste certbot anteriormente vía apt/PPA, es necesario sacarlo antes de instalar la versión actualizada por snap, para evitar conflictos entre binarios.

📕 Remover el paquete y el PPA

sudo apt remove certbot -y
sudo add-apt-repository --remove ppa:certbot/certbot

📕 (Opcional) limpiar paquetes de apache relacionados

sudo apt remove python3-certbot-apache -y

💾 Instalación ​

Desde Ubuntu 20.04 en adelante, la EFF recomienda instalar certbot vía snap en vez de apt, ya que el paquete de apt/PPA suele quedar desactualizado.

📒 Instalar snapd (si no lo tenés ya)

sudo apt install snapd -y

📘 Instalar el core de snap

sudo snap install core
sudo snap refresh core

📗 Instalar certbot

sudo snap install --classic certbot

📗 Crear symlink para poder usar el comando certbot directamente

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

🔐 Generar Certificado ​

📒 Step-by-step

sudo certbot --apache

📗 One-step

sudo certbot --apache --non-interactive --agree-tos --email tu@correo.com -d tudominio.com

🕐 Configurar Auto Renovación ​

El paquete de snap ya deja configurado un timer de systemd que se encarga de la renovación automática, así que en la mayoría de los casos no hace falta configurar un cron manualmente.

📒 Verificar que el timer esté activo

sudo systemctl list-timers | grep certbot

📘 Probar la renovación sin aplicarla de verdad (dry-run)

sudo certbot renew --dry-run

📕 (Opcional) Cron manual de respaldo

Solo necesario si por algún motivo preferís no depender del timer de systemd. Los certificados duran 90 días, así que renovar 2 veces por semana es más que suficiente (no hace falta 1 vez al mes).

sudo crontab -e

En caso de acceder por primera vez, te solicitará elegir el editor que prefieras para continuar con el proceso.

0 0 * * 0,3 certbot renew --quiet

⚙️ Otros detalles ​

📒 Reiniciar apache

sudo service apache2 restart

según sea el caso, se deberá reiniciar este servicio para que tome configuraciones adicionales

📘 Habilitar regla en el firewall

Se recomienda usar el perfil 'Apache Full' en vez de abrir solo el puerto 443, ya que también cubre el puerto 80 (necesario para la validación HTTP-01 de certbot y el redirect HTTP → HTTPS).

sudo ufw allow 'Apache Full'

Potenciado con café ☕ y VitePress 📘 | Hosteado con Cloudflare Pages ⚡