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 !