Instalando Diaspora en Debian Lenny

El día de ayer se hizo público el código alpha de Diaspora, una aplicación Open Source que promete terminar con el reinado de Facebook en las redes sociales permitiendo que cualquiera (con acceso a un servidor conectado a Internet) pueda establecer un nodo propio dentro de una red federada que permitiría en principio el mismo tipo de servicios actualmente presentes en Facebook.

El software que está desarrollado en Ruby y hace un uso intensivo de JavaScript en el front-end, utiliza como motor de base de datos MongoDB. Cada uno de los nodos de esta red federada recibe el nombre de "pod", el código así como instrucción sobre como instalar Diaspora en un servidor propio está disponible en GitHub.

He conseguido levantar un servidor virtual para probar Diaspora, accesible en está dirección http://diaspora.volkanrivera.com/ (UPDATE: he deshabilitado el servicio por problemas con la escalabilidad), cualquiera que lo desee usar es libre de hacerlo, pero debe tener presente que debido a las posibles vulnerabilidades existentes aún en esta versión la información que se consigne alli debe ser considerada para todo fin como información pública. Si desean registrarce directamente en mi servidor de pruebas pueden ir a este URL.

El OS que he utilizado para instalar Diaspora es Debian Lenny (a.k.a. 5.0), y he encontrado algunos problemillas al momento de la instalación que he logrado superar exitosamente.

Aquí los pasos para instalar Diaspora (recurde que para hacer la instalación necesita privilegios de root):

Primero instalemos los pre-requisitos:

# apt-get install build-essential libxslt1.1 libxslt1-dev libxml2

# apt-get install imagemagick libmagick9-dev

# apt-get install ruby-full

# apt-get install git-core

Para instalar MongoDB debemos de editar el archivo /etc/apt/sources.list y agregar esta línea:

deb http://downloads.mongodb.org/distros/debian 5.0 10gen

Ahora debemos actualizar el sistema de paquete e instalr MongoDB:

# apt-get update

# apt-get install mongodb-stable

 Luego debemos de instalr Gems desde las fuentes porque el paquete incluído en los repositorios de Debian es muy obsoleto y necesitamos al menos la version 1.3.6 para correr Diaspora. Aquí como instalar Gems desde las fuentes:

# cd /usr/src/

# wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz

# tar -zxvf rubygems-1.3.7.tgz

# cd rubygems-1.3.7

# ruby setup.rb

Ahora podemos instalar Bundler, un administrador de paquetes Ruby que hara el trabajo de instalar Diaspora y todos los módulos que necesite:

# gem install bundler

# ln -s /var/lib/gems/1.8/bin/bundle /usr/local/bin/bundle

Listo ahora si podemos instalar Diaspora propiamente dicho:

# cd /usr/local/

# git clone http://github.com/diaspora/diaspora.git

# cd diaspora

# cp config/app_config.yml.example config/app_config.yml

En este pundo ya tenemos diaspora instalado en nuestro servidor, pero habrá que editar app_config.yml con el nombre de dominio adecuado e iniciar manualmente Diaspora, lo cual podremos hacer de esta forma:

# cd /usr/loca/diaspora

# bundle exec thin start&

# ruby ./script/websocket_server.rb&

# bundle exec magent start –log-path=log/&

Recuerde poner el símbolo "&" al final de cada línea, no es un error tipográfico es necesario para lanzar la aplicación en segundo plano.

Luego de hacer lo anterior observaremos que Diaspora está corriendo en el puerto 3000, si queremos que acepte solicitudes en el puerto 80 podemos hacerlo usando apache como un proxy/load balancer, detalles de como hacer esto usando Apache se puede encontrar en este URL.

Si desean usar la DB de prueba que incluye diaspora deben instalar rake de esta forma:

# gem install –remote rake

Y luego ejecutar este comando:

# rake db:seed:dev

Ahora podría loguearse a su instalación local de diaspora usando el usuario "tom" y el password "evankorth". Espero que este tutorial haya sido de utilidad para todos Uds. y espero sus comentarios.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.