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 :
- base de donnée REDIS
- serveur pump.io
- délivrance des pages web directement sur le port 80
- utilisation d’un proxy pour l’accès via l’extĂ©rieur
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
- bunyan (nodejs)
- forever (nodejs)
- databank-redis
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