Mise en place de Prosody

Prosody serveur xmpp

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 = { "admin@domain.com" }
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 blog@conference.robertain.com 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 user@robertain.com MotDePasse
/join blog@conference.robertain.com

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

  1. http://doc.ubuntu-fr.org/prosody
  2. http://cybione.org/~irssi-xmpp/
  3. http://prosody.im/

Cet article Mise en place de Prosody est apparu en premier sur Guest Blog.

Vus : 1455
Publié par lmns972 : 24