ejabberd - Comments for "I need some help on Ejabberd clustering with AD authentication" https://www.ejabberd.im/node/3336 en OK it's working fine now https://www.ejabberd.im/node/3336#comment-53941 <p>OK it's working fine now !</p> <p>What I've done (source <noindex><a href="http://ropeonfire.blogspot.com/" title="http://ropeonfire.blogspot.com/" rel="nofollow" >http://ropeonfire.blogspot.com/</a></noindex>) :</p> <p>&gt; erl -sname ejabberd -mnesia extra_db_nodes "['ejabberd@ejabberd-1','ejabberd@ejabberd-2']" -s mnesia<br /> &gt; mnesia:change_table_copy_type(schema, node(), disc_copies).<br /> &gt; mnesia:add_table_copy(passwd, node(), ram_copies).<br /> &gt; mnesia:add_table_copy(offline_msg,node(),disc_only_copies).<br /> &gt; mnesia:add_table_copy(privacy,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(sr_group,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(sr_user,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(roster,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(last_activity,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(disco_publish,node(),disc_only_copies).<br /> &gt; mnesia:add_table_copy(pubsub_node,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(pubsub_state,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(pubsub_item,node(),disc_only_copies).<br /> &gt; mnesia:add_table_copy(session,node(),ram_copies).<br /> &gt; mnesia:add_table_copy(s2s,node(),ram_copies).<br /> &gt; mnesia:add_table_copy(route,node(),ram_copies).<br /> &gt; mnesia:add_table_copy(iq_response,node(),ram_copies).<br /> &gt; mnesia:add_table_copy(caps_features,node(),ram_copies).<br /> &gt; mnesia:add_table_copy(motd_users,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(motd,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(acl,node(),disc_copies).<br /> &gt; mnesia:add_table_copy(config,node(),disc_copies).</p> <p>And finally VERY IMPORTANT :</p> <p>-&gt; Stop EJABBERD<br /> -&gt; Copy ALL DATABASE FILES FROM /bin/mnesia.ejabberd@ejabberd-2/*<br /> -&gt; To /database/ejabberd@ejabberd-2/*<br /> -&gt; Start EJABBERD : every EJABBERD user created on ejabberd@ejabberd-1 node is now visible at ejabberd@ejabberd-2 node.<br /> -&gt; Every user NEWLY CREATED on ejabberd@ejabberd-1 node is now visible at ejabberd@ejabberd-2 node.</p> <p>Thank you very much for your help.</p> <p>Last question : Once configured for LDAP authentication, there is no way to launch the admin menu (<noindex><a href="http://localhost:5280/admin/" title="http://localhost:5280/admin/" rel="nofollow" >http://localhost:5280/admin/</a></noindex>) because the LDAP password doesn't match with the internal (mnesia) password.<br /> Is it possible to reset passwords or create new admins accounts matching with LDAP accounts ?</p> Thu, 15 Jan 2009 15:32:23 +0000 dray comment 53941 at https://www.ejabberd.im Ejabberd cluster ... https://www.ejabberd.im/node/3336#comment-53939 <div class="quote-msg"> <div class="quote-author"><em>zinid</em> wrote:</div> <p>Quite strange:</p> <div class="quote-msg"> <div class="quote-author"><em>dray</em> wrote:</div> <div class="codeblock"><code>(ejabberd@ejabberd-2)2&gt; mnesia:info().<br />...<br />remote&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = [acl,caps_features,config,disco_publish,iq_response,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; irc_custom,last_activity,local_config,mod_register_ip,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; motd,motd_users,muc_online_room,muc_registered,muc_room,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; offline_msg,passwd,privacy,private_storage,pubsub_item,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pubsub_node,pubsub_state,roster,route,s2s,session,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sr_group,sr_user,vcard,vcard_search]<br />...<br />[{&#039;ejabberd@ejabberd-1&#039;,ram_copies}] = [route,session,s2s,iq_response,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; caps_features,muc_online_room]</code></div> </div> <p>Could you please run these commands on ejabberd-2 and show the output:</p> <div class="codeblock"><code>&gt; mnesia:add_table_copy(session, node(), ram_copies).<br />&gt; mnesia:add_table_copy(route, node(), ram_copies).</code></div> </div> <p>(ejabberd@ejabberd-2)6&gt; mnesia:add_table_copy(session, node(), ram_copies).<br /> {atomic,ok}<br /> (ejabberd@ejabberd-2)7&gt; mnesia:add_table_copy(route, node(), ram_copies).<br /> {atomic,ok}<br /> (ejabberd@ejabberd-2)8&gt; net_adm:ping('ejabberd@ejabberd-1').<br /> pong<br /> (ejabberd@ejabberd-2)9&gt; mnesia:info().<br /> ---&gt; Processes holding locks &lt;---<br /> ---&gt; Processes waiting for locks &lt;---<br /> ---&gt; Participant transactions &lt;---<br /> ---&gt; Coordinator transactions &lt;---<br /> ---&gt; Uncertain transactions &lt;---<br /> ---&gt; Active tables &lt;---<br /> route : with 5 records occupying 577 words of mem<br /> session : with 0 records occupying 279 words of mem<br /> schema : with 30 records occupying 3770 words of mem<br /> ===&gt; System info in version "4.4.3", debug level = none &lt;===<br /> opt_disc. Directory "c:/Program Files/ejabberd-2.0.2_2/bin/Mnesia.ejabberd@ejabb<br /> erd-2" is used.<br /> use fallback at restart = false<br /> running db nodes = ['ejabberd@ejabberd-1','ejabberd@ejabberd-2']<br /> stopped db nodes = []<br /> master node tables = []<br /> remote = [acl,caps_features,config,disco_publish,iq_response,<br /> irc_custom,last_activity,local_config,mod_register_ip,<br /> motd,motd_users,muc_online_room,muc_registered,muc_room,<br /> offline_msg,passwd,privacy,private_storage,pubsub_item,<br /> pubsub_node,pubsub_state,roster,s2s,sr_group,sr_user,<br /> vcard,vcard_search]<br /> ram_copies = [route,session]<br /> disc_copies = [schema]<br /> disc_only_copies = []<br /> [] = [local_config,mod_register_ip]<br /> [{'ejabberd@ejabberd-1',disc_copies}] = [acl,config,passwd,motd,motd_users,<br /> irc_custom,last_activity,muc_room,<br /> muc_registered,privacy,pubsub_node,<br /> pubsub_state,roster,sr_group,sr_user,<br /> vcard_search]<br /> [{'ejabberd@ejabberd-1',disc_copies},<br /> {'ejabberd@ejabberd-2',disc_copies}] = [schema]<br /> [{'ejabberd@ejabberd-1',disc_only_copies}] = [disco_publish,offline_msg,<br /> private_storage,pubsub_item,<br /> vcard]<br /> [{'ejabberd@ejabberd-1',ram_copies}] = [s2s,iq_response,caps_features,<br /> muc_online_room]<br /> [{'ejabberd@ejabberd-1',ram_copies},<br /> {'ejabberd@ejabberd-2',ram_copies}] = [session,route]<br /> 5 transactions committed, 1 aborted, 0 restarted, 2 logged to disc<br /> 0 held locks, 0 in queue; 0 local transactions, 0 remote<br /> 0 transactions waits for other nodes: []<br /> ok<br /> (ejabberd@ejabberd-2)10&gt;</p> Thu, 15 Jan 2009 06:58:07 +0000 dray comment 53939 at https://www.ejabberd.im Re: I need some help on Ejabberd clustering with AD https://www.ejabberd.im/node/3336#comment-53938 <p>Quite strange:</p> <div class="quote-msg"> <div class="quote-author"><em>dray</em> wrote:</div> <div class="codeblock"><code>(ejabberd@ejabberd-2)2&gt; mnesia:info().<br />...<br />remote&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = [acl,caps_features,config,disco_publish,iq_response,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; irc_custom,last_activity,local_config,mod_register_ip,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; motd,motd_users,muc_online_room,muc_registered,muc_room,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; offline_msg,passwd,privacy,private_storage,pubsub_item,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pubsub_node,pubsub_state,roster,route,s2s,session,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sr_group,sr_user,vcard,vcard_search]<br />...<br />[{&#039;ejabberd@ejabberd-1&#039;,ram_copies}] = [route,session,s2s,iq_response,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; caps_features,muc_online_room]</code></div> </div> <p>Could you please run these commands on ejabberd-2 and show the output:</p> <div class="codeblock"><code>&gt; mnesia:add_table_copy(session, node(), ram_copies).<br />&gt; mnesia:add_table_copy(route, node(), ram_copies).</code></div> Thu, 15 Jan 2009 03:58:32 +0000 zinid comment 53938 at https://www.ejabberd.im ejabberd clustering https://www.ejabberd.im/node/3336#comment-53936 <div class="quote-msg"> <div class="quote-author"><em>zinid</em> wrote:</div> <div class="quote-msg"> <div class="quote-author"><em>dray</em> wrote:</div> <p>Here is my configuration :</p> <p>Ejabberd domain = AD domain = commundev-evo.fr</p> <p>Ejabberdctl.cfg (ejabberd-1) :<br /> ERLANG_NODE=ejabberd@ejabberd-1</p> <p>Ejabberdctl.cfg (ejabberd-2) :<br /> ERLANG_NODE=ejabberd@ejabberd-2 </p></div> <p>Did you read Chapter 6 of Installation Guide? Did you perform all 6 steps from section 6.2?</p> <p>If you did, show Mnesia information from both of your nodes:</p> <div class="codeblock"><code>&gt; mnesia:info().</code></div> <p>Also try to ping your nodes:</p> <div class="codeblock"><code>(ejabberd@ejabberd-2)&gt; net_adm:ping(&#039;ejabberd@ejabberd-1&#039;).</code></div> <p>By the way, the acl {acl, admin, {user, "admin", "ejabberd-1"}} will <strong>never</strong> match just because you haven't virtual host "ejabberd-1": your virtual host name is "commundev-evo.fr".</p></div> <p>-------------------------------------------------------------------------------------------------<br /> I'm checking ejabberd cluster using just the mnesia database and ejabberd internal authentication<br /> (until the problem is fixed).<br /> -------------------------------------------------------------------------------------------------</p> <p>Results :</p> <p>(ejabberd@ejabberd-2)2&gt; mnesia:info().<br /> ---&gt; Processes holding locks &lt;---<br /> ---&gt; Processes waiting for locks &lt;---<br /> ---&gt; Participant transactions &lt;---<br /> ---&gt; Coordinator transactions &lt;---<br /> ---&gt; Uncertain transactions &lt;---<br /> ---&gt; Active tables &lt;---<br /> schema : with 30 records occupying 3759 words of mem<br /> ===&gt; System info in version "4.4.3", debug level = none &lt;===<br /> opt_disc. Directory "c:/Program Files/ejabberd-2.0.2_2/bin/Mnesia.ejabberd@ejabb<br /> erd-2" is used.<br /> use fallback at restart = false<br /> running db nodes = ['ejabberd@ejabberd-1','ejabberd@ejabberd-2']<br /> stopped db nodes = []<br /> master node tables = []<br /> remote = [acl,caps_features,config,disco_publish,iq_response,<br /> irc_custom,last_activity,local_config,mod_register_ip,<br /> motd,motd_users,muc_online_room,muc_registered,muc_room,<br /> offline_msg,passwd,privacy,private_storage,pubsub_item,<br /> pubsub_node,pubsub_state,roster,route,s2s,session,<br /> sr_group,sr_user,vcard,vcard_search]<br /> ram_copies = []<br /> disc_copies = [schema]<br /> disc_only_copies = []<br /> [] = [local_config,mod_register_ip]<br /> [{'ejabberd@ejabberd-1',disc_copies}] = [acl,config,passwd,motd,motd_users,<br /> irc_custom,last_activity,muc_room,<br /> muc_registered,privacy,pubsub_node,<br /> pubsub_state,roster,sr_group,sr_user,<br /> vcard_search]<br /> [{'ejabberd@ejabberd-1',disc_copies},<br /> {'ejabberd@ejabberd-2',disc_copies}] = [schema]<br /> [{'ejabberd@ejabberd-1',disc_only_copies}] = [disco_publish,offline_msg,<br /> private_storage,pubsub_item,<br /> vcard]<br /> [{'ejabberd@ejabberd-1',ram_copies}] = [route,session,s2s,iq_response,<br /> caps_features,muc_online_room]<br /> 3 transactions committed, 1 aborted, 0 restarted, 0 logged to disc<br /> 0 held locks, 0 in queue; 0 local transactions, 0 remote<br /> 0 transactions waits for other nodes: []<br /> ok<br /> (ejabberd@ejabberd-2)3&gt; net_adm:ping('ejabberd@ejabberd-1').<br /> pong<br /> (ejabberd@ejabberd-2)4&gt; mnesia:info().<br /> ---&gt; Processes holding locks &lt;---<br /> ---&gt; Processes waiting for locks &lt;---<br /> ---&gt; Participant transactions &lt;---<br /> ---&gt; Coordinator transactions &lt;---<br /> ---&gt; Uncertain transactions &lt;---<br /> ---&gt; Active tables &lt;---<br /> schema : with 30 records occupying 3759 words of mem<br /> ===&gt; System info in version "4.4.3", debug level = none &lt;===<br /> opt_disc. Directory "c:/Program Files/ejabberd-2.0.2_2/bin/Mnesia.ejabberd@ejabb<br /> erd-2" is used.<br /> use fallback at restart = false<br /> running db nodes = ['ejabberd@ejabberd-1','ejabberd@ejabberd-2']<br /> stopped db nodes = []<br /> master node tables = []<br /> remote = [acl,caps_features,config,disco_publish,iq_response,<br /> irc_custom,last_activity,local_config,mod_register_ip,<br /> motd,motd_users,muc_online_room,muc_registered,muc_room,<br /> offline_msg,passwd,privacy,private_storage,pubsub_item,<br /> pubsub_node,pubsub_state,roster,route,s2s,session,<br /> sr_group,sr_user,vcard,vcard_search]<br /> ram_copies = []<br /> disc_copies = [schema]<br /> disc_only_copies = []<br /> [] = [local_config,mod_register_ip]<br /> [{'ejabberd@ejabberd-1',disc_copies}] = [acl,config,passwd,motd,motd_users,<br /> irc_custom,last_activity,muc_room,<br /> muc_registered,privacy,pubsub_node,<br /> pubsub_state,roster,sr_group,sr_user,<br /> vcard_search]<br /> [{'ejabberd@ejabberd-1',disc_copies},<br /> {'ejabberd@ejabberd-2',disc_copies}] = [schema]<br /> [{'ejabberd@ejabberd-1',disc_only_copies}] = [disco_publish,offline_msg,<br /> private_storage,pubsub_item,<br /> vcard]<br /> [{'ejabberd@ejabberd-1',ram_copies}] = [route,session,s2s,iq_response,<br /> caps_features,muc_online_room]<br /> 3 transactions committed, 1 aborted, 0 restarted, 0 logged to disc<br /> 0 held locks, 0 in queue; 0 local transactions, 0 remote<br /> 0 transactions waits for other nodes: []<br /> ok</p> <p>---------------------------------------------------------------------------------------------</p> <p>(ejabberd@ejabberd-2)5&gt; net_adm:ping('ejabberd@ejabberd-1').<br /> pong<br /> (ejabberd@ejabberd-2)6&gt;</p> Wed, 14 Jan 2009 15:42:06 +0000 dray comment 53936 at https://www.ejabberd.im Re: I need some help on Ejabberd clustering with AD https://www.ejabberd.im/node/3336#comment-53930 <div class="quote-msg"> <div class="quote-author"><em>dray</em> wrote:</div> <p>Here is my configuration :</p> <p>Ejabberd domain = AD domain = commundev-evo.fr</p> <p>Ejabberdctl.cfg (ejabberd-1) :<br /> ERLANG_NODE=ejabberd@ejabberd-1</p> <p>Ejabberdctl.cfg (ejabberd-2) :<br /> ERLANG_NODE=ejabberd@ejabberd-2 </p></div> <p>Did you read Chapter 6 of Installation Guide? Did you perform all 6 steps from section 6.2?</p> <p>If you did, show Mnesia information from both of your nodes:</p> <div class="codeblock"><code>&gt; mnesia:info().</code></div> <p>Also try to ping your nodes:</p> <div class="codeblock"><code>(ejabberd@ejabberd-2)&gt; net_adm:ping(&#039;ejabberd@ejabberd-1&#039;).</code></div> <p>By the way, the acl {acl, admin, {user, "admin", "ejabberd-1"}} will <strong>never</strong> match just because you haven't virtual host "ejabberd-1": your virtual host name is "commundev-evo.fr".</p> Wed, 14 Jan 2009 11:56:15 +0000 zinid comment 53930 at https://www.ejabberd.im ejabberd cluster https://www.ejabberd.im/node/3336#comment-53927 <p>Thanks but first of all, no way for my ejabberd servers to communicate.</p> <p>Here is my configuration :</p> <p>Ejabberd domain = AD domain = commundev-evo.fr<br /> First server : EJABBERD-1<br /> Second server : EJABBERD-2</p> <p>Spark configuration for user1 :<br /> - Advanced connection preferences -&gt; Connection -&gt; Host : ejabberd-2.commundev-evo.fr<br /> - Connection window : user = user1 - pwd = user1 - server = commundev-evo.fr</p> <p>Spark configuration for user2 :<br /> - Advanced connection preferences -&gt; Connection -&gt; Host : ejabberd-1.commundev-evo.fr<br /> - Connection window : user = user2 - pwd = user2 - server = commundev-evo.fr</p> <p>LDAP authentication = OK for ejabberd clients (Spark) but user1 ans user2 can't communicate.<br /> If I configure Spark for another user on ejabberd-1 or ejabberd-2, the communication works fine with the active user on the SAME server.</p> <p>So the ejabberd router seems no to be working. </p> <p>Ejabberdctl.cfg (ejabberd-1) :<br /> ERLANG_NODE=ejabberd@ejabberd-1</p> <p>Ejabberdctl.cfg (ejabberd-2) :<br /> ERLANG_NODE=ejabberd@ejabberd-2<br /> ---------------------------------------------------------------------------------------------------------<br /> Ejabberd.cfg (ejabberd-1) :</p> <p>%%%<br /> %%% ejabberd configuration file<br /> %%%</p> <p>%%% The parameters used in this configuration file are explained in more detail<br /> %%% in the ejabberd Installation and Operation Guide.<br /> %%% Please consult the Guide in case of doubts, it is included in<br /> %%% your copy of ejabberd, and is also available online at<br /> %%% <noindex><a href="http://www.process-one.net/en/ejabberd/docs/" title="http://www.process-one.net/en/ejabberd/docs/" rel="nofollow" >http://www.process-one.net/en/ejabberd/docs/</a></noindex></p> <p>%%% This configuration file contains Erlang terms.<br /> %%% In case you want to understand the syntax, here are the concepts:<br /> %%%<br /> %%% - The character to comment a line is %<br /> %%%<br /> %%% - Each term ends in a dot, for example:<br /> %%% override_global.<br /> %%%<br /> %%% - A tuple has a fixed definition, its elements are<br /> %%% enclosed in {}, and separated with commas:<br /> %%% {loglevel, 4}.<br /> %%%<br /> %%% - A list can have as many elements as you want,<br /> %%% and is enclosed in [], for example:<br /> %%% [http_poll, web_admin, tls]<br /> %%%<br /> %%% - A keyword of ejabberd is a word in lowercase.<br /> %%% The strings are enclosed in "" and can have spaces, dots...<br /> %%% {language, "en"}.<br /> %%% {ldap_rootdn, "dc=example,dc=com"}.<br /> %%%<br /> %%% - This term includes a tuple, a keyword, a list and two strings:<br /> %%% {hosts, ["jabber.example.net", "im.example.com"]}.<br /> %%%</p> <p>%%% =======================<br /> %%% OVERRIDE STORED OPTIONS</p> <p>%%<br /> %% Override the old values stored in the database.<br /> %%</p> <p>%%<br /> %% Override global options (shared by all ejabberd nodes in a cluster).<br /> %%<br /> override_global.</p> <p>%%<br /> %% Override local options (specific for this particular ejabberd node).<br /> %%<br /> override_local.</p> <p>%%<br /> %% Remove the Access Control Lists before new ones are added.<br /> %%<br /> override_acls.</p> <p>%%% =========<br /> %%% DEBUGGING</p> <p>%%<br /> %% loglevel: Verbosity of log files generated by ejabberd.<br /> %% 0: No ejabberd log at all (not recommended)<br /> %% 1: Critical<br /> %% 2: Error<br /> %% 3: Warning<br /> %% 4: Info<br /> %% 5: Debug<br /> %%<br /> {loglevel, 4}.</p> <p>%%<br /> %% watchdog_admins: If an ejabberd process consumes too much memory,<br /> %% send live notifications to those Jabber accounts.<br /> %%<br /> %%{watchdog_admins, ["admin@ejabberd-1"]}.</p> <p>%%% ================<br /> %%% SERVED HOSTNAMES</p> <p>%%<br /> %% hosts: Domains served by ejabberd.<br /> %% You can define one or several, for example:<br /> %% {hosts, ["example.net", "example.com", "example.org"]}.<br /> %%<br /> {hosts, ["commundev-evo.fr"]}.</p> <p>%%<br /> %% route_subdomains: Delegate subdomains to other Jabber server.<br /> %% For example, if this ejabberd serves example.org and you want<br /> %% to allow communication with a Jabber server called im.example.org.<br /> %%<br /> {route_subdomains, s2s}.</p> <p>%%% ===============<br /> %%% LISTENING PORTS</p> <p>%%<br /> %% listen: Which ports will ejabberd listen, which service handles it<br /> %% and what options to start it with.<br /> %%<br /> {listen,<br /> [</p> <p> {5222, ejabberd_c2s, [<br /> {certfile, "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\server.pem"}, starttls,<br /> {access, c2s},<br /> {shaper, c2s_shaper},<br /> {max_stanza_size, 65536}<br /> ]},</p> <p> %%<br /> %% To enable the old SSL connection method in port 5223:<br /> %%<br /> %%{5223, ejabberd_c2s, [<br /> %% {certfile, "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\server.pem"}, tls,<br /> %% {access, c2s},<br /> %% {shaper, c2s_shaper},<br /> %% {max_stanza_size, 65536}<br /> %% ]},</p> <p> {5269, ejabberd_s2s_in, [<br /> {shaper, s2s_shaper},<br /> {max_stanza_size, 131072}<br /> ]},</p> <p> %%<br /> %% ejabberd_service: Interact with external components (transports...)<br /> %%<br /> %%{8888, ejabberd_service, [<br /> %% {access, all},<br /> %% {shaper_rule, fast},<br /> %% {ip, {127, 0, 0, 1}},<br /> %% {hosts, ["icq.example.org", "sms.example.org"],<br /> %% [{password, "secret"}]<br /> %% }<br /> %% ]},</p> <p> {5280, ejabberd_http, [<br /> http_bind,<br /> http_poll,<br /> web_admin<br /> ]}</p> <p> ]}.</p> <p>%%<br /> %% s2s_use_starttls: Enable STARTTLS + Dialback for S2S connections.<br /> %% Allowed values are: true or false.<br /> %% You must specify a certificate file.<br /> %%<br /> %%{s2s_use_starttls, true}.</p> <p>%%<br /> %% s2s_certfile: Specify a certificate file.<br /> %%<br /> %%{s2s_certfile, "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\server.pem"}.</p> <p>%%<br /> %% domain_certfile: Specify a different certificate for each served hostname.<br /> %%<br /> %%{domain_certfile, "example.org", "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\example_org.pem"}.<br /> %%{domain_certfile, "example.com", "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\example_com.pem"}.</p> <p>%%<br /> %% S2S whitelist or blacklist<br /> %%<br /> %% Default s2s policy for undefined hosts.<br /> %%<br /> %%{s2s_default_policy, allow}.</p> <p>%%<br /> %% Allow or deny communication with specific servers.<br /> %%<br /> %%{{s2s_host, "goodhost.org"}, allow}.<br /> %%{{s2s_host, "badhost.org"}, deny}.</p> <p>%%% ==============<br /> %%% AUTHENTICATION</p> <p>%%<br /> %% auth_method: Method used to authenticate the users.<br /> %% The default method is the internal.<br /> %% If you want to use a different method,<br /> %% comment this line and enable the correct ones.<br /> %%<br /> %%{auth_method, internal}.</p> <p>%%<br /> %% Authentication using external script<br /> %% Make sure the script is executable by ejabberd.<br /> %%<br /> %%{auth_method, external}.<br /> %%{extauth_program, "\\path\\to\\authentication\\script"}.</p> <p>%%<br /> %% Authentication using ODBC<br /> %% Remember to setup a database in the next section.<br /> %%<br /> %%{auth_method, odbc}.</p> <p>%%<br /> %% Authentication using PAM<br /> %%<br /> %%{auth_method, pam}.<br /> %%{pam_service, "pamservicename"}.</p> <p>%%<br /> %% Authentication using LDAP<br /> %%<br /> {auth_method, ldap}.<br /> %%<br /> %% List of LDAP servers:<br /> {ldap_servers, ["DCCOMMUNDEV-EVO"]}.<br /> %%<br /> %% LDAP attribute that holds user ID:<br /> {ldap_uids, [{"sAMAccountName","%u"}]}.<br /> {ldap_filter, "(&amp;(objectClass=user)(objectCategory=person))"}.<br /> %%<br /> %% Search base of LDAP directory:<br /> {ldap_base, "OU=Tsung_Users,DC=COMMUNDEV-EVO,DC=FR"}.<br /> %%<br /> %% LDAP manager:<br /> %% ************************************************************************************************<br /> %% Note for LDAP Manager : if this account is only member of the "Domain users" group it MUST BE<br /> %% -----&gt; Member of the Ejabberd server "Administrators" group<br /> %% -----&gt; Allowed to log on locally to the Ejabberd server<br /> %% ************************************************************************************************<br /> {ldap_rootdn, "CN=EJABBERD,CN=Users,DC=COMMUNDEV-EVO,DC=FR"}.<br /> %%<br /> %% Password to LDAP manager:<br /> {ldap_password, "*********"}. </p> <p>%%<br /> %% Anonymous login support:<br /> %% auth_method: anonymous<br /> %% anonymous_protocol: sasl_anon | login_anon | both<br /> %% allow_multiple_connections: true | false<br /> %%<br /> %%{host_config, "public.example.org", [{auth_method, anonymous},<br /> %% {allow_multiple_connections, false},<br /> %% {anonymous_protocol, sasl_anon}]}.<br /> %%<br /> %% To use both anonymous and internal authentication:<br /> %%<br /> %%{host_config, "public.example.org", [{auth_method, [internal, anonymous]}]}.</p> <p>%%% ==============<br /> %%% DATABASE SETUP</p> <p>%% ejabberd uses by default the internal Mnesia database,<br /> %% so you can avoid this section.<br /> %% This section provides configuration examples in case<br /> %% you want to use other database backends.<br /> %% Please consult the ejabberd Guide for details about database creation.</p> <p>%%<br /> %% MySQL server:<br /> %%<br /> %%{odbc_server, {mysql, "server", "database", "username", "password"}}.<br /> %%<br /> %% If you want to specify the port:<br /> %%{odbc_server, {mysql, "server", 1234, "database", "username", "password"}}.</p> <p>%%<br /> %% PostgreSQL server:<br /> %%<br /> %%{odbc_server, {pgsql, "server", "database", "username", "password"}}.<br /> %%<br /> %% If you want to specify the port:<br /> %%{odbc_server, {pgsql, "server", 1234, "database", "username", "password"}}.<br /> %%<br /> %% If you use PostgreSQL, have a large database, and need a<br /> %% faster but inexact replacement for "select count(*) from users"<br /> %%<br /> %%{pgsql_users_number_estimate, true}.</p> <p>%%<br /> %% ODBC compatible or MSSQL server:<br /> %%<br /> %%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}.</p> <p>%%% ===============<br /> %%% TRAFFIC SHAPERS</p> <p>%%<br /> %% The "normal" shaper limits traffic speed to 1.000 B/s<br /> %%<br /> {shaper, normal, {maxrate, 1000}}.</p> <p>%%<br /> %% The "fast" shaper limits traffic speed to 50.000 B/s<br /> %%<br /> {shaper, fast, {maxrate, 50000}}.</p> <p>%%% ====================<br /> %%% ACCESS CONTROL LISTS</p> <p>%%<br /> %% The 'admin' ACL grants administrative privileges to Jabber accounts.<br /> %% You can put as many accounts as you want.<br /> %%<br /> {acl, admin, {user, "admin", "ejabberd-1"}}.</p> <p>%%<br /> %% Blocked users<br /> %%<br /> %%{acl, blocked, {user, "baduser", "example.org"}}.<br /> %%{acl, blocked, {user, "test"}}.</p> <p>%%<br /> %% Local users: don't modify this line.<br /> %%<br /> {acl, local, {user_regexp, ""}}.</p> <p>%%<br /> %% More examples of ACLs<br /> %%<br /> %%{acl, jabberorg, {server, "jabber.org"}}.<br /> %%{acl, aleksey, {user, "aleksey", "jabber.ru"}}.<br /> %%{acl, test, {user_regexp, "^test"}}.<br /> %%{acl, test, {user_glob, "test*"}}.</p> <p>%%% ============<br /> %%% ACCESS RULES</p> <p>%% Define the maximum number of time a single user is allowed to connect:<br /> {access, max_user_sessions, [{10, all}]}.</p> <p>%% This rule allows access only for local users:<br /> {access, local, [{allow, local}]}.</p> <p>%% Only non-blocked users can use c2s connections:<br /> {access, c2s, [{deny, blocked},<br /> {allow, all}]}.</p> <p>%% For all users except admins used "normal" shaper<br /> {access, c2s_shaper, [{none, admin},<br /> {normal, all}]}.</p> <p>%% For all S2S connections used "fast" shaper<br /> {access, s2s_shaper, [{fast, all}]}.</p> <p>%% Only admins can send announcement messages:<br /> {access, announce, [{allow, admin}]}.</p> <p>%% Only admins can use configuration interface:<br /> {access, configure, [{allow, admin}]}.</p> <p>%% Admins of this server are also admins of MUC service:<br /> {access, muc_admin, [{allow, admin}]}.</p> <p>%% All users are allowed to use MUC service:<br /> {access, muc, [{allow, all}]}.</p> <p>%% Every username can be registered via in-band registration:<br /> %% To disable in-band registration, replace 'allow' with 'deny'.<br /> {access, register, [{allow, all}]}.</p> <p>%% Everybody can create pubsub nodes<br /> {access, pubsub_createnode, [{allow, all}]}.</p> <p>%%% ================<br /> %%% DEFAULT LANGUAGE</p> <p>%%<br /> %% language: Default language used for server messages.<br /> %%<br /> {language, "en"}.</p> <p>%%% MODULES</p> <p>%%<br /> %% Modules enabled in all ejabberd virtual hosts.<br /> %%<br /> {modules,<br /> [<br /> {mod_adhoc, []},<br /> {mod_announce, [{access, announce}]}, % requires mod_adhoc<br /> {mod_caps, []},<br /> {mod_configure,[]}, % requires mod_adhoc<br /> {mod_disco, []},<br /> %%{mod_echo, [{host, "echo.EJABBERD"}]},<br /> {mod_http_bind,[]},<br /> %%{mod_http_fileserver, [{docroot, "C:\\Program Files\\ejabberd-2.0.2_2\\www"}]},<br /> {mod_irc, []},<br /> {mod_last, []},<br /> {mod_muc, [<br /> %%{host, "conference.@HOST@"},<br /> {access, muc},<br /> {access_create, muc},<br /> {access_persistent, muc},<br /> {access_admin, muc_admin}<br /> ]},<br /> %%{mod_muc_log,[]},<br /> {mod_offline, []},<br /> {mod_privacy, []},<br /> {mod_private, []},<br /> %%{mod_proxy65,[]},<br /> {mod_pubsub, [ % requires mod_caps<br /> {access_createnode, pubsub_createnode},<br /> {plugins, ["default", "pep"]}<br /> ]},<br /> {mod_register, [<br /> %%<br /> %% After successful registration, the user receives<br /> %% a message with this subject and body.<br /> %%<br /> {welcome_message, {"Bienvenue !",<br /> "Bienvenue sur le serveur JABBER SRV-EJABBERD."}},</p> <p> %%<br /> %% When a user registers, send a notification to<br /> %% these Jabber accounts.<br /> %%<br /> %%{registration_watchers, ["admin1@example.org"]},</p> <p> {access, register}<br /> ]},<br /> {mod_roster, []},<br /> %%{mod_service_log,[]},<br /> {mod_shared_roster,[]},<br /> %%{mod_stats, []},<br /> {mod_time, []},<br /> {mod_vcard, []},<br /> {mod_vcard_ldap,<br /> [{ldap_vcard_map,<br /> [{"NICKNAME", "%u", []},<br /> {"GIVEN", "%s", ["givenName"]},<br /> {"MIDDLE", "%s", ["initials"]},<br /> {"FAMILY", "%s", ["sn"]},<br /> {"FN", "%s", ["displayName"]},<br /> {"EMAIL", "%s", ["mail"]},<br /> {"ORGNAME", "%s", ["company"]},<br /> {"ORGUNIT", "%s", ["department"]},<br /> {"CTRY", "%s", ["c"]},<br /> {"LOCALITY", "%s", ["l"]},<br /> {"STREET", "%s", ["streetAddress"]},<br /> {"REGION", "%s", ["st"]},<br /> {"PCODE", "%s", ["postalCode"]},<br /> {"TITLE", "%s", ["title"]},<br /> {"URL", "%s", ["wWWHomePage"]},<br /> {"DESC", "%s", ["description"]},<br /> {"TEL", "%s", ["telephoneNumber"]}]},<br /> {ldap_search_fields,<br /> [{"Utilisateur", "%u"},<br /> {"Prénom", "givenName"},<br /> {"Nom", "sn"},<br /> {"Email", "mail"},<br /> {"Société", "company"},<br /> {"Service", "department"},<br /> {"Mission principale", "title"},<br /> {"Description", "description"},<br /> {"Téléphone", "telephoneNumber"}]},<br /> {ldap_search_reported,<br /> [{"Nom complet", "FN"},<br /> {"Utilisateur", "NICKNAME"},<br /> {"Email", "EMAIL"}]}<br /> ]},<br /> {mod_version, []}<br /> ]}.</p> <p>%%% $Id: ejabberd.cfg.example 1073 2007-12-17 11:03:22Z badlop $</p> <p>%%% Local Variables:<br /> %%% mode: erlang<br /> %%% End:<br /> %%% vim: set filetype=erlang tabstop=8:<br /> --------------------------------------------------------------------------------------------------------</p> <p>Ejabberd.cfg (ejabberd-2) :</p> <p>%%%<br /> %%% ejabberd configuration file<br /> %%%</p> <p>%%% The parameters used in this configuration file are explained in more detail<br /> %%% in the ejabberd Installation and Operation Guide.<br /> %%% Please consult the Guide in case of doubts, it is included in<br /> %%% your copy of ejabberd, and is also available online at<br /> %%% <noindex><a href="http://www.process-one.net/en/ejabberd/docs/" title="http://www.process-one.net/en/ejabberd/docs/" rel="nofollow" >http://www.process-one.net/en/ejabberd/docs/</a></noindex></p> <p>%%% This configuration file contains Erlang terms.<br /> %%% In case you want to understand the syntax, here are the concepts:<br /> %%%<br /> %%% - The character to comment a line is %<br /> %%%<br /> %%% - Each term ends in a dot, for example:<br /> %%% override_global.<br /> %%%<br /> %%% - A tuple has a fixed definition, its elements are<br /> %%% enclosed in {}, and separated with commas:<br /> %%% {loglevel, 4}.<br /> %%%<br /> %%% - A list can have as many elements as you want,<br /> %%% and is enclosed in [], for example:<br /> %%% [http_poll, web_admin, tls]<br /> %%%<br /> %%% - A keyword of ejabberd is a word in lowercase.<br /> %%% The strings are enclosed in "" and can have spaces, dots...<br /> %%% {language, "en"}.<br /> %%% {ldap_rootdn, "dc=example,dc=com"}.<br /> %%%<br /> %%% - This term includes a tuple, a keyword, a list and two strings:<br /> %%% {hosts, ["jabber.example.net", "im.example.com"]}.<br /> %%%</p> <p>%%% =======================<br /> %%% OVERRIDE STORED OPTIONS</p> <p>%%<br /> %% Override the old values stored in the database.<br /> %%</p> <p>%%<br /> %% Override global options (shared by all ejabberd nodes in a cluster).<br /> %%<br /> override_global.</p> <p>%%<br /> %% Override local options (specific for this particular ejabberd node).<br /> %%<br /> override_local.</p> <p>%%<br /> %% Remove the Access Control Lists before new ones are added.<br /> %%<br /> override_acls.</p> <p>%%% =========<br /> %%% DEBUGGING</p> <p>%%<br /> %% loglevel: Verbosity of log files generated by ejabberd.<br /> %% 0: No ejabberd log at all (not recommended)<br /> %% 1: Critical<br /> %% 2: Error<br /> %% 3: Warning<br /> %% 4: Info<br /> %% 5: Debug<br /> %%<br /> {loglevel, 4}.</p> <p>%%<br /> %% watchdog_admins: If an ejabberd process consumes too much memory,<br /> %% send live notifications to those Jabber accounts.<br /> %%<br /> %%{watchdog_admins, ["admin@ejabberd-1"]}.</p> <p>%%% ================<br /> %%% SERVED HOSTNAMES</p> <p>%%<br /> %% hosts: Domains served by ejabberd.<br /> %% You can define one or several, for example:<br /> %% {hosts, ["example.net", "example.com", "example.org"]}.<br /> %%<br /> %%{hosts, ["ejabberd-1"]}.</p> <p>{hosts, ["commundev-evo.fr"]}.</p> <p>%%<br /> %% route_subdomains: Delegate subdomains to other Jabber server.<br /> %% For example, if this ejabberd serves example.org and you want<br /> %% to allow communication with a Jabber server called im.example.org.<br /> %%<br /> {route_subdomains, s2s}.</p> <p>%%% ===============<br /> %%% LISTENING PORTS</p> <p>%%<br /> %% listen: Which ports will ejabberd listen, which service handles it<br /> %% and what options to start it with.<br /> %%<br /> {listen,<br /> [</p> <p> {5222, ejabberd_c2s, [<br /> {certfile, "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\server.pem"}, starttls,<br /> {access, c2s},<br /> {shaper, c2s_shaper},<br /> {max_stanza_size, 65536}<br /> ]},</p> <p> %%<br /> %% To enable the old SSL connection method in port 5223:<br /> %%<br /> %%{5223, ejabberd_c2s, [<br /> %% {certfile, "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\server.pem"}, tls,<br /> %% {access, c2s},<br /> %% {shaper, c2s_shaper},<br /> %% {max_stanza_size, 65536}<br /> %% ]},</p> <p> {5269, ejabberd_s2s_in, [<br /> {shaper, s2s_shaper},<br /> {max_stanza_size, 131072}<br /> ]},</p> <p> %%<br /> %% ejabberd_service: Interact with external components (transports...)<br /> %%<br /> %%{8888, ejabberd_service, [<br /> %% {access, all},<br /> %% {shaper_rule, fast},<br /> %% {ip, {127, 0, 0, 1}},<br /> %% {hosts, ["icq.example.org", "sms.example.org"],<br /> %% [{password, "secret"}]<br /> %% }<br /> %% ]},</p> <p> {5280, ejabberd_http, [<br /> http_bind,<br /> http_poll,<br /> web_admin<br /> ]}</p> <p> ]}.</p> <p>%%<br /> %% s2s_use_starttls: Enable STARTTLS + Dialback for S2S connections.<br /> %% Allowed values are: true or false.<br /> %% You must specify a certificate file.<br /> %%<br /> %%{s2s_use_starttls, true}.</p> <p>%%<br /> %% s2s_certfile: Specify a certificate file.<br /> %%<br /> %%{s2s_certfile, "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\server.pem"}.</p> <p>%%<br /> %% domain_certfile: Specify a different certificate for each served hostname.<br /> %%<br /> %%{domain_certfile, "example.org", "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\example_org.pem"}.<br /> %%{domain_certfile, "example.com", "C:\\Program Files\\ejabberd-2.0.2_2\\conf\\example_com.pem"}.</p> <p>%%<br /> %% S2S whitelist or blacklist<br /> %%<br /> %% Default s2s policy for undefined hosts.<br /> %%<br /> %%{s2s_default_policy, allow}.</p> <p>%%<br /> %% Allow or deny communication with specific servers.<br /> %%<br /> %%{{s2s_host, "goodhost.org"}, allow}.<br /> %%{{s2s_host, "badhost.org"}, deny}.</p> <p>%%% ==============<br /> %%% AUTHENTICATION</p> <p>%%<br /> %% auth_method: Method used to authenticate the users.<br /> %% The default method is the internal.<br /> %% If you want to use a different method,<br /> %% comment this line and enable the correct ones.<br /> %%<br /> %%{auth_method, internal}.</p> <p>%%<br /> %% Authentication using external script<br /> %% Make sure the script is executable by ejabberd.<br /> %%<br /> %%{auth_method, external}.<br /> %%{extauth_program, "\\path\\to\\authentication\\script"}.</p> <p>%%<br /> %% Authentication using ODBC<br /> %% Remember to setup a database in the next section.<br /> %%<br /> %%{auth_method, odbc}.</p> <p>%%<br /> %% Authentication using PAM<br /> %%<br /> %%{auth_method, pam}.<br /> %%{pam_service, "pamservicename"}.</p> <p>%%<br /> %% Authentication using LDAP<br /> %%<br /> {auth_method, ldap}.<br /> %%<br /> %% List of LDAP servers:<br /> {ldap_servers, ["DCCOMMUNDEV-EVO"]}.<br /> %%<br /> %% LDAP attribute that holds user ID:<br /> {ldap_uids, [{"sAMAccountName","%u"}]}.<br /> {ldap_filter, "(&amp;(objectClass=user)(objectCategory=person))"}.<br /> %%<br /> %% Search base of LDAP directory:<br /> {ldap_base, "OU=Tsung_Users,DC=COMMUNDEV-EVO,DC=FR"}.<br /> %%<br /> %% LDAP manager:<br /> %% ************************************************************************************************<br /> %% Note for LDAP Manager : if this account is only member of the "Domain users" group it MUST BE<br /> %% -----&gt; Member of the Ejabberd server "Administrators" group<br /> %% -----&gt; Allowed to log on locally to the Ejabberd server<br /> %% ************************************************************************************************<br /> {ldap_rootdn, "CN=EJABBERD,CN=Users,DC=COMMUNDEV-EVO,DC=FR"}.<br /> %%<br /> %% Password to LDAP manager:<br /> {ldap_password, "***********"}. </p> <p>%%<br /> %% Anonymous login support:<br /> %% auth_method: anonymous<br /> %% anonymous_protocol: sasl_anon | login_anon | both<br /> %% allow_multiple_connections: true | false<br /> %%<br /> %%{host_config, "public.example.org", [{auth_method, anonymous},<br /> %% {allow_multiple_connections, false},<br /> %% {anonymous_protocol, sasl_anon}]}.<br /> %%<br /> %% To use both anonymous and internal authentication:<br /> %%<br /> %%{host_config, "public.example.org", [{auth_method, [internal, anonymous]}]}.</p> <p>%%% ==============<br /> %%% DATABASE SETUP</p> <p>%% ejabberd uses by default the internal Mnesia database,<br /> %% so you can avoid this section.<br /> %% This section provides configuration examples in case<br /> %% you want to use other database backends.<br /> %% Please consult the ejabberd Guide for details about database creation.</p> <p>%%<br /> %% MySQL server:<br /> %%<br /> %%{odbc_server, {mysql, "server", "database", "username", "password"}}.<br /> %%<br /> %% If you want to specify the port:<br /> %%{odbc_server, {mysql, "server", 1234, "database", "username", "password"}}.</p> <p>%%<br /> %% PostgreSQL server:<br /> %%<br /> %%{odbc_server, {pgsql, "server", "database", "username", "password"}}.<br /> %%<br /> %% If you want to specify the port:<br /> %%{odbc_server, {pgsql, "server", 1234, "database", "username", "password"}}.<br /> %%<br /> %% If you use PostgreSQL, have a large database, and need a<br /> %% faster but inexact replacement for "select count(*) from users"<br /> %%<br /> %%{pgsql_users_number_estimate, true}.</p> <p>%%<br /> %% ODBC compatible or MSSQL server:<br /> %%<br /> %%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}.</p> <p>%%% ===============<br /> %%% TRAFFIC SHAPERS</p> <p>%%<br /> %% The "normal" shaper limits traffic speed to 1.000 B/s<br /> %%<br /> {shaper, normal, {maxrate, 1000}}.</p> <p>%%<br /> %% The "fast" shaper limits traffic speed to 50.000 B/s<br /> %%<br /> {shaper, fast, {maxrate, 50000}}.</p> <p>%%% ====================<br /> %%% ACCESS CONTROL LISTS</p> <p>%%<br /> %% The 'admin' ACL grants administrative privileges to Jabber accounts.<br /> %% You can put as many accounts as you want.<br /> %%<br /> {acl, admin, {user, "admin", "ejabberd-1"}}.</p> <p>%%<br /> %% Blocked users<br /> %%<br /> %%{acl, blocked, {user, "baduser", "example.org"}}.<br /> %%{acl, blocked, {user, "test"}}.</p> <p>%%<br /> %% Local users: don't modify this line.<br /> %%<br /> {acl, local, {user_regexp, ""}}.</p> <p>%%<br /> %% More examples of ACLs<br /> %%<br /> %%{acl, jabberorg, {server, "jabber.org"}}.<br /> %%{acl, aleksey, {user, "aleksey", "jabber.ru"}}.<br /> %%{acl, test, {user_regexp, "^test"}}.<br /> %%{acl, test, {user_glob, "test*"}}.</p> <p>%%% ============<br /> %%% ACCESS RULES</p> <p>%% Define the maximum number of time a single user is allowed to connect:<br /> {access, max_user_sessions, [{10, all}]}.</p> <p>%% This rule allows access only for local users:<br /> {access, local, [{allow, local}]}.</p> <p>%% Only non-blocked users can use c2s connections:<br /> {access, c2s, [{deny, blocked},<br /> {allow, all}]}.</p> <p>%% For all users except admins used "normal" shaper<br /> {access, c2s_shaper, [{none, admin},<br /> {normal, all}]}.</p> <p>%% For all S2S connections used "fast" shaper<br /> {access, s2s_shaper, [{fast, all}]}.</p> <p>%% Only admins can send announcement messages:<br /> {access, announce, [{allow, admin}]}.</p> <p>%% Only admins can use configuration interface:<br /> {access, configure, [{allow, admin}]}.</p> <p>%% Admins of this server are also admins of MUC service:<br /> {access, muc_admin, [{allow, admin}]}.</p> <p>%% All users are allowed to use MUC service:<br /> {access, muc, [{allow, all}]}.</p> <p>%% Every username can be registered via in-band registration:<br /> %% To disable in-band registration, replace 'allow' with 'deny'.<br /> {access, register, [{allow, all}]}.</p> <p>%% Everybody can create pubsub nodes<br /> {access, pubsub_createnode, [{allow, all}]}.</p> <p>%%% ================<br /> %%% DEFAULT LANGUAGE</p> <p>%%<br /> %% language: Default language used for server messages.<br /> %%<br /> {language, "en"}.</p> <p>%%% MODULES</p> <p>%%<br /> %% Modules enabled in all ejabberd virtual hosts.<br /> %%<br /> {modules,<br /> [<br /> {mod_adhoc, []},<br /> {mod_announce, [{access, announce}]}, % requires mod_adhoc<br /> {mod_caps, []},<br /> {mod_configure,[]}, % requires mod_adhoc<br /> {mod_disco, []},<br /> %%{mod_echo, [{host, "echo.EJABBERD"}]},<br /> {mod_http_bind,[]},<br /> %%{mod_http_fileserver, [{docroot, "C:\\Program Files\\ejabberd-2.0.2_2\\www"}]},<br /> {mod_irc, []},<br /> {mod_last, []},<br /> {mod_muc, [<br /> %%{host, "conference.@HOST@"},<br /> {access, muc},<br /> {access_create, muc},<br /> {access_persistent, muc},<br /> {access_admin, muc_admin}<br /> ]},<br /> %%{mod_muc_log,[]},<br /> {mod_offline, []},<br /> {mod_privacy, []},<br /> {mod_private, []},<br /> %%{mod_proxy65,[]},<br /> {mod_pubsub, [ % requires mod_caps<br /> {access_createnode, pubsub_createnode},<br /> {plugins, ["default", "pep"]}<br /> ]},<br /> {mod_register, [<br /> %%<br /> %% After successful registration, the user receives<br /> %% a message with this subject and body.<br /> %%<br /> {welcome_message, {"Bienvenue !",<br /> "Bienvenue sur le serveur JABBER SRV-EJABBERD."}},</p> <p> %%<br /> %% When a user registers, send a notification to<br /> %% these Jabber accounts.<br /> %%<br /> %%{registration_watchers, ["admin1@example.org"]},</p> <p> {access, register}<br /> ]},<br /> {mod_roster, []},<br /> %%{mod_service_log,[]},<br /> {mod_shared_roster,[]},<br /> %%{mod_stats, []},<br /> {mod_time, []},<br /> {mod_vcard, []},<br /> {mod_vcard_ldap,<br /> [{ldap_vcard_map,<br /> [{"NICKNAME", "%u", []},<br /> {"GIVEN", "%s", ["givenName"]},<br /> {"MIDDLE", "%s", ["initials"]},<br /> {"FAMILY", "%s", ["sn"]},<br /> {"FN", "%s", ["displayName"]},<br /> {"EMAIL", "%s", ["mail"]},<br /> {"ORGNAME", "%s", ["company"]},<br /> {"ORGUNIT", "%s", ["department"]},<br /> {"CTRY", "%s", ["c"]},<br /> {"LOCALITY", "%s", ["l"]},<br /> {"STREET", "%s", ["streetAddress"]},<br /> {"REGION", "%s", ["st"]},<br /> {"PCODE", "%s", ["postalCode"]},<br /> {"TITLE", "%s", ["title"]},<br /> {"URL", "%s", ["wWWHomePage"]},<br /> {"DESC", "%s", ["description"]},<br /> {"TEL", "%s", ["telephoneNumber"]}]},<br /> {ldap_search_fields,<br /> [{"Utilisateur", "%u"},<br /> {"Prénom", "givenName"},<br /> {"Nom", "sn"},<br /> {"Email", "mail"},<br /> {"Société", "company"},<br /> {"Service", "department"},<br /> {"Mission principale", "title"},<br /> {"Description", "description"},<br /> {"Téléphone", "telephoneNumber"}]},<br /> {ldap_search_reported,<br /> [{"Nom complet", "FN"},<br /> {"Utilisateur", "NICKNAME"},<br /> {"Email", "EMAIL"}]}<br /> ]},<br /> {mod_version, []}<br /> ]}.</p> <p>%%% $Id: ejabberd.cfg.example 1073 2007-12-17 11:03:22Z badlop $</p> <p>%%% Local Variables:<br /> %%% mode: erlang<br /> %%% End:<br /> %%% vim: set filetype=erlang tabstop=8:</p> Wed, 14 Jan 2009 08:00:53 +0000 dray comment 53927 at https://www.ejabberd.im Re: I need some help on Ejabberd clustering with AD https://www.ejabberd.im/node/3336#comment-53921 <p>What do you mean "preferred"? You have to configure a load balancing correctly (for example via DNS) to make your cluster working.</p> Mon, 12 Jan 2009 12:12:54 +0000 zinid comment 53921 at https://www.ejabberd.im paroblem partially fixed https://www.ejabberd.im/node/3336#comment-53920 <div class="quote-msg"> <div class="quote-author"><em>zinid</em> wrote:</div> <p>Node name doesn't correlate with XMPP domain name. You should define XMPP domain in the config file: http://www.process-one.net/en/ejabberd/guide_en#htoc20</p></div> <p>Thanks, this fixes partially the issue : no matter where the user resides, he can now authenticate using then domain name as server (user@domain) but it is still necessary to provide the preferred server in the "Spark" client advanced configuration.</p> Mon, 12 Jan 2009 11:55:22 +0000 dray comment 53920 at https://www.ejabberd.im Re: I need some help on Ejabberd clustering with AD https://www.ejabberd.im/node/3336#comment-53884 <p>Node name doesn't correlate with XMPP domain name. You should define XMPP domain in the config file: <noindex><a href="http://www.process-one.net/en/ejabberd/guide_en#htoc20" title="http://www.process-one.net/en/ejabberd/guide_en#htoc20" rel="nofollow" >http://www.process-one.net/en/ejabberd/guide_en#htoc20</a></noindex></p> Tue, 30 Dec 2008 12:33:35 +0000 zinid comment 53884 at https://www.ejabberd.im