Skip to content

Instantly share code, notes, and snippets.

@Souler
Last active December 16, 2015 10:01
Show Gist options
  • Save Souler/802a55eeb3adf6452bcf to your computer and use it in GitHub Desktop.
Save Souler/802a55eeb3adf6452bcf to your computer and use it in GitHub Desktop.

RaspberryPI stack de desarrollo web

Resumen

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.

Stack

  • 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

Preparación

Material necesario

  • 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

Instalando en SO en la Raspberry Pi

Descargamos la ultima version de Raspbian Lite y seguimos la guia oficial para la instalación.

Montaje del escenario

  • 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

Accediendo remotamente 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.

Instalacion

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/

Referencias

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment