Présentation

Pump.io est un serveur libre dĂ©centralisĂ© pour crĂ©er un rĂ©seau social basĂ© sur les flux d’activitĂ©.

Il est écrit en javascript et est très puissant.

Installation

Je vous donne ici les points clés pour installer les différents services.

Les étapes pour installer un serveur pump.io dépendent de votre choix parmi plusieurs possibilités de serveur de base de données, de manière de délivrer les pages web (via proxy ou non puisque pump.io utilise le port 80 par défaut), etc.

Voici MES choix :

Redis

Sur Xubuntu (11.04 il me semble) :

apt-get install redis

Nodejs + npm

wget http://nodejs.org/dist/v0.8.23/node-v0.8.23.tar.gz
tar xvf node-v0.8.23.tar.gz
cd node-v0.8.23
./configure
make
make install
make test

Pump.io

mkdir /var/www/pump && cd /var/www/pump
git clone https://github.com/e14n/pump.io
cd pump.io
npm install

Dépendances supplémentaires

Installation :

npm install -g bunyan
npm install -g forever
cd /var/www/pump/pump.io/node_modules/databank && npm install databank-redis

Configuration

cp /var/www/pump/pump.io/pump.io.json.sample /etc/pump.io.json

Éditer le fichier pump.io.json:

{
    "driver":  "redis",
    "params":  {"host": "localhost","port":6379},
    "secret":  "ma super clef de 10 000 lettres",
    "noweb":  false,
    "site":  "Super site pump.io",
    "owner":  "Moi MEME",
    "ownerURL":  "http://moi-meme.fr/",
    "port":  80,
    "hostname":  "pump.moi-meme.fr",
    "address":  "192.168.1.10",
    "nologger":  false,
    "serverUser":  "daemon",
    "uploaddir": "/var/www/pump/pump.io/uploads",
    "debugClient": false,
    "firehose": "ofirehose.com",
    "noCDN":true,
    "requireEmail": false,
    "disableRegistration": false,
    "canUpload": true,
    "sockjs": true
}

On crée le dossier uploads :

mkdir /var/www/pump/pump.io/uploads && chown daemon /var/www/pump/pump.io

On teste ensuite le serveur :

/var/www/pump/pump.io/bin/pump

(pour arrĂŞter : touches [Ctrl] + [C])

CrĂ©er un script d’initialisation /etc/init.d/pump sous Ubuntu :

#!/bin/bash
### BEGIN INIT INFO
# Provides:          pump
# Required-Start:    $remote_fs $syslog $network $time
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

set -e

daemon_name=pumpd
logfile=/var/log/pumpio/pumpd.log
pump_location=/var/www/pump/pump.io

case "$1" in
  start)
    echo "Starting pump.io Daemon"
    forever ${pump_location}/bin/pump &>$logfile &
    ;;
  stop)
    echo "Stopping pump.io Daemon"
    pkill -f ${pump_location}/bin/pump &> /dev/null
    ;;
  restart)
    $0 stop
    sleep 5
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"
esac
exit 0

On le rend exécutable :

chmod +x /etc/init.d/pump

Puis on le rend utilisable Ă  chaque lancement de la machine :

update-rc.d pump defaults

Créer le dossier pour la journalisation :

mkdir -p /var/log/pumpio/
chown daemon /var/log/pumpio -R

Liens