Héberger un serveur Jabber simplement (prosody)
J’ai enfin décidé d’héberger mon propre serveur Jabber, pour plusieurs raisons :
- la liste de mes contacts est mieux sur mon serveur que sur un autre ;
- le serveur que j’utilisais (jabber.fr) rencontre parfois quelques difficultés ;
- mon adresse Jabber sera ainsi la même que mon adresse mail (
rom
suivi de@rom1v.com
).
Et c’est simple !
Installation et configuration
Tout d’abord, installer le paquet prosody
:
apt-get install prosody
Puis ajouter à la fin du fichier /etc/prosody/prosody.cfg.lua
:
Host "nom.de.domaine"
Pour moi :
Host "rom1v.com"
Créer un utilisateur en ligne de commandes et choisir un mot de passe :
prosodyctl adduser user@nom.de.domaine
Certificat
Un certificat TLS/SSL est créé par défaut, mais les champs sont renseignés avec des valeurs non pertinentes (localhost au lieu de nom.de.domaine par exemple). Il est donc préférable d’en générer un nouveau.
Dans le répertoire /etc/prosody/certs
, exécuter :
openssl req -new -x509 -nodes -out nom.de.domaine.cert -keyout nom.de.domaine.key -days 1000
Renseigner les champs demandés (« .
» pour laisser un champ vide).
Remplacer le certificat dans le fichier de configuration :
ssl = { key = "/etc/prosody/certs/nom.de.domaine.key"; certificate = "/etc/prosody/certs/nom.de.domaine.cert"; }
Empreinte
Comme c’est un certificat auto-signé, les clients Jabber ne lui feront pas confiance : ils demanderont une confirmation, en présentant son empreinte. Il faudra alors vérifier que le certificat présenté est bien le bon, c’est-à-dire que l’empreinte est la même.
Pour la connaître :
openssl x509 -fingerprint -noout -in nom.de.domaine.cert
Par exemple :
$ openssl x509 -fingerprint -noout -in rom1v.com.cert SHA1 Fingerprint=C3:6D:9B:65:06:55:C4:84:B4:A5:8D:4B:12:68:2F:08:71:7E:AC:DD
Ports
Les ports TCP 5222 et 5269 doivent être ouverts.
Démarrer
Il ne reste plus qu’à démarrer le service.
service prosody start
Clients
Il est maintenant possible de se connecter en utilisant le nom d’utilisateur et le mot de passe créés :
Backup
Les données du serveur sont stockées dans /var/lib/prosody
. Il est donc important de ne pas oublier ce répertoire dans le processus de sauvegarde.
Merci à Cyrille Borne et nicolargo.