**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
# Howto Ejabberd
Ejabberd est un serveur Jabber écrit en Erlang.
<https://www.ejabberd.im/>
## Installation
Ejabberd est packagé dans Debian:
~~~
# apt install ejabberd
~~~
Lors de l'installation, indiquer:
* hostname: le domaine principal (fqdn) que le serveur devra gérer;
* compte admin: un compte Jabber (sans la partie @domaine) qui sera admin du serveur (permet l'accès à l'interface web + accès à diverses commandes admin depuis un client Jabber.
La configuration se fait désormais via le fichier _/etc/ejabberd/ejabberd.yml_.
Pour configurer plusieurs hosts :
~~~
hosts:
- "im.example.com"
- "example.com"
~~~
### Authentification (à mettre à jour)
Ejabberd supporte plusieurs backends externes pour l'authentification (MySQL, LDAP, PAM, script externe…).
Pour utiliser un annuaire LDAP:
* commenter `{auth_method, internal}.` pour ne faire _que_ de l'authentification sur LDAP. Pour utiliser plusieurs méthodes d'authentification, il est possible de passer une liste comme ceci:
%% Encryption of connection to LDAP servers (LDAPS):
{ldap_encrypt, none}.
%%{ldap_encrypt, tls}.
%% Port connect to LDAP server:
{ldap_port, 389}.
%%{ldap_port, 636}.
%% LDAP manager:
%%{ldap_rootdn, "dc=example,dc=com"}.
%% Password to LDAP manager:
%%{ldap_password, "******"}.
%% Search base of LDAP directory:
{ldap_base, "dc=example,dc=com"}.
%% LDAP attribute that holds user ID:
{ldap_uids, [{"uid", "%u"}]}.
%% LDAP filter:
{ldap_filter, "(objectClass=shadowAccount)"}.
~~~
### Optimisation
Par défaut, le support du multi-cœur n'est pas forcément désactivé. Pour l'activer si le processeur le supporte, éditer le fichier _/etc/default/ejabberd_: