Prosody est un serveur Jabber/XMPP et qui est écrit en LUA . L’installation et la configuration est plutôt simple .
Comme d’habitude on se tape un bon apt
echo "deb http://packages.prosody.im/debian stable main" >> /etc/apt/sources.list apt-get update apt-get install prosody-0.9
Modifier le fichier prosody.cfg.lua
admins = { "[email protected]" } authentication = "internal_hashed" Include "conf.d/*.cfg.lua"
- Administrateur du serveur . Biensur vous pouvez en mettre plusieurs
- Authentification pour crypter celui-ci . Car par défaut le mot de passe est en clair …
- Include : Directory pour les vhosts
Comme pour apache nous allons définir les virtuals hosts
VirtualHost "domain.com" enabled = true -- Remove this line to enable this host ssl = { key = "/etc/prosody/certs/domain.com.key"; certificate = "/etc/prosody/certs/domain.com.cert"; } -- Set up a MUC (multi-user chat) room server on conference.example.com: Component "conference.robertain.com" "muc" restrict_room_creation = true modules_enabled = { "compression"; -- Enable mod_compression "privacy"; -- Salon Privee "announce"; --Broadcast message "saslauth"; "roster"; "tls"; "dialback"; "register"; } allow_registration = true min_seconds_between_registrations = 600
- VirtualHost : Nom de votre VirtualHost
- Enable : What The Fuck
- SSL : #OMG
- Component : Permet de définir une MUC
- Module_enable : Comme son nom l’indique . Vous en avez aussi dans la configuration globale
- Allow_registration : Autoriser les utilisateurs à créer des comptes sur votre serveur . Le module register doit être activé
- Restrict_room_creation : Un utilisateur ne peut pas créer une room. Plus bas nous verrons que cela pose problème
Maintenant il serait bien de pouvoir tester tout ca . Mais il faut bien créer au moins un utilisateur
prosodyctl adduser guest
Démarrer prosody
prosodyctl start
Pour vous connecter à votre serveur . Vous pouvez utiliser Gajim sinon pour les fainéants il y a le site de jappix.
Biensur vous avez un firewall
.#XMPP Prosody /LUA $IPT -A INPUT -i ${IFPUB} -p tcp --dport 5222 -j ACCEPT $IPT -A INPUT -i ${IFPUB} -p tcp --dport 5269 -j ACCEPT $IPT -A INPUT -i ${IFPUB} -p tcp --dport 5280 -j ACCEPT
Les informations des utilisateurs sont dans /var/lib/prosody/ . Si vous avez des problèmes de mémoire
.cd /etc/prosofy/ ln -s /var/lib/prosody/ accounts
Comme dit plus haut le paramètre « Restrict_room_creation » pose quelques problèmes. Dans mon cas j’interdis un utilisateur de créer une room afin d’empêcher le flood. L’inconvénient c’est que je souhaite avoir un salon permanent , c’est à dire un salon en permanence ouvert.
Dans la conf actuel seul l’admin peut créer un salon. Si un admin ne crée pas le salon [email protected] il est donc impossible pour un utilisateur d’accèder à ce salon c’est quand même dommage.
La solution que j’ai trouvé est depuis une dedibox avec le couple screen + irssi d’avoir un admin en permanence connecté .Rien de bien compliqué
apt-get install screen irssi-plugin-xmpp irssi
Je ne ferais pas un tuto sur screen. Ouvrir une fenetre screen
screen -S serveur
Puis lancer irssi
irssi
Maintenant il faut loader le module xmpp et passer à la configuration
/load xmpp /xmppconnect -host robertain.com [email protected] MotDePasse /join [email protected]
Super nous avons un salon permanent . Il doit exister une façon de le faire depuis prosody mais je n’ai pas réussi.
Sources
- http://doc.ubuntu-fr.org/prosody
- http://cybione.org/~irssi-xmpp/
- http://prosody.im/