Pourqoi nous choisissons le Jabberd 2.x?
Cette version apporte de nombreuses améliorations, notament le fait que le serveur utilise maintenant une base de données (MySQL,PgSQL,...) afin de stocker les informations des utilisateurs. Jabberd 2.X a été entièrement repensé afin d'être plus modulaire. D'après le site jabber.org, 77% des fonctionnalités du protocole jabber ont été implementées.Préconfiguration
1.Téléchargement le package "libidn"
wget download.fedora.redhat.com/pub/fedora/linux/releases/7/Everything/x86_64/os/Fedora/libidn-0.6.8-4.x86_64.rpm (en 64 bits)
ou
wget download.fedora.redhat.com/pub/fedora/linux/releases/7/Everything/i386/os/Fedora/libidn-0.6.8-4.i386.rpm (en 32 bits
2.Installation le package "libidn" (par exemple, en 32 bits)
rpmbuild --rebuild libidn-0.6.8-4.i386.rpm
cd /usr/src/redhat/RPMS/i386
rpm -ivh libidn-0.6.8-4.i386.rpm libidn-devel-0.6.8-4.i386.rpm
ou
rpmbuild --recompile libidn-0.6.8-4.i386.rpm
cp -R /var/tmp/libidn-0.6.8-root/* /
PS: Sur Fedora, il a besoin que une seule commande en "yum install libidn"
3.Installation MySQL-shared Library
wget http://downloads.mysql.com/archives/mysql-3.23/MySQL-shared-3.23.58-1.i386.rpm
rpm -ivh MySQL-shared-3.23.58-1.i386.rpm
4.Configuration l'environnement de Linux
-Pour ajouter un utilisateur au serveur, exécutez la commande suivante en tant que root :
adduser jabber
-Choisissez ensuite un mot de passe pour ce compte à l'aide de la commande suivante :
passwd jabber
-Après avoir changé le mot de passe, nous devons créer un répertoire dans lequel le processus stockera ses journaux et ses pids. Pour ce faire, exécutez les commandes suivantes :
mkdir -p /usr/local/var/jabberd/pid/
mkdir -p /usr/local/var/jabberd/log/
-Une fois les répertoires créés, changeons l'appartenance des répertoires de façon à ce que l'utilisateur jabber puissent écrire dedans. Exécutez les commandes suivantes :
chown -R jabber:jabber /usr/local/var/jabberd/pid/
chown -R jabber:jabber /usr/local/var/jabberd/log
Installation et configuration Jabberd 2.x
Nous pouvons télécharger le dernier version de Jabberd 2.X sur la site http://web.archive.org/web/20061010224606/jabberd.jabberstudio.org/2/, mais d'ici nous voulons installer et tester jabberd-2.0s11.
tar zxf http://jabberstudio.rediris.es/jabberd2/jabberd-2.0s11.tar.gz
cd jabberd-2.0s11
./configure --enable-ssl
make
make install
PS: Avant compiler les fichiers d'installation, il nous faut vérifier les compilateurs de Linux suivant qui sont déjà installés :
- GNU c compliler
- GNU make
- autoconf
- automake
- GNUlib
- libtool
- libglib2
1.Configuration une base de données MySQL
-Configuration une nouvelle base de données MySQL à laquelle jabberd peut accéder :
mysql -u root -p <>
-Saisissons le mot de passe root de MySQL à l'invite. Ce script crée une nouvelle base de données et la peuple avec les tables nécessaires au serveur jabberd. Une fois que le script se termine, nous devons créer un utilisateur appelé jabberd2 dans MySQL pour permettre à jabberd de manipuler la base de données. Pour ce faire, exécutez la commande suivante :
mysql -u root -p
-Saisissons à présent le mot de passe root à l'invite, et nous obtenons l'invite de commande de MySQL. À cette invite, saisissons la commande suivante :
GRANT select,insert,delete,update ON jabberd2.* to jabberd2 at localhost IDENTIFIED by 'examplepassword';
PS: en remplaçant "examplepassword" par un mot de passe de notre choix, puis saisissons "exit" sous terminal pour quitter la script de MySQL.
ou
cd /path_to_jabberd_source/tools
mysql -u root -p
mysql>\. db-setup.mysql
mysql>grant select,insert,delete,update on jabberd2.* to jabberd2@localhost identified by 'secret';
mysql>flush privileges;
mysql>quit
2.Configuration le fichier sm.xml
-Configuration "Hostname" :
<sm>
<id>hostname.domain.name</id>
...
-Suppression les commentaires pour la ligne suivant:
<pemfile>/usr/local/etc/jabberd/server.pem</pemfile>
3.Configuration le fichier c2s.xml
-Configuration "Hostname" :
<local>
<id>hostname.domain.name</id>
...
-Suppression les commentaires pour deux lignes suivant:
<pemfile>/usr/local/etc/jabberd/server.pem</pemfile>
<ssl-port>5223</ssl-port>
PS: Pour modifier un fichier à l'aide de la commande "vi", donc "vi /usr/local/etc/jabberd/sm.xml" et "vi /usr/local/etc/jabberd/c2s.xml" pour modifier les fichiers de sm.xml et c2s.xml.
Création un cryptage SSL
cd /usr/local/etc/jabberd
openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout privkey.pem -out server.pem
openssl rsa -in privkey.pem -out privkey.pem
cat privkey.pem >> server.pem
rm privkey.pem
chown root:jabber server.pem
chmod 640 server.pem
Démarrage le serveur Jabberd 2
su -c "/usr/local/bin/jabberd &" - jabber
Autorisation les portes de sortie
iptables -A INPUT -p tcp -m multiport --dports 5222,5223,5269 -j ACCEPT
PS: la porte 5222 : le client pour connecter le serveur
la porte 5223 : communication entre le client et le serveur par SSL
la porte 5269 : communication entre deux serveurs