Outils pour utilisateurs

Outils du site


doc:jabber
Différences

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

Lien vers cette vue comparative

doc:jabber [2015/03/13 21:00] (Version actuelle)
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 21:00 (modification externe)