Migration sur prosody

Introduction

Suite à un article de rom1v, j'ai décidé de migrer mon serveur jabber. J'avais déjà entendu parler de prosody, mais ejabberd me convenait. Cependant ejabberd est lourd, pas forcément très agréable à administrer et configurer, et plus complexe.

Présentation

Prosody est serveur jabber de messagerie instantanée développer en Lua. Ses avantages sont notammentet léger et peut consommateur, et facile d'utilisation.

Migration

J'ai décidé de migrer lorsque j'ai eu un soucis avec ejabberd que j'ai eu du mal à résdoure, beaucoup de mal, le problème était que le serveur ne voulait tout simplement plus se lancer, et ce n'était pas la première fois, du je pense à une mauvaise configuration. Il reste que c'est un très bon logiciel, qui offre un grand nombre de fonctionnalité, mais qui demande beaucoup de temps pour être utiliser correctement, et aussi pas mal de maintenance, certainement un peu trop pour un petit serveur. J'ai vu l'article de rom1v et j'ai été séduit par la simplicité d'utilisation et de mise en oeuvre. C'est je dirai limite vraiment trop simple et donc pas très amusant. J'ai du mettre peut-être 15 minutes pour la mise en place du serveur. Le temps de lire un peu de documentation.

Installation

Bien que je sois depuis quelques temps un utilisateur de arch, j'ai décidé de continuer à utiliser Debian sur mes serveurs pour sa stabilité, mais l'installation ne sera pas plus difficile quelque soit la distribution utilisé.

apt-get install prosody

Voilà prosody est installé, nous allons maintenant passer à sa configuration.

Configuration

Nous allons commencer par définir le Host qui sera utilisé utilisé pour les addresses. Il est possible de configurer plusieurs host. Les options de configuration seront différentes pour chacun des hosts. Nous allons donc ouvrir le fichier de configuration /etc/prosody/prosody.cfg et éditer la ligne concernant le host:

Host: "domaine.com"

Remplacer domaine.com par votre domaine. Ensuite, il faudra modifier la valeur enabled pour rendre le domaine actif, autrement ça risque de ne pas fonctionner.

enabled = true

Il est aussi possible d'indiquer un timeout pour les clients non authentifié afin d’éviter une éventuelle surcharge de connexions:

c2s\\_timeout = 120

Il sera aussi possible d'activer la création ou non de nouveaux comptes via un client jabber, n'importe qui pourra créer un compte si l'option est à true:

allow\\_registration = false;

Un certainement nombres d'autres options sont possible, je laisserai les gens approfondir selon leurs propres besoins.

Certificat

Il y a un certficat qui créé par défaut, cependant les champs sont avec des valeurs non pertinentes, il faudra donc en créer un nouveau.

Placer vous directement dans le répertoire /etc/prosody/certs puis exécuter la commande openssl, des questions seront posées:

openssl req -new -x509 -nodes -out domaine.cert -keyout domaine.key

Il faudra ensuite de nouveau éditer le fichier de configuration pour remplacer les lignes contenant les chemin pour le certificat:

ssl = {
  key = "/etc/prosody/certs/domaine.key";
  certificate = "/etc/prosody/certs/domaine.cert";
}

Ouvrir les ports

Si ce n'est pas déjà, il faudra ouvrir les ports TCP qui vont bien, c'est-à-dire 5222 et 5269.

iptables -A INPUT -p tcp --dport 5222 -j ACCEPT
iptables -A INPUT -p tcp --dport 5269 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 5269 -j ACCEPT

Un exemple pour iptables. Le port 5222 sert à la connexion des clients au serveur, et le port 5269 à la communication entre les serveurs.

Ajouter des contacts

Maintenant que la configuration du serveur est terminé, il est possible de créer des comptes sur le serveur.

prosodyctl adduser user@domaine.com

Le mot de passe pour l'utilisateur sera demandé au passage. Si l'option allow_registration est active, il est possible d'utiliser n'importe quel client pour créer un compte.

Il est aussi possible de supprimer un utilisateur:

prosodyctl deluser user@domaine.com

Ajouter de component

Nous pouvons souhaiter ajouter des services supplémentaires que le serveur pourra fournir. Ainsi il est par exemple possible d'ajouter le composant muc qui permet de rendre disponible les chatroom c'est-à-dire les canaux multi-utilisateur, cela-dit irc le fait très bien.

Component "conference.domaine.com" "muc"

Démarrer le serveur

Maintenant, la dernière étape et de bien-sûr démarrer le serveur.

prosodyctl start

ou

sudo /etc/init.d/prosody start

Configuration d'un client

La configuration d'un client ce fait comme pour tous serveurs jabber, dans pidgin par exemple, choisir le protocole xmpp.

Bakcup

Les données sont stockées dans des fichiers plat, ce qui facilite leur sauvegarde et redeploiment. Ils se trouvent dans le répertoire /var/lib/prosody, si vous utilisez un logiciel de backup penser à ajouter ce répertoire, autrement n'oublier de régulièrement sauvegarder ce fichier d'une manière quelconque.

Etats de mon serveur

Je n'ai pas jugé utile d'activer la possibilité de créer des comptes, mais si ça peut intéresser des gens, faites le moi savoir. Je tâcherai dans cas de garantir une certaine disponibilité, et ferai des annonces en cas de mise à jour, migration ou problème sur le serveur qui entraînerait une indisponibilité pour un certain temps.

Conclusion

Je suis très content de prosody et me voit soulager en terme de maintenance, c'est un très bonne exemple de logiciel écrit dans le langage Lua, qui est très agréable à configurer. Je le recommande pour quiconque souhaiterai hébérger son serveur jabber.

Drapeau EnProsody

Vus : 1315
Publié par Hobbestigrou : 195