Certificados de Seguridad con Certbot - mglacayo07/serverwiki GitHub Wiki
🔹 Paso 1: Instalar Certbot
Certbot es una herramienta que automatiza la emisión y renovación de certificados SSL de Let's Encrypt.
Actualizar los paquetes del sistema
sudo apt update && sudo apt upgrade -y
Instalar Certbot y el complemento para Nginx o Apache
Si usas Nginx:
sudo apt install certbot python3-certbot-nginx -y
Si usas Apache:
sudo apt install certbot python3-certbot-apache -y
🔹 Paso 2: Obtener un Certificado SSL
Ejecuta el siguiente comando según el servidor web que estés usando:
Para Nginx:
sudo certbot --nginx -d tudominio.com -d www.tudominio.com
Para Apache:
sudo certbot --apache -d tudominio.com -d www.tudominio.com
Explicación del comando:
--nginx
o --apache
: Configura automáticamente la seguridad SSL en tu servidor web.
-d tudominio.com -d www.tudominio.com
: Especifica los dominios para el certificado.
Durante la instalación, Certbot te pedirá:
Un correo electrónico para notificaciones. Aceptar los términos de servicio. Si deseas redirigir HTTP a HTTPS (se recomienda elegir Sí).
🔹 Paso 3: Verificar la Instalación
Después de la instalación, puedes verificar el estado del certificado ejecutando:
sudo certbot certificates
También puedes comprobar si SSL está activo visitando tu sitio web con https://tudominio.com.
🔹 Paso 4: Configurar la Renovación Automática
Let's Encrypt proporciona certificados válidos por 90 días, pero Certbot se encarga de renovarlos automáticamente.
Para asegurarte de que la renovación funciona, ejecuta:
sudo certbot renew --dry-run
Este comando simula una renovación para confirmar que funciona sin errores.
Comprobar si el cron job está activado:
Certbot instala una tarea automática en /etc/cron.d/certbot
, pero puedes verificarlo con:
systemctl list-timers | grep certbot
🔹 Paso 5: Reiniciar el Servidor Web
Cada vez que se renueva un certificado, es buena práctica reiniciar el servidor web para aplicar los cambios:
Para Nginx:
sudo systemctl reload nginx
Para Apache:
sudo systemctl reload apache2
🔹 Paso 6: (Opcional) Forzar HTTPS Manualmente
Si Certbot no configuró la redirección automática, puedes hacerlo manualmente:
Para Nginx: Edita el archivo de configuración del sitio:
sudo nano /etc/nginx/sites-available/default
Agrega esta configuración dentro del bloque server:
nginx
server {
listen 80;
server_name tudominio.com www.tudominio.com;
return 301 https://$host$request_uri;
}
Guarda los cambios (CTRL + X, Y, Enter) y recarga Nginx:
bash Copiar Editar sudo systemctl reload nginx Para Apache: Edita el archivo de configuración del sitio:
sudo nano /etc/apache2/sites-available/000-default.conf
Agrega esta línea dentro del bloque <VirtualHost *:80>:
Redirect "/" "https://tudominio.com/"
Guarda los cambios y reinicia Apache:
sudo systemctl reload apache2
✅ Conclusión Siguiendo estos pasos, habrás instalado y configurado un certificado SSL gratuito en tu servidor Ubuntu 22.04 con Let's Encrypt. Ahora tu sitio web será accesible de forma segura a través de HTTPS. 🚀