Como Programar Facebook Apps LOCALMENTE

Lo mas que odiaba de programar aplicaciones de Facebook era que tenia que “setiar” un repositorio en un server con unos “hooks” para que cada vez que hiciera commit desde mi laptop, los cambios se reflejaran en el servidor. La verdad es que esto funciona pero después de una sesión de unas cuantas horas se vuelve agotador. Mas aun cuando solo estas probando cambios simples.

Durante FOWA Miami 2010, en el workshop de Facebook me hablaron de una forma de hacer un ssh tunnel con un servidor. Basicamente la idea es que desde tu laptop o ambiente de programación te conectas via ssh a un servidor publico y re-diriges un puerto remoto a un puerto local en tu maquina. Después de un poco de “trial and error” logré ponerlo a funcionar y es bastante sencillo.

  1. Debes conectarte al servidor que vas a usar de intermediario (example.com) y editar el archivo que se llama /etc/sshd_config. Busca la linea que dice #GatewayPorts no y remueve el # y cambia a yes. Debe quedar GatewayPorts yes. Ahora restart el servicio de ssh, service sshd restart.
  2. En tu maquina local entra el siguiente comando ssh -gNR 8080:localhost:8888 [email protected]. Este comando lo que hace es crear un “reverse ssh tunnel”. En otras palabras nos conectamos al server example.com usando el usuario user y le decimos que todos los requests que lleguen al puerto 8080 los enviemos al puerto 8888 de la maquina que inicia la conexión, en este caso nuestra maquina local.

Listo eso es todo ahora todos los requests que lleguen a example.com:8080 van a llegar a nuestra computadora local. Una vez acabemos con el development presionamos ctrl+c y se acabó el tunel.

Recursos

http://bit.ly/auqVoK
http://bit.ly/9dmC5y