# Para crear un servicio nuevo

En **/etc/nginx/sites-available** hay un fichero llamado *plantilla.conf*

Hay que copiar este fichero a otro con el nombre del servicio, por ejemplo, *calibre.conf*

En el fichero calibre.conf hay que cambiar el nombre del dominio, en este caso a calibre.reymota.es

En es mismo fichero hay que poner el puerto **NodePort** que tiene asociado nuestro servicio en kubernetes.

Se guarda el fichero y se crea un enlace simbólico en **/etc/nginx/sites-enabled**

    ln -s /etc/nginx/sites-available/calibre.conf /etc/nginx/sites-enabled

y se reinicia nginx

    systemctl restart nginx


Luego, en **IONOS** hay que crear un registro A en la pestaña DNS de nuestro dominio y que apunte a la ip pública

Con esto ya podríamos acceder a nuestro servicio, pero sin HTTPS.

# Instalar el certificado let's encrypt

Para instalar el certificado let's encrypt hay que llamar a 

    sudo certbot --nginx

La fuente es [esta](https://blog.tekspace.io/how-to-setup-lets-encrypt-ssl-certificate-with-nginx-on-ubuntu-22-04/)

nos pedirá sobre qué dominio lo queremos hacer y nos ofrecerá las opciones que no son más que los que hayamos puesto en **/etc/nginx/sites-enabled**

Una de las preguntas es: 

    Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.

    1: No redirect - Make no further changes to the webserver configuration.
    2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. 

hay que elegir la **2**.

Una vez hecho ya funcionara con https.

Por último, para que nuestra dirección pública sea vista por ionos hay que registrarla para es dominio.

Esto se hace con 

    domain-connect-dyndns setup --domain calibre.reymota.es

el resultado es un enlace para que lo abramos en el navegador y autoricemos la asociación entre el dominio y nuestra IP pública. 

Entramos en sesión si no lo estamos ya y le damos a permitir. Esto nos garantiza el acceso y nos da un código que hay que copiar y pegar en la petición
que nos está haciendo domain-connect-dyndns

Listo. El resultado se ha escrito en un fichero en el mismo directorio desde donde se lanza el programa.

Debería de estar en /root/dydns. El fichero se llama settings.txt y tiene que tener todos los dominios que hemos asociado a la ip pública.

¡ojo! el fichero settings.txt se borra antes de rellenarlo con el nuevo valor. hay que ejecutar el comando fuera del directorio /root/dynds y luego añadir el resultado al fichero /root/dyndns/settings.txt

finalmente, hay que estar vigilando que las ip pública no cambie y que si lo hace se ajuste oportunamente. Para ello se añade un crontab


# para IONOS, para que los dominios apunten a mi red

    */1 * * * * /usr/bin/flock -n /tmp/ipupdate.lck /usr/local/bin/domain-connect-dyndns update --all --config /root/dyndns/settings.txt


Puede ser en el usuario creylopez (crontab -e), por ejemplo.
