Categories
Linux social Web

[HowTo] Installer Diaspora, le pseudo futur de FaceBook, sous Debian

Edit: Plus de 2ans après la redaction de cet article, quid de cette solution?
Et bien on ne peu pas dire que le développement aille vite, même si le déploiement public est enfin là (2ans de retard).

Le plus gros problème de FaceBook : La confidentialité et l’appartenance de vos données personnelles:

Ce sont ces points noirs que Diaspora tente de combler. Ce nouveau réseau social, à ce jour encore en phase de test, rejoint les principes du P2P en les adaptant aux réseaux sociaux.
Vous êtes entièrement maître de vos données.

En bref, vos données sont hébergées en “cloud”.

Trêve de bavardages et place au concret, on reparle de tout ça à la fin de cette installation !

Disapora est écrit en Ruby et en Javascript, il vous faut donc installer Ruby, le serveur MongoDB, ImageMagick ainsi que leurs dépendances.

La bonne nouvelle c’est que tous les paquets sont disponibles pour Debian Sid, la mauvaise c’est qu’il faut tout se taper à la main si comme moi vous êtes sous Lenny.

Sous Debian Sid

aptitude install build-essential libxslt1.1 libxslt1-dev libxml2
aptitude install ruby-full
aptitude install mongodb
aptitude install rubygems
aptitude install imagemagick

Sous Debian Lenny

Installation de  Ruby

install build-essential libssl-dev libreadline5-dev zlib1g-dev checkinstall
wget ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz
tar xvzf stable-snapshot.tar.gz
cd ruby/
sh configure && make && make install

Installation de  RubyGems

aptitude install ruby libzlib-ruby rdoc irb
wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz
tar zxvf rubygems-1.3.7.tgz
cd rubygems-1.3.7.tgz
chmod +x setup.rb
ruby setup.rb all

Installation de MongoDB

Quelques mots sur MongoDB:
C’est un gestionnaire de base de données NoSQL, orienté Document. On parle ici de base SchemaLess, car nous n’avons pas besoin de scripts SQL pour créer et définir la structure des données. Pas de SQL ici, uniquement des données sous forme de Hash.

wget http://downloads.mongodb.org/linux/mongodb-linux-i686-1.4.0.tgz
tar zxvf mongodb-linux-i686-1.4.0.tgz
cd mongodb-linux-i686-1.4.0
mkdir -p /data/db
sh configure && make && make install

Et on lance le daemon

bin/mongod &

Vérifiez que tout marche à l’adresse http://localhost:27017

Installation de Git

wget http://kernel.org/pub/software/scm/git/git-1.7.2.3.tar.bz2
tar xjvf git-1.7.2.3.tar.bz2
cd git-1.7.2.3.tar.bz2
sh configure && make && make install

Suite de l’installation (Sid & Lenny)

On installe Bundler avec Rubygems grâce à la commande “gem”

Quelques mots sur Bundler :
Il permet d’installer les gems dont dépend un projet, ici “diaspora”.
C’est un gestionnaire de gems pour un projet Rails. En bref, il permet de gérer les dépendances d’une application Ruby au cours de sa vie.

gem install bundler

Ensuite créons un clone du dépôt de Diaspora :

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

Lors du premier lancement, nous devons installer les dépendances liées à Diaspora :

bundle install

On lance le serveur Thin pour Diaspora:

bundle exec thin start

A ce stade Diaspora est disponible en local sur votre serveur. Vous pouvez par exemple le consulter avec Lynx ou directement avec un navigateur graphique à l’adresse http://localhost:3000 si vous utilisez une interface graphique.

Pour aller plus loin

Y accéder en local c’est bien, mais l’ouvrir à l’extérieur : c’est mieux.

Pour ça j’ai pensé à mettre en place un proxy avec Apache, il existe surement plus simple, (comme paramétrer Thin directement) mais je ne connais pas grand chose à ce serveur , et pour être honnête, j’ai un peu la flemme de me pencher sur le problème.

Nous allons donc commencer par activer le mode proxy d’apache:

a2enmod rewrite proxy proxy_http

On crée le VirtualHost

nano /etc/apache2/sites-available/diaspora
<VirtualHost *:80>  ServerAdmin mail@mail.com ServerName nomdedomaine.tld  ServerAlias nomdedomaine.tld <Proxy *>  Order deny,allow  Allow from all  </Proxy> ProxyPass / http://127.0.0.1:3000/  ProxyPassReverse / http://127.0.0.1:3000/ </VirtualHost>

On active le nouveau site :

a2ensite diaspora

et on restart apache :

/etc/init.d/apache2 restart

Maintenant, tout devrait fonctionner comme il se doit.

Enjoy

Edit :
Merci à Kaoo et zigazou pour l’ajout et la correction de détails techniques.
Ainsi qu’àBZ_ElevenOClockHikaru_, Yorin_x et fadouce pour les détails orthographiques.

Leave a Reply

Your email address will not be published. Required fields are marked *