Vamos a crear un pequeño servidor desarrollo de soluciones basadas en web. La idea es crear aplicaciones basadas en nodejs.
Como vamos a tener varias aplicaciones corriendo y paralelo y somos muy malos recordando que puerto es cada una de nuestras
apliciones, crearemos tambien un pequeño servidor DNS local que resolverá las peticiones destinadas a nuestro dominio .home
dentro de nuestra LAN. Además, como DNS no entiende de numeros de puertos usaremos nginx como servidor proxy para
redirigir el trafico IP en función del subdominio a través del que se acceda.
Por ultimo, dentro de nuestro mini-servidor prepararemos un servicio de git para tener nuestras aplicaciones versionadas y bajo control en todo momento.
- Sistema Operativo: Raspbian Jessie Lite (Kernel 4.1 / 2015-11-21)
- Servidor DNS: dnsmasq (2.72)
- Proxy web: nginx (v1.6.2)
- Backend de aplicaciones: nodejs (v4.2.3)
- Framework de persistencia para aplicaciones: forever
- Raspberry Pi
- Memoria SD/microSD de al menos 4GB recien formateada
- Fuente de alimentacion de 5V (y a poder ser 2A).
- Cable Ethernet
- Un PC en el que podamos conectar la SD anterior
- Un cliente de SSH como putty
- nmap
Descargamos la ultima version de Raspbian Lite y seguimos la guia oficial para la instalación.
- Insertamos la SD en la Raspberry PI
- Conectamos el cable Ethernet a la Raspberry Pi y al router
- Conectamos la alimentacion a la Raspberry Pi
Si tuvieramos una pantalla conectada a la RPi esto no sería un problema, ya que inmediatamente después de arrancar, muestra por pantalla su IP local, pero en este caso no es así, asi que tenemos que encontrar la IP. Para ello usaremos nmap.
Lanzamos el comando
sudo nmap -sP 192.168.1.0/24
Esto lanzará un ping a todas las IPs de la forma 192.168.1.X y mostrará su resultado por pantalla. La IP que estamos buscando tiene una MAC asociada que comienza por B8:27:EB, aunque nmap tambien indicará en la mayoria de los casos el nombre del fabricante como Raspberry Pi Foundation.
Empezamos por instalar lo básico
sudo apt-get install git
sudo apt-get install dnsutils
sudo apt-get install dnsmasq
sudo apt-get install nginx
wget https://nodejs.org/dist/v4.2.3/node-v4.2.3-linux-armv7l.tar.gz
tar -xvf node-v4.2.3-linux-armv7l.tar.gz
cd node-v4.2.3-linux-armv7l
sudo cp -R * /usr/local/
- https://help.github.com/articles/markdown-basics/
- https://www.raspberrypi.org/documentation/
- http://raspberrypi.stackexchange.com/questions/13936/find-raspberry-pi-address-on-local-network
- http://blog.wia.io/installing-node-js-v4-0-0-on-a-raspberry-pi/
- http://www.andrewoberstar.com/blog/2012/12/30/raspberry-pi-as-server-dns-and-dhcp