Entradas

Mostrando entradas de marzo, 2020
Imagen

Proyecto domótica PARTE 6 - Instalar herramientas de producción de software

Las siguientes herramientas de producción de software nos permiten dotar a la Raspberry Pi de poder ejecutar las mismas aplicaciones que encontramos en cualquier servidor web.  6.1 Instalar la herramienta de control de version Git Hoy en día Git se ha vuelto la herramienta más popular para el control de versiones de archivos y de proyectos en si, aunque no desarrollaremos directamente sobre el servidor es necesario instalarla, ya que el código fuente será alojado en algún sitio compatible con Git. Y usaremos las funciones de "clone y pull" para mantener el proyecto actualizado. Para instalar ejecutaremos el siguiente comando: sudo apt install git Al instalar me percaté que ha venido instalada por defecto o lo ha hecho automáticamente con la actualización. De todas formas si queremos corroborar la instalación de Git o verificar la versión que tenemos instalada, ejecutar el siguiente comando: git --version 6.2 Instalar Node Version Manager   El le...
Imagen

Proyecto domótica PARTE 5 - Conexión segura mediante SSL

Hasta este punto ya deberíamos ser capaz de llegar a nuestro servidor por medio del dominio dinámico que hemos comprado y/o configurado. El siguiente paso es generar un certificado SSL que permite realizar una conexión cifrada y segura para las conexiones que se realicen hacia el servidor a través de la web. 5.1 Instalación de Certbot Certbot es un software que mediante un sistema de desafío permite validar la propiedad de tu dominio, generando los archivos de firma necesarios para levantar un servidor web seguro (HTTPS). Existen dos formas de realizar este desafío, en forma automatizada (Certbot levanta un servidor web o utiliza uno existente, y coloca ciertos archivos que son usado como clave para validar la propiedad) y la otra opción es en forma manual (agregando a mano registros de DNS). Acá indicaremos ambas formas para lograr el desafío. 5.1.1 Agregar repositorio sudo add-apt-repository ppa:certbot/certbot Presionar enter para continuar con la instala...
Imagen

Proyecto domótica PARTE 4 - Acceder al servidor por medio de un DNS Dinámico

Dado que las empresas proveedoras de internet entregan una dirección IP dinámica (ya que cambia cada vez reiniciamos el router, o cada cierto periodo de tiempo que generalmente son máximo un par de días) por ello es necesario establecer un dominio que permita actualizarse en forma inmediata cuando nuestra dirección IP pública cambie. El siguiente diagrama muestra la estrategia a utilizar, se creará un programa que se ejecutará en la Raspberry Pi cada 1 hora y verificará la dirección de IP pública, si detecta un cambio la actualizará en el dominio. 4.1 Comprar un dominio dinámico Son muchas las empresas que venden dominios o subdominios dinámicos, las más populares son noip.com y dyn.com, también se pueden conseguir en forma gratuita, sin embargo es necesario estar validando constantemente la cuenta para continuar con el servicio, lo que con el tiempo se vuelve algo muy tedioso. En mi caso opté por comprar un dominio en Google Domains, ya que los valores son muy econó...
Imagen

Proyecto domótica PARTE 3 - Configurar dirección IP fija en Ubuntu Server y re-dirigir puertos en el router

Para continuar con la propuesta de infraestructura representada en el diagrama, es necesario publicar nuestro servidor a travez de un dominio. Pero como es muy probable que nuestro proveedor de internet no nos entregue una dirección IP fija para configurar nuestro dominio, será necesario desarrollar una estrategia que permita sobrepasar este problema. Lo primero que se debe hacer es establecer una dirección IP fija en el servidor, para poder conectarnos de manera directa por medio de nuestra red local. 3.1 Configuración IP fija en el servidor (no usar DHCP del router). Para ello, como estamos usando Ubuntu es necesario ejecutar los siguientes pasos. 3.1.1 Localizar archivo de configuración de red, se debe abrir una terminal de la Raspberry Pi y posicionarse en el directorio netplan, para luego ejecutar el comando que lista archivos:  cd /etc/netplan/ ls Se mostrará el archivo de configuración actual, en mi caso este archivo esta nombrado "50-cloud-init.yaml...