Configuration avancée de ejabberd : Différence entre versions

De Wiki JabberFR
Aller à : navigation, rechercher
(Utilisation de MySQL)
m (petit ménage)
Ligne 2 : Ligne 2 :
 
{{Modèle:TODO}}
 
{{Modèle:TODO}}
  
= Utilisation de MySQL =
+
== Utilisation de MySQL ==
 +
 
 
Pour pouvoir connecter ejabberd à une base MySQL, il faut ajouter un driver, qui n'est pas fourni par défaut.
 
Pour pouvoir connecter ejabberd à une base MySQL, il faut ajouter un driver, qui n'est pas fourni par défaut.
 
Celui-ci est disponible en tapant :  
 
Celui-ci est disponible en tapant :  
Ligne 12 : Ligne 13 :
 
Copiez ensuite les fichiers mysql*.beam à l'endroit où sont stockés tous les .beam de votre serveur.
 
Copiez ensuite les fichiers mysql*.beam à l'endroit où sont stockés tous les .beam de votre serveur.
 
* Sur Debian : /usr/lib/erlang/lib/ejabberd-1.1.2/ebin
 
* Sur Debian : /usr/lib/erlang/lib/ejabberd-1.1.2/ebin
 
  
 
La base de données nécessaire à ejabberd doit être crée dans votre base MySQL. Un script sql est fourni dans les sources d'ejabberd (<repertoire de sources ejabberd>/odbc/mysql.sql).
 
La base de données nécessaire à ejabberd doit être crée dans votre base MySQL. Un script sql est fourni dans les sources d'ejabberd (<repertoire de sources ejabberd>/odbc/mysql.sql).
Ligne 23 : Ligne 23 :
 
   {auth_method, [internal,odbc]}.
 
   {auth_method, [internal,odbc]}.
  
= Virtual Hosting =
+
 
== Activation du virtual hosting ==
+
=== Liens externes ===
 +
 
 +
