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. 🚀