Un serveur Jabber en 5 minutes chronos sous Debian/Ubuntu

Date: 15/01/2011 | Catégories: Open-source,Planet-libre,Web | Tags: ,,,,

Oui je sais c'est un pompage en règle du billet de Cyrille Borne. Mais bon il faut dire que par les temps qui courent c'est une rudement bonne idée que de disposer de son propre serveur Jabber.

Nous allons donc détailler les étapes d'installation et de configuration d'un serveur Prosody dans sa dernière version (0.7) avec un chiffrement SSL entre les clients et le serveur.

Pourquoi Prosody et pas Jabber ? Tout simplement car il est bien plus simple et léger à installer (un peu trop usine à gaz). Et puis le titre du billet aurait été moins vendeur: "Un serveur Jabber en 3h45 chronos...".

Installation de Prosody

L'installation de Prosody se fait en utilisant les commandes suivantes:

echo "deb http://packages.prosody.im/debian stable main" | sudo tee -a /etc/apt/sources.list

wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -

sudo aptitude update

sudo aptitude install prosody

Sous Ubuntu 10.04, j'ai du en plus installer à la main la librairie LibLua (pour le SSL):

wget http://prosody.im/downloads/debian/liblua5.1-sec0_0.3.2-2prosody1_i386.deb

sudo dpkg -i liblua5.1-sec0_0.3.2-2prosody1_i386.deb

PS: la librairie LibLua est utilisé pour le chiffrement SSL. Le fichier liblua5.1-sec0_0.3.2-2prosody1_amd64.deb doit être utilisé pour les machines sous AMD 64 bits.

On génère la clés et le certificat SSL:

cd /etc/prosody/certs/

sudo openssl req -new -x509 -days 365 -nodes -out "monbeaudomaine.com.cert" -keyout "monbeaudomaine.com.key"

Configuration de Prosody

Puis on configure en éditant le fichier /etc/prosody/prosody.cfg.lua:

sudo vi /etc/prosody/prosody.cfg.lua

...

VirtualHost "monbeaudomaine.com"

ssl = {

key = "/etc/prosody/certs/monbeaudomaine.com.key";

certificate = "/etc/prosody/certs/monbeaudomaine.com.cert";

}

enabled = true;

...

On relance Prosody pour prendre en compte la configuration:

sudo /etc/init.d/prosody restart

Si vous avez un Firewall sur votre serveur (ce qui est une bonne idée), il faut penser à ouvrir les ports TCP de Jabber en ajoutant les lignes suivantes dans votre script de configuration iptable (/etc/init.d/iptables.sh dans mon cas):

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

On relance ensuite le Firewall:

sudo /etc/init.d/iptables.sh

Puis on vérifie que les règles existent:

sudo iptables -L | grep xmpp

ACCEPT tcp -- anywhere anywhere tcp dpt:xmpp-client

ACCEPT tcp -- anywhere anywhere tcp dpt:xmpp-server

ACCEPT tcp -- anywhere anywhere tcp dpt:xmpp-server

Création d'un compte utilisateur Jabber dans Prosody

On peut ensuite passer à la création d'un utilisateur Jabber:

sudo prosodyctl adduser monbeauuser@monbeaudomaine.com

Il faut saisir deux fois le même mot de passe...

Configuration d'un client Jabber pour utiliser votre serveur Prosody

Enfin, sur son/ses PC, on configure le client de chat (Pidgin dans mon cas).

Il faut aller dans le menu Comptes > Gérer les comptes puis cliquer sur le bouton Ajouter:

Et hop voili !

  • Pingback: Tweets that mention Un serveur Jabber en 5 minutes chronos sous Debian/Ubuntu -- Topsy.com

  • http://www.bux.fr bux

    Ce billet tombe a point nommé, merci beaucoup ;)

  • Edouard

    Ya aussi openfire, on démarre le service et c’est tout. Le reste se configurant par l’interface web embarqué.

  • http://xavier.robin.name/ Xavier

    Merci pour ce billet très utile !
    Pour Ubuntu, plutôt que d’installer la libLua à part, on peut utiliser directement le dépot spécifique Ubuntu, et la dépendance semble s’installer automatiquement.

    Par exemple pour Ubuntu 10.04 (lucid):
    deb http://packages.prosody.im/debian lucid main

    Pour le SSL, on peut réutiliser son certificat web si on en a un plutôt que de faire un certificat autosigné. Mais dans Gajim j’avais une erreur d’autorité non certifiée. Je crois l’avoir résolue en incluant à la fois la CRT et la clé de l’autorité dans la ligne “certificate” du bloc ssl.

    cd /etc/prosody/certs
    cat /etc/ssl/monbeaudomaine.crt /etc/ssl/MonAutorite.pem > monbeaudomaine.full.crt

    (Ayant bidouillé d’autres trucs en même temps, je ne suis pas 100% sûr que ce soit bien ça…)

  • divine

    bonjour.je voudrais m’inscrire sur twitter pour
    avoir tous les informations interressantes surout les offres d’empoie dans le conteste des télécoms.

  • Pingback: Auto-hébergement : pour quoi (faire) ? » /home/ked

  • badmaniak

    Salut,

    Sympa le tuto, dans le fichier de conf prosody.cfg.lua j’ai été obligé de rajouter sur
    VirtualHost “your-domain.tld.cfg.lua”
    enabled = true

    sinon ça ne marchait pas, impossible de se connecter au serveur XMPP.

    @ +

  • Pingback: Héberger un serveur Jabber simplement (prosody) – ®om's blog

  • Pingback: Un serveur Jabber en 5 minutes chronos sous Debian/Ubuntu | evalentin | Scoop.it

  • Issa

    hello un petit update de ce tuto svp ?