* [https://forge.process-one.net/browse/ejabberd-modules/mysql Driver MySQL sur ejabberd-modules]
 +
 
 +
== Virtual Hosting ==
 +
 
 +
=== Activation du virtual hosting ===
  
 
Il est assez simple de faire du virtual hosting avec ejabberd.
 
Il est assez simple de faire du virtual hosting avec ejabberd.
Ligne 34 : Ligne 40 :
 
   {hosts, ["<vhost 1>,"<vhost 2>"]}.  
 
   {hosts, ["<vhost 1>,"<vhost 2>"]}.  
  
== Paramètrage différencié par virtual host ==
+
=== Paramètrage différencié par virtual host ===
  
 
==== Méthode d'authentification ====
 
==== Méthode d'authentification ====
 +
 
On peut spécifier des méthodes d'authentification différentes pour chaque virtual host :
 
On peut spécifier des méthodes d'authentification différentes pour chaque virtual host :
 
   {host_config, "<vhost 1>", [{auth_method, [internal,odbc]}]}.
 
   {host_config, "<vhost 1>", [{auth_method, [internal,odbc]}]}.
Ligne 45 : Ligne 52 :
  
 
==== Connexion à une base de données ====
 
==== Connexion à une base de données ====
 +
 
Il est possible qu'un ou plusieurs virtual hosts utilisent une connexion à une base de données. Il n'est pas possible de spécifier la même base pour plusieurs virtual hosts :
 
Il est possible qu'un ou plusieurs virtual hosts utilisent une connexion à une base de données. Il n'est pas possible de spécifier la même base pour plusieurs virtual hosts :
 
   {host_config, "<vhost 1>", [{odbc_server, {mysql, "<vhost 1>",
 
   {host_config, "<vhost 1>", [{odbc_server, {mysql, "<vhost 1>",
Ligne 54 : Ligne 62 :
 
* le virtual host 'vhost 1' utilise une base mysql qui se trouve sur le host 'host 2'
 
* le virtual host 'vhost 1' utilise une base mysql qui se trouve sur le host 'host 2'
  
== Liens externes ==
 
* [https://forge.process-one.net/browse/ejabberd-modules/mysql | Driver MySQL sur ejabberd-modules]
 
 
[[Catégorie:Tutoriel]]
 
[[Catégorie:Tutoriel]]

Version du 23 août 2007 à 20:19

Participer.png

Tutoriels ejabberd

  1. Installation du serveur Jabber ejabberd
  2. Configuration de base du serveur ejabberd
  3. Création des comptes avec ejabberd
  4. Configuration des ports de ejabberd
  5. Configuration avancée de ejabberd
  6. Intégration de LDAP dans ejabberd
  7. Configurer les passerelles pour ejabberd
  8. server2server (s2s) de ejabberd
  9. Plugins de ejabberd
Edit.png
Cet article est une ébauche à compléter, vous pouvez partager vos connaissances en le modifiant.

Vous pouvez également suggérer des améliorations sur sa page de discussion.

Utilisation de MySQL

Pour pouvoir connecter ejabberd à une base MySQL, il faut ajouter un driver, qui n'est pas fourni par défaut. Celui-ci est disponible en tapant :

 svn co https://svn.process-one.net/ejabberd-modules/mysql trunk mysql

Il faut ensuite mettre les fichers du driver avec les sources d'ejabberd et compiler le module

 make

Copiez ensuite les fichiers mysql*.beam à l'endroit où sont stockés tous les .beam de votre serveur.

  • Sur Debian : /usr/lib/erlang/lib/ejabberd-1.1.2/ebin

La base de données nécessaire à ejabberd doit être crée dans votre base MySQL. Un script sql est fourni dans les sources d'ejabberd (<repertoire de sources ejabberd>/odbc/mysql.sql).

Dans le fichier de configuration, il faut ensuite ajouter une directive indiquant comment se connecter à la base MySQL :

 {odbc_server, {mysql, "<host>",
 "<base>", "<user>", "<password>"}}.

Ajoutez enfin 'odbc' aux méthodes d'authentification (nécessaire pour que la connexion odbc soit démarrée au lancement du serveur)

 {auth_method, [internal,odbc]}.


Liens externes

Virtual Hosting

Activation du virtual hosting

Il est assez simple de faire du virtual hosting avec ejabberd. Chaque vhost partage les mêmes modules, et une partie de la configuration est commune. Cependant, il faut réaliser les actions suivantes :

  • s'assurer que l'on résoud bien les hosts que l'on va configurer dans ejabberd
  • modifier le fichier de configuration d'ejabberd : ejabberd.cfg
    • ajouter la liste des hosts :
 {hosts, ["<vhost 1>,"<vhost 2>"]}. 

Paramètrage différencié par virtual host

Méthode d'authentification

On peut spécifier des méthodes d'authentification différentes pour chaque virtual host :

 {host_config, "<vhost 1>", [{auth_method, [internal,odbc]}]}.
 {host_config, "<vhost 2>", [{auth_method, [ldap,internal]}]}.

Dans cet exemple :

  • le virtual host 'vhost 1' s'authentifie sur la base interne d'ejabberd (mnesia) puis, sinon, sur odbc
  • le virtual host 'vhost 2' s'authentifie sur un annuaire LDAP seulement

Connexion à une base de données

Il est possible qu'un ou plusieurs virtual hosts utilisent une connexion à une base de données. Il n'est pas possible de spécifier la même base pour plusieurs virtual hosts :

 {host_config, "<vhost 1>", [{odbc_server, {mysql, "<vhost 1>",
 "ejabberd", "ejabberd", "ejabberd"}}]}.
 {host_config, "<vhost 2>", [{odbc_server, {mysql, "<vhost 2>", "ejabberd2
 ", "ejabberd", "ejabberd"}}]}.

Dans cet exemple :

  • le virtual host 'vhost 1' utilise une base mysql qui se trouve sur le host 'host 1'
  • le virtual host 'vhost 1' utilise une base mysql qui se trouve sur le host 'host 2'