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 -ysudo 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
snapen vez deapt, 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 coresudo 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
systemdque 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 -eEn 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 restartsegú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'