Primero asumimos que ya tienes una sitio web habilitado con apache2 y que los tenemos como en un servidor con el protocolo HTTP. Comenzamos
apt update
Instalamos el paquete snapd
apt install snapd
snap install core
snap refresh core
sudo snap install --classic certbot
Ponemos certbot a disposición de todo el sistema
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Ahora vamos a configurar el certificado SSL, para esto debemos entrar a la siguiente ruta donde tenemos nuestros sitio disponibles de apache y editar nuestro archivo .conf
cd /etc/apache2/sites-available/your_domain.conf
nano /etc/apache2/sites-available/your_domain.conf
Aumentamos la siguiente línea en nuestro archivo de configuración
ServerName your_domain
Despues chequeamos que todo este ok con el comando
sudo apache2ctl configtest
El resultado debería ser el siguiente
Syntax OK
si este no es el resultado habrá que revisar la sintaxis del los ficheros .conf. Una vez conseguido el resultado requerido, recargamos apache
sudo systemctl reload apache2
Lo siguiente será configurar el firewall UFW si no lo tienes instalado lo deberás instalar, es un proceso muy sencillo
sudo ufw allow 'WWW Full'
sudo ufw delete allow 'WWW'
Una vez hayamos configurado el firewall solo queda obtener nuestro certificado SSL
sudo certbot --apache -d your_domain -d www.your_domain
Si todo salió bien deberías obtener una output asi:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/your_domain/fullchain.pem
Key is saved at: /etc/letsencrypt/live/your_domain/privkey.pem
This certificate expires on 2022-10-31.