Outils pour utilisateurs

Outils du site


doc:jabber
no way to compare when less than two revisions
Différences

Ci-dessous, les différences entre deux révisions de la page.


doc:jabber [2015/03/13 20:00] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 += Jabber =
 +
 +Jabber est un outil de messagerie instantanée utilisant le protocole XMPP.
 +Pour le moment j'ai utilisé deux serveurs différents :
 +* Ejabberd
 +* Prosody
 +
 +Celui que j'utilise actuellement est Prosody parce qu'il est bien plus simple de faire une sauvegarde/restauration des contacts qu'avec ejabberd.
 +
 +== Prosody ==
 +
 +=== Configuration ===
 +
 +Dans le fichier de configuration principal (/etc/prosody/prosody.cfg.lua), il faut modifier la ligne admins pour renseigner le compte admin.
 +
 +  admins = {"admin@monsite.tld"}
 +
 +Ensuite on renseigne les clé ssl.
 +
 +==== Ajout de virtualhost : ====
 +
 +Dans le dossier /etc/prosody/conf.avail il faut faire une copie du fichier de conf par défaut puis l'éditer :
 +
 +  cd /etc/prosody/conf.avail
 +  cp example.com.cfg.lua monsite.tld.cfg.lua
 +  vi monsite.tld.cfg.lua
 +
 +Il faut remplacer dans ce fichier chaque instance de exemple.com par monsite.tld
 +Il faut aussi commenter ou supprimer la ligne (en lua, on commente une ligne en mettant deux tirets "-" devant):
 +
 +  enabled = false -- Remove this line to enable this host
 +
 +Une fois le fichier modifier, il faut le lier dans /etc/prosody/conf.d/
 +
 +  cd /etc/prosody/conf.d/
 +  ln -s ../conf.avail/monsite.tld.cfg.lua
 +
 +==== Ajout d'utilisateurs ====
 +
 +Pour ajouter des utilisateurs, il faut utiliser la commande
 +
 +  prosodyctl adduser user@mondomaine.tld
 +
 +Le mot de passe de l'utilisateur vous serra alors demandé.
 +
 +==== Utilisation de ssl ====
 +
 +Commencer par [[/doc/ssl|générer un couple certificat/clé]] puis déplacez les dans le dossier /etc/prosody/certs
 +Ajouter dans le fichier de conf du virtualhost : 
 +
 +  ssl = {
 +                    key = "/etc/prosody/certs/monsite.fr.key";
 +                    certificate = "/etc/prosody/certs/monsite.fr.crt";
 +                    }
 +
 +Pour finir redémarrez le serveur.
 +=== Sauvegarde ===
 +
 +La liste des contacts et des configurations de salon se trouve dans les dossiers :
 +
 +  /var/lib/prosody/monsite.tld/
 +  /var/lib/prosody/conference.monsite.tld/
 +
 +Il suffit de copier et de replacer ce dossier avec ses sous dossiers à cette endroit.
 +
 +
 +== Ejabberd ==
 +
 +=== Installation ===
 +
 +  apt-get install ejabberd
 +
 +
 +=== Configuration ===
 +
 +==== Le fichier de configuration ====
 +
 +Le fichier de configuration se trouve **/etc/ejabberd/ejabberd.cfg**. Editez le avec votre éditeur préféré avec root. Et modifiez les lignes suivantes :
 +
 +  %% Admin user
 +  {acl, admin, {user, "admin", "mondomaine.fr"}}.
 +
 +**Admin** sera à remplacer par le nom d'administrateur que vous souhaitez.
 +**mondomaine.fr** sera à remplacer par votre domaine (ou votre ip si vous n'avez pas de domaine. Mais attention d'avoir une ip fixe ;))
 +
 +  %% Hostname
 +  {hosts, ["mondomaine.fr"]}.
 +
 +Et s'il y a plusieurs domaines, il suffit de les ajouter ici :
 +
 +  %% Hostname
 +  {hosts, ["mondomaine.fr", "monautredomaine.fr"]}.
 +
 +**mondomaine.fr** sera à remplacer par votre domaine (ou votre ip si vous n'avez pas de domaine. Mais attention d'avoir une ip fixe ;))
 +
 +Pour finir, redémarrez ejabberd :
 +
 +  /etc/init.d/ejabberd restart 
 +
 +=== Ajouter des utilisateurs ===
 +
 +Par défaut, ejabberd n'autorise pas la création d'utilisateur depuis un client. Il faut passer par une console pour les ajouter. J'ai laissé ainsi car je n'ai pas besoin d'ajouter d'utilisateurs autre que moi.
 +
 +==== administrateur ====
 +
 +Il faut déjà ajouter l'administrateur que l'on a renseigné plus haut. On va donc taper dans une console en root :
 +
 +  ejabberdctl register admin mondomaine.fr motdepasseadmin
 +
 +=== User ===
 +
 +Ensuite on ajoute des utilisateurs de la même manière :
 +
 +  ejabberdctl register user mondomaine.fr motdepasseuser
 +
 +=== Administration du serveur ===
 +
 +Pour administrer le serveur, on peut utiliser son serveur web. Pour cela, il faut taper dans votre navigateur :
 +
 +  http://mondomaine.fr:5280/admin
 +
 +Pour que ca fonctionne il faut bien entendu avoir ouvert le port **5280** sur le firewall. Si comme moi vous administrez le serveur depuis votre réseau local, vous pouvez remplacer mondomaine.fr par l'adresse ip local du serveur. Ca évite d'avoir à ouvrir des ports.
 +
 +Vous allez alors avoir besoin de vous connecter via http pour accéder à l'interface d'administration. Dans notre exemple, le login sera **admin@mondomaine.fr** et le mot de passe **motdepasseadmin**
 +
 +==== Sauvegarde de la base ====
 +
 +Pour sauvegarder la base de contact des utilisateurs, il faut taper la commande suivante :
 +  ejabberdctl dump fichier_de_save
 +
 +Le fichier serra envoyé dans le dossier /var/lib/ejabberd/
 +
 +Pour restaurer :
 +  ejabberdctl restore fichier_de_save
 +
 +=== Les ports ===
 +
 +Pour communiquer avec le monde extérieur, il va falloir ouvrir des ports sur votre firewall.
 +
 +Pour que votre client soit en mesure de communiquer avec votre serveur, il faudra ouvrir le port **5222**. De même, pour que votre serveur puisse communiquer avec d'autre serveur, il faudra ouvrir le port **5269**.
 +
 +=== Les salons ===
 +
 +Par défaut, à l'installation de ejabberd, le sous domaine utilisé est conference.mondomaine.fr
 +
 +Pour pouvoir utiliser les salons créer sur le serveur, il faut ajouter une ligne dans le DNS pour le sous domaine **conference.mondomaine.fr**. Sans quoi, une erreur "404 serveur distant non trouvé" vous serra envoyé lorsque vous tenterez de vous connecter sur le salon avec un autre compte.
 +
 +Pour administrer les salons, prendre le client **psi**
 +
 +==== Logger les salons ====
 +
 +Ouvrir le fichier de configuration de ejabberd ( /etc/ejabberd/ejabberd.cfg ) puis remplacer :
 +
 +  % {mod_muc_log, []},
 +
 +Par 
 +
 +  {mod_muc_log,[
 +                  {allow_room_log, true},
 +                  {access_log, muc_admin},
 +                  {outdir, "/mnt/documents/log_jabber"},
 +                  {dirtype, subdirs},
 +                  {dirname, room_name},
 +                  {timezone, local},
 +                  {top_link, {"http://www.monsite.tld", "logs de mon serveur jabber"}},
 +                  {cssfile, false}]},
 +
 +On enregistre et on quitte.
 +
 +On créé ensuite le dossier /mnt/documents/log_jabber et et on donne les droits en écriture sur ce dossier à ejabberd. Le plus simple est de définir le propriétaire et le groupe de ce dossier à l'utilisateur ejabberd :
 +
 +  chown ejabberd:ejabberd /mnt/documents/log_jabber
 +
 +Puis on attribut les droit en lecture/écriture :
 +
 +  chmod 755  /mnt/documents/log_jabber
 +
 +Il faut ensuite re démarrer le serveur 
 +
 +  /etc/init.d/ejabberd stop/start
 +
 +A partir de maintenant, ejabberd est capable d'enregister l'historique des conversations du salon.
 +
 +Pour qu'il enregistre effectivement les conversations, il faut aller se connecter au salon avec un compte administrateur (par exemple le compte admin ici) et activer l'enregistrement de l'historique dans les paramètres de configuration du salon à l'aide d'un client (psi par exemple) Ce qui permet de déterminer quel salon est logé et quel salon ne l'est pas.
 +
 += Liens externes =
 +
 +== Prosody ==
 +
 +* http://doc.ubuntu-fr.org/prosody
 +* http://www.hostux.net/serveur/installation-prosody-jabber-xmpp/130/
 +* http://km.azerttyu.net/Migrer-de-ejabberd-vers-prosody.html
 +* http://prosody.im/doc/advanced_ssl_tls
 +
 +== Ejabberd ==
 +
 +* http://wiki.jabberfr.org/Ejabberd
 +
  
doc/jabber.txt · Dernière modification : 2015/03/13 20:00 de 127.0.0.1