Palabre est un script écrit en Python mettant en place un serveur XMLSocket. Ce type de service est particulièrement utile dans le cadre du déploiement d’applications développées en Flash de manière distribué (système de chat notamment).
Installation du serveur
L’installation du serveur est assez simple et se passe de cette manière :
- cd ~
- wget http://palabre.gavroche.net/download/palabre-server-0.6b/palabre-src-0.6b.tar
- tar -xvf palabre-src-0.6b.tar
- # On vérifie que Python est déjà installe
- sudo apt-get install python python-xml
- # On installe le serveur proprement
- cd palabre-src-0.6b
- sudo python setup.py install
Dorénavant on peut lancer le serveur avec la commande :
- sudo palabre start
Et l’arrêter avec :
- sudo palabre stop
Configuration
Le serveur est dorénavant installé correctement, reste à le configurer correctement pour un usage simple. On ouvre donc son fichier de configuration :
- sudo nano /etc/palabre.conf
et on change les lignes suivantes :
- # On active le serveur en démon
- #startdaemon = false
- startdaemon = true
- # On change les ips autorisées pour que tous les clients puissent y avoir accès
- # ip = 127.0.0.1
- ip = all
- # On log les connexions dans un fichier
- # logfile =
- logfile = /var/log/palabre.log
- # On modifie les domaines autorisés (mettez vos noms de domaine ici)
- # alloweddomains = domainthatdoesnotexist.bar otherinexistantdomain.foo
- alloweddomains = mondomaine.com
- # On désactive le fait de vérifier les mots de passe
- # checkpassword = true
- checkpassword = false
- # On désactive les plugins inutiles
- # list = dbQueries,helloworld,simpleLogin
- list =
Démarrer le serveur au démarrage de la machine
Pour une utilisation serveur, il est nécessaire de pouvoir démarrer le programme au démarrage de la machine et l’arrêter à son extinction afin d’éviter au maximum les interventions manuelles en cas de reboot ou autre.
Palabre ne fournit pas de script de démarrage, donc en voici un fonctionnel sous Debian.
- #!/bin/bash
- #
- # Init file for the Palabre server
- #
- # description: Starts a XMLSocket server called Palabre
- #
- # processname: palabre.py
- ### BEGIN INIT INFO
- # Provides: palabre
- # Required-Start: $syslog
- # Required-Stop: $syslog
- # Should-Start: $network
- # Should-Stop: $network
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Palabre - XMLSocket server
- # Description: Palabre provide a XMLSocket server.
- ### END INIT INFO
- # Source function library.
- . /lib/lsb/init-functions
- NAME=palabre
- DESC="Palabre server"
- # Pid file
- PIDFILE="/var/run/$NAME.pid"
- [ "$NETWORKING" = "no" ] && exit 0
- [ -f "$DAEMON" ] || exit 1
- RETVAL=0
- start() {
- echo -n "Starting $DESC: "
- palabre start
- echo "$NAME."
- }
- stop() {
- echo -n "Stopping $DESC : "
- palabre stop
- echo "$NAME."
- }
- restart() {
- palabre restart
- }
- status() {
- PID=$(cat $PIDFILE)
- if [ -n "$PID" ]; then
- log_success_msg "$DESC is running (pid $PID)."
- exit 0
- else
- log_failure_msg "$DESC is not running."
- exit 1
- fi
- }
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- status)
- status
- ;;
- restart|reload)
- restart
- ;;
- *)
- echo "Usage: palabre {start|stop|status|restart}"
- RETVAL=1
- esac
- exit $RETVAL
Pour l’installer proprement, il suffit de copier le contenu dans un fichier :
- nano ~/palabre.init
- # Puis coller le contenu du fichier d'init
Puis d’installer proprement le script d’initialisation :
- sudo cp ~/palabre.init /etc/init.d/palabre
- sudo chmod +x /etc/init.d/palabre
- sudo update-rc.d palabre defaults
Les actions suivantes sont alors disponibles :
- # Lancement du serveur
- sudo /etc/init.d/palabre start
- # Extinction du serveur
- sudo /etc/init.d/palabre stop
- # Redémarrage du server (stop/start)
- sudo /etc/init.d/palabre restart
- # Obtenir le statut du serveur
- sudo /etc/init.d/palabre status
Le serveur Palabre sera également lancé au démarrage de la machine et éteint proprement à son extinction.
Ressources :
- Le site officiel de palabre