Outils pour utilisateurs

Outils du site


doc:ejabberd

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:ejabberd [Le 08/11/2011 à 22:37]
sylvain Ajout les boutons paypal
doc:ejabberd [Le 07/01/2015 à 23:52] (Version actuelle)
Ligne 1: Ligne 1:
 +====== installation de ejabberd ======
 +
 +Cette page décrit l'installation du serveur [[deb>ejabberd]] sur une [[http://www.debian.org/releases/lenny/|DEBIAN lenny]]. Le serveur sera installé sur la machine ''machine.info'' et servira les domaines ''machine.info'' et ''machine.net''
 +
 +Cette page vous a été utile ?
 +~~PAYPAL~~
 +
 +===== installation des paquets =====
 +
 +Je choisis d'installer la version de [[http://backports.org|debian backports]]. La version est plus à jour. Le choix dépend de ce que l'on attend du serveur. Cette installation n'est pas critique, je peux vivre sans jabber ;-). Il faudra prélablement ajouter [[http://backports.org|debian backports]] au [[sources.list]].
 +
 +<code>
 +$ sudo aptitude -t lenny-backports install ejabberd
 +Lecture des listes de paquets... Fait
 +Construction de l'arbre des dépendances       
 +Lecture des informations d'état... Fait
 +Lecture de l'information d'état étendu       
 +Initialisation de l'état des paquets... Fait
 +Lecture des descriptions de tâches... Fait  
 +Les NOUVEAUX paquets suivants vont être installés : 
 +  ejabberd erlang-base{a} erlang-nox{a} libsctp1{a} lksctp-tools{a} 
 +0 paquets mis à jour, 5 nouvellement installés, 0 à enlever et 4 non mis à jour.
 +Il est nécessaire de télécharger 1189ko/28,4Mo d'archives. Après dépaquetage, 47,1Mo seront utilisés.
 +Voulez-vous continuer ? [Y/n/?] y
 +</code>
 +
 +[[debconf]] pose ensuite quelques questions
 +
 +<code>
 +Nom d'hôte du serveur ejabberd : machine.info
 +</code>
 +
 +Ici le nom d'hôte du serveur, il n'est possible de donner qu'un seul nom d'hôte.
 +
 +<code>
 +Identifiant du compte administrateur d'ejabberd : root
 +</code>
 +
 +Ici je choisis le compte administrateur avec beaucoup d'originalité ;-) Ce compte servira à administrer le serveur via l'interface web ou un client jabber. Pour se connecter, il faudra utiliser root@machine.info comme l'indique [[debconf]].
 +
 +<code>
 +Mot de passe du compte administrateur :
 +</code>
 +
 +Il faudra confirmer ce mot de passe. Il est normal que rien ne s'affiche quand on tape le mot de passe.
 +
 +L'installeur va notamment générer un certificat SSL pour l'utilisation d'une communication chiffrée entre le client et le serveur. Ce certificat est stocké dans le fichier ''/etc/ejabberd/ejabberd.pem''. C'est un certificat auto-signé, suffisant pour une utilisation personnelle.
 +
 +La configuration du serveur est stockée dans le fichier ''/etc/ejabberd/ejabberd.cfg''. Il faut être ''root'' ou membre du groupe ''ejabberd'' pour rentrer et lire le répertoire ''/etc/ejabberd''.
 +
 +<code>
 +$ stat /etc/ejabberd
 +  File: `/etc/ejabberd'
 +  Size: 4096      Blocks: 8          IO Block: 4096   répertoire
 +Device: ca01h/51713d Inode: 17814       Links: 2
 +Access: (0750/drwxr-x---)  Uid: (    0/    root)   Gid: (  113/ejabberd)
 +</code>
 +
 +Si comme moi vous utilisez ''sudo'', il faudra que l'utilisateur qui passe pour ''root'' appartienne au groupe ''ejabberd'' sinon ''sudoedit'' ne fonctionnera pas. Pour cela :
 +
 +<code>
 +sudo adduser sylvain ejabberd
 +</code>
 +
 +Il faudra se connecter de nouveau pour que l'appartenance au groupe soit effective.
 +
 +===== configuration =====
 +
 +==== interface admin HTTPS ====
 +
 +L'interface d'administration est disponible par défaut en HTTP, il ne faut pas oublier que le mot de passe de l'administrateur passera par là donc il est préférable de chiffrer la connexion. Pour cela, commençons par générer un certificat avec [[make-ssl-cert]] :
 +
 +<code>
 +sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/certs/ejabberd.pem
 +</code>
 +
 +Le certificat devra être lisible par ''ejabberd'' :
 +
 +<code>
 +$ sudo chgrp ejabberd /etc/ssl/certs/ejabberd.pem
 +$ sudo chmod g+r /etc/ssl/certs/ejabberd.pem
 +</code>
 +
 +Ensuite, modifions le fichier de configuration ''/etc/ejabberd/ejabberd.cfg''
 +<code>
 +  %% {5280, ejabberd_http, [
 +  %%                     http_poll,
 +  %%                     web_admin
 +  %%                    ]}
 +
 +  {5280, ejabberd_http, [
 +                        http_poll,
 +                        web_admin,
 +                        tls,
 +                        {certfile, "/etc/ssl/certs/ejabberd.pem"},
 +                        starttls_required
 +                        ]}
 +</code>
 +
 +==== un administrateur pour tous les domaines ====
 +
 +Le compte d'administration créer par [[debconf]] permet d'administrer le serveur déclaré lors de l'installation. Pour que l'administrateur puisse gérer tous les serveurs (domaines), il faut modifier la configuration. Remplacer ''{acl, admin, {user, "root", "collilieux.net"}}'' par ''{acl, admin, {user, "root"}}''.
 +
 +//à vérifier//
 +
 +==== langue ====
 +
 +Par défaut, l'interface d'administration de ''ejabberd'' parle anglais. Pour modifier cela, il faut modifier la ligne contenant ''{language, "en"}'' par ''{language, "fr"}''.
 +
 +==== création d'un utilisateur ====
 +
 +À ce stade, le serveur est déjà fonctionnel mais seul ''root@machine.info'' peut se connecter au serveur. Il faut donc créer un utilisateur.
 +
 +Pour créer un compte ''robert@machine.info'' avec le mot de passe ''m0t2pace'' :
 +
 +<code>
 +sudo ejabberdctl register robert machine.info m0t2pace
 +</code>
 +
 +Le fichier de configuration fourni par DEBIAN ne permet pas que des utilisateurs s'enregistrent automatiquement avec leur client jabber. Pour un serveur personnel, c'est une bonne chose.
 +
 +==== configuration du DNS ====
 +
 +Pour chaque domaine hébergé sur le serveur, il faudra créer une entrée dans le dns qui gère la zone. Par exemple, pour ''bind'' :
 +
 +<code>
 +_jabber._tcp.machine.net.       IN SRV   0 0 5269   machine.info.
 +_xmpp-server._tcp.machine.net.  IN SRV   0 0 5269   machine.info.
 +_xmpp-client._tcp.machine.net.  IN SRV   0 0 5222   machine.info.
 +</code>
 +
 +''machine.info.'' doit correspondre au nom d'hôte qui héberge le serveur. Les entrées sont de type [[http://tools.ietf.org/html/rfc2782|SRV]], 5269 est le port utilisé entre les serveurs et le 5222 celui utilisé par les clients vers le serveur. Les ''0 0'' sont respectivement la priorité et le poids de chaque entrée, c'est inutile avec un seul serveur.
 +
 +Pour utiliser la voix et la vidéo avec du NAT sur la ligne, il est nécessaire d'ajouter une entrée pour un [[http://www.voip-info.org/wiki/view/DNS+SRV|serveur STUN]]. Par exemple :
 +
 +<code>
 +_stun._udp.machine.info has SRV record 0 0 3478 stun.machine.info.
 +</code>
 +
 +Il est possible d'utiliser n'importe quel serveur [[http://www.voip-info.org/wiki/view/STUN|STUN public]].
 +
 +==== plusieurs domaines ====
 +
 +Le serveur peut gérer plusieurs domaines. Il suffit de déclarer les domaines sur la ligne ''{hosts, ["machine.org", "machine.net"]}.''
 +
 +
 +===== modules =====
 +
 +Plusieurs modules sont disponibles et activés par défaut.
 +==== irc ====
 +
 +Pour se connecter à un channel IRC depuis un client jabber, il est possible d'utiliser ''ejabberd'' comme passerelle. Pour cela, il faut que le host ''irc.machine.org'' pointe vers la même adresse IP que ''machine.org'' (enregistrement type [[http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS|A]]. Il est également possible de déclarer un [[http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS|CNAME]].
 +
 +Ce qui donne dans le DNS avec un CNAME :
 +
 +<code>
 +irc.machine.info. 86400 IN CNAME machine.info.
 +</code>
 +
 +==== conference ====
 +
 +XMPP, le protocole derrière jabber permet d'établir des salons de discussion. ''ejabberd'' supporte cette fonctionnalité. La configuration par défaut fonctionne :
 +
 +<code>
 +  {mod_muc,      [
 +                  %%{host, "conference.@HOST@"},
 +                  {access, muc},
 +                  {access_create, muc},
 +                  {access_persistent, muc},
 +                  {access_admin, muc_admin},
 +                  {max_users, 50}
 +                 ]},
 +</code>
 +
 +Pour utiliser les conférences, il faudra utiliser le serveur ''conference.machine.info'', il faut donc que cette entrée DNS existe et pointe vers le serveur. On peut remplacer ''conference'' par ''salon'' ou tout autre mot.
 +Il est possible de configurer une entrée de type [[http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS|A]] ou un [[http://fr.wikipedia.org/wiki/Domain_Name_System#Principaux_enregistrements_DNS|CNAME]].
 +
 +Ce qui donne dans le DNS :
 +
 +<code>
 +conference.machine.info. 86400 IN CNAME machine.info.
 +</code>
 +
 +Tous les utilisateurs pourront créer des conférences. J'ai limité le nombre de participant à ''50'', la valeur par défaut est ''500''.
 +
 +===== liens utiles =====
 +  * http://www.vogelweith.com/debian_server/13_jabber.php#x1-60003
 +  * http://blog-perso.onzeweb.info/2006/08/25/tutoriel-ejabberd-ubuntu/
 +  * http://wiki.jabberfr.org/Configuration_avanc%C3%A9e_de_ejabberd
 +
 + --- //(c) Sylvain Collilieux le 30/05/2009 à 21:29 -- ce texte est sous licence [[http://artlibre.org/licence/lal/|Art Libre]]//
 +
 +{{tag>hébergement}}
  
doc/ejabberd.1320788253.txt.bz2 · Dernière modification: Le 07/01/2015 à 23:48 (modification externe)