Let’s Encrypt es una Autoridad Certificadora (CA) que proporciona de manera sencilla la obtención de certificados TLS/SSL gratuitos permitiendo así HTTPS en servidores web.
En este tutorial se explicará como instalar NGINX como servidor web en el sistema Ubuntu y luego añadir un certificado con Let’s Encrypt. Posteriormente como renovar automáticamente su certificado SSL y todo este proceso se usará un Ubuntu 22.04 LTS utilizando root, aunque es utilizable en versiones posteriores de Ubuntu.
Aunque recuerda que tienes disponible la Imagen preinstalada de LEMP (Linux, Nginx, MySQL y PHP) en Clouding, puedes utilizarla para crear un servidor Web con NGINX y no realizar la instalación manualmente.
Requisitos
Los requisitos para continuar con este tutorial es importante tener primero acceso root del servidor VPS. También es importante tener un dominio/registro que esté apuntando al servidor de Clouding. Además, el dominio tiene que tener un registro tipo A para que el proceso de creación del certificado funcione correctamente.
Si quieres crear un certificado para más de un registro, como por ejemplo, example.com y www.example.com es necesario tener ambos registros creados en los servidores de nombre del dominio.
Instalación del servidor web Nginx
El primer paso es instalar Nginx:
# apt-get install nginx
Seguidamente inicialó y actívalo para el arranque en el inicio del sistema:
# systemctl start nginx && systemctl enable nginx
Configuración Nginx
Ahora configura el espacio web, donde tendrás la configuración de la web. Puedes crear una copia de la configuración por defecto:
# cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com.conf
Y posteriormente edita el fichero de configuración creado:
# nano /etc/nginx/sites-available/example.com.conf
Para modificar la ruta del directorio Web en el parámetro root y añadir los registros en server_name:
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/html/example.com/www;
Guarda los cambios y crea el directorio Web:
# mkdir -p /var/www/html/example.com/www
Una vez creado, activa la configuración del sitio de NIGNX:
# ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled
Luego comprueba la configuración, debe mostrar "syntax is ok":
# nginx -t
Por último, en caso afirmativo termina la configuración de NGINX reiniciándolo para que tenga efecto los cambios realizados:
# systemctl restart nginx
Instalación y configuración de Let’s Encrypt con Nginx
Ahora toca configurar Nginx para que adquiera el certificado creado por Certbot y así poder usar los certificados que proporciona Let’s Encrypt. Para ello tienes disponible un artículo que especifica como adquirirlo e instalarlo en NGINX:
A continuación tienes el procedimiento resumido:
Instalación de Certbot para NGINX:
Primero deberás instalar los paquetes necesarios de Certbot:
# apt update && apt install python3-certbot-nginx -y
Adquisición del certificado SSL y configuración automática:
Para obtener el certificado y modificar automáticamente la configuración de NGINX, tendrás que ejecutar lo siguiente modificando los registros de ejemplo y/o añadiendo más si es necesario:
# certbot --nginx -d example.com -d www.exemple.com
Confirma que se ha realizado correctamente la autoconfiguración accediendo a tu registro con HTTPS desde un navegador y que aparezca el certificado válido. También puedes utilizar SSL Checker o un SSL Server Test para verificar el certificado Let's Encrypt.
Renovación del certificado
Si has seguido este procedimiento, el propio Certbot se encargara de la auto renovación del certificado y no debes preocuparte por ello (tienes más información en el artículo enlazado anteriormente).
Esperamos haberte ayudado con este tutorial 🙂. Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites!