Un serveur Jabber en 5 minutes chronos sous Debian/Ubuntu

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";

}


...

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 !

Vus : 1591
Publié par Nicolargo : 402