Installation de Juggernaut sur Debian 6.0
De wikiGite
Sommaire
Présentation
https://github.com/maccman/juggernaut/
Juggernaut permet de raliser des connexions en temps réel entre un serveur et un navigateur web. Il permet le push d'informations dans des applications web, cela permet de realiser des choses comme des jeux multijoueurs, des chats ou des outils collaboratifs. Juggernaut est realisé à l'aide de Node.js.
ATTENTION juggernaut est déprecié : http://blog.alexmaccaw.com/killing-a-library
Debian
Préparation du serveur
Installation des outils nécessaires à l'installation de Juggernaut :
aptitude install build-essential php5-dev curl git
Installation de Nodejs
Installation des pré-requis :
aptitude install libssl-dev
Installation depuis les sources :
L'installation se fait /usr/local :
wget http://nodejs.org/dist/latest/node-v0.8.6.tar.gz tar xzf node-v0.8.6.tar.gz && cd node-v0.8.6/ ./configure --openssl-libpath=/usr/lib/ssl make make install
Installation de Redis
Ajouter le depot backport dans /etc/apt/source.list :
deb http://backports.debian.org/debian-backports squeeze-backports main
aptitude update aptitude -t squeeze-backports install redis-server
Démarrage du service redis server :
/etc/init.d/redis-server start
Installation de Node_redis
npm install -g redis
Installation de Phpredis
git clone https://github.com/nicolasff/phpredis.git cd phpredis phpize ./configure make make install
Activation de l'extension PHP : Créer un fichier redis.ini dans /etc/php5/conf.d avec le contenu suivant :
extension=redis.so
Installation de Juggernaut
npm install -g juggernaut
vim /etc/init.d/juggernaut
Copier le contenu suivant :
#! /bin/sh
### BEGIN INIT INFO
# Provides: juggernaut2
# Required-Start: $syslog $remote_fs
# Required-Stop: $syslog $remote_fs
# Should-Start: $local_fs
# Should-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: juggernaut2
# Description: juggernaut2
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/juggernaut
NAME=juggernaut2
DESC=juggernaut2
PIDFILE=/var/run/juggernaut.pid
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
touch $PIDFILE
chown juggernaut:juggernaut $PIDFILE
if start-stop-daemon --start --quiet --background --umask 007 --make-pidfile --pidfile $PIDFILE --chuid juggernaut:juggernaut --exec $DAEMON
then
echo "$NAME."
else
echo "failed"
fi
;;
stop)
echo -n "Stopping $DESC: "
if start-stop-daemon --stop --retry 10 --quiet --oknodo --pidfile $PIDFILE
then
echo "$NAME."
else
echo "failed"
fi
rm -f $PIDFILE
;;
restart|force-reload)
${0} stop
${0} start
;;
status)
echo -n "$DESC is "
if start-stop-daemon --stop --quiet --signal 0 --name ${NAME} --pidfile ${PIDFILE}
then
echo "running"
else
echo "not running"
exit 1
fi
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
adduser --system --no-create-home --disabled-login --disabled-password --group juggernaut chmod +x /etc/init.d/juggernaut update-rc.d -f juggernaut defaults
Tester le fonctionnement de Juggernaut : </br> http://localhost:8080