24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-16 22:05:29 +02:00

* Generated updated documentation.

SVN Revision: 712
This commit is contained in:
Mickaël Rémond 2007-01-24 20:16:01 +00:00
parent b9adafd29f
commit 456185d0d3
2 changed files with 198 additions and 148 deletions

View File

@ -95,101 +95,106 @@ SPAN{width:20%; float:right; text-align:left; margin-left:auto;}
<LI CLASS="li-toc"><A HREF="#htoc25">3.7&nbsp;&nbsp;Default Language</A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc26">4&nbsp;&nbsp;Advanced configuration</A>
<LI CLASS="li-toc"><A HREF="#htoc27">5&nbsp;&nbsp;Database and LDAP Configuration</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc28">5.1&nbsp;&nbsp;MySQL</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc29">5.1.1&nbsp;&nbsp;Driver Compilation</A>
<LI CLASS="li-toc"><A HREF="#htoc30">5.1.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc31">5.1.3&nbsp;&nbsp;Storage</A>
<A HREF="#htoc27">4.1&nbsp;&nbsp;Components Load-Balancing</A>
<LI CLASS="li-toc"><A HREF="#htoc28">4.2&nbsp;&nbsp;Domain Load-Balancing Algorithm</A>
<LI CLASS="li-toc"><A HREF="#htoc29">4.3&nbsp;&nbsp;Load-Balancing Buckets</A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc32">5.2&nbsp;&nbsp;Microsoft SQL Server</A>
<LI CLASS="li-toc"><A HREF="#htoc30">5&nbsp;&nbsp;Database and LDAP Configuration</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc33">5.2.1&nbsp;&nbsp;Driver Compilation</A>
<LI CLASS="li-toc"><A HREF="#htoc34">5.2.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc35">5.2.3&nbsp;&nbsp;Storage</A>
<A HREF="#htoc31">5.1&nbsp;&nbsp;MySQL</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc32">5.1.1&nbsp;&nbsp;Driver Compilation</A>
<LI CLASS="li-toc"><A HREF="#htoc33">5.1.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc34">5.1.3&nbsp;&nbsp;Storage</A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc36">5.3&nbsp;&nbsp;PostgreSQL</A>
<LI CLASS="li-toc"><A HREF="#htoc35">5.2&nbsp;&nbsp;Microsoft SQL Server</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc37">5.3.1&nbsp;&nbsp;Driver Compilation</A>
<LI CLASS="li-toc"><A HREF="#htoc38">5.3.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc39">5.3.3&nbsp;&nbsp;Storage</A>
<A HREF="#htoc36">5.2.1&nbsp;&nbsp;Driver Compilation</A>
<LI CLASS="li-toc"><A HREF="#htoc37">5.2.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc38">5.2.3&nbsp;&nbsp;Storage</A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc40">5.4&nbsp;&nbsp;ODBC Compatible</A>
<LI CLASS="li-toc"><A HREF="#htoc39">5.3&nbsp;&nbsp;PostgreSQL</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc41">5.4.1&nbsp;&nbsp;Compilation</A>
<LI CLASS="li-toc"><A HREF="#htoc42">5.4.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc43">5.4.3&nbsp;&nbsp;Storage</A>
<A HREF="#htoc40">5.3.1&nbsp;&nbsp;Driver Compilation</A>
<LI CLASS="li-toc"><A HREF="#htoc41">5.3.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc42">5.3.3&nbsp;&nbsp;Storage</A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc44">5.5&nbsp;&nbsp;LDAP</A>
<LI CLASS="li-toc"><A HREF="#htoc43">5.4&nbsp;&nbsp;ODBC Compatible</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc45">5.5.1&nbsp;&nbsp;Connection</A>
<LI CLASS="li-toc"><A HREF="#htoc46">5.5.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc47">5.5.3&nbsp;&nbsp;Examples</A>
<A HREF="#htoc44">5.4.1&nbsp;&nbsp;Compilation</A>
<LI CLASS="li-toc"><A HREF="#htoc45">5.4.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc46">5.4.3&nbsp;&nbsp;Storage</A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc47">5.5&nbsp;&nbsp;LDAP</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc48">5.5.1&nbsp;&nbsp;Connection</A>
<LI CLASS="li-toc"><A HREF="#htoc49">5.5.2&nbsp;&nbsp;Authentication</A>
<LI CLASS="li-toc"><A HREF="#htoc50">5.5.3&nbsp;&nbsp;Examples</A>
</UL>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc48">6&nbsp;&nbsp;Modules Configuration</A>
<LI CLASS="li-toc"><A HREF="#htoc51">6&nbsp;&nbsp;Modules Configuration</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc49">6.1&nbsp;&nbsp;Overview</A>
<LI CLASS="li-toc"><A HREF="#htoc50">6.2&nbsp;&nbsp;Common Options</A>
<A HREF="#htoc52">6.1&nbsp;&nbsp;Overview</A>
<LI CLASS="li-toc"><A HREF="#htoc53">6.2&nbsp;&nbsp;Common Options</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc51">6.2.1&nbsp;&nbsp;<TT>iqdisc</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc52">6.2.2&nbsp;&nbsp;<TT>hosts</TT></A>
<A HREF="#htoc54">6.2.1&nbsp;&nbsp;<TT>iqdisc</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc55">6.2.2&nbsp;&nbsp;<TT>hosts</TT></A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc53">6.3&nbsp;&nbsp;<TT>mod_announce</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc54">6.4&nbsp;&nbsp;<TT>mod_disco</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc55">6.5&nbsp;&nbsp;<TT>mod_echo</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc56">6.6&nbsp;&nbsp;<TT>mod_irc</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc57">6.7&nbsp;&nbsp;<TT>mod_last</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc58">6.8&nbsp;&nbsp;<TT>mod_muc</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc59">6.9&nbsp;&nbsp;<TT>mod_muc_log</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc60">6.10&nbsp;&nbsp;<TT>mod_offline</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc61">6.11&nbsp;&nbsp;<TT>mod_privacy</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc62">6.12&nbsp;&nbsp;<TT>mod_private</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc63">6.13&nbsp;&nbsp;<TT>mod_proxy65</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc64">6.14&nbsp;&nbsp;<TT>mod_pubsub</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc65">6.15&nbsp;&nbsp;<TT>mod_register</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc66">6.16&nbsp;&nbsp;<TT>mod_roster</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc67">6.17&nbsp;&nbsp;<TT>mod_service_log</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc68">6.18&nbsp;&nbsp;<TT>mod_shared_roster</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc69">6.19&nbsp;&nbsp;<TT>mod_stats</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc70">6.20&nbsp;&nbsp;<TT>mod_time</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc71">6.21&nbsp;&nbsp;<TT>mod_vcard</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc72">6.22&nbsp;&nbsp;<TT>mod_vcard_ldap</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc73">6.23&nbsp;&nbsp;<TT>mod_version</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc56">6.3&nbsp;&nbsp;<TT>mod_announce</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc57">6.4&nbsp;&nbsp;<TT>mod_disco</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc58">6.5&nbsp;&nbsp;<TT>mod_echo</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc59">6.6&nbsp;&nbsp;<TT>mod_irc</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc60">6.7&nbsp;&nbsp;<TT>mod_last</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc61">6.8&nbsp;&nbsp;<TT>mod_muc</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc62">6.9&nbsp;&nbsp;<TT>mod_muc_log</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc63">6.10&nbsp;&nbsp;<TT>mod_offline</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc64">6.11&nbsp;&nbsp;<TT>mod_privacy</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc65">6.12&nbsp;&nbsp;<TT>mod_private</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc66">6.13&nbsp;&nbsp;<TT>mod_proxy65</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc67">6.14&nbsp;&nbsp;<TT>mod_pubsub</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc68">6.15&nbsp;&nbsp;<TT>mod_register</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc69">6.16&nbsp;&nbsp;<TT>mod_roster</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc70">6.17&nbsp;&nbsp;<TT>mod_service_log</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc71">6.18&nbsp;&nbsp;<TT>mod_shared_roster</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc72">6.19&nbsp;&nbsp;<TT>mod_stats</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc73">6.20&nbsp;&nbsp;<TT>mod_time</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc74">6.21&nbsp;&nbsp;<TT>mod_vcard</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc75">6.22&nbsp;&nbsp;<TT>mod_vcard_ldap</TT></A>
<LI CLASS="li-toc"><A HREF="#htoc76">6.23&nbsp;&nbsp;<TT>mod_version</TT></A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc74">7&nbsp;&nbsp;Creating an Initial Administrator</A>
<LI CLASS="li-toc"><A HREF="#htoc75">8&nbsp;&nbsp;Online Configuration and Monitoring</A>
<LI CLASS="li-toc"><A HREF="#htoc77">7&nbsp;&nbsp;Creating an Initial Administrator</A>
<LI CLASS="li-toc"><A HREF="#htoc78">8&nbsp;&nbsp;Online Configuration and Monitoring</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc76">8.1&nbsp;&nbsp;Web Interface</A>
<LI CLASS="li-toc"><A HREF="#htoc77">8.2&nbsp;&nbsp;<TT>ejabberdctl</TT></A>
<A HREF="#htoc79">8.1&nbsp;&nbsp;Web Interface</A>
<LI CLASS="li-toc"><A HREF="#htoc80">8.2&nbsp;&nbsp;<TT>ejabberdctl</TT></A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc78">9&nbsp;&nbsp;Firewall Settings</A>
<LI CLASS="li-toc"><A HREF="#htoc79">10&nbsp;&nbsp;SRV Records</A>
<LI CLASS="li-toc"><A HREF="#htoc80">11&nbsp;&nbsp;Clustering</A>
<LI CLASS="li-toc"><A HREF="#htoc81">9&nbsp;&nbsp;Firewall Settings</A>
<LI CLASS="li-toc"><A HREF="#htoc82">10&nbsp;&nbsp;SRV Records</A>
<LI CLASS="li-toc"><A HREF="#htoc83">11&nbsp;&nbsp;Clustering</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc81">11.1&nbsp;&nbsp;How it Works</A>
<A HREF="#htoc84">11.1&nbsp;&nbsp;How it Works</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc82">11.1.1&nbsp;&nbsp;Router</A>
<LI CLASS="li-toc"><A HREF="#htoc83">11.1.2&nbsp;&nbsp;Local Router</A>
<LI CLASS="li-toc"><A HREF="#htoc84">11.1.3&nbsp;&nbsp;Session Manager</A>
<LI CLASS="li-toc"><A HREF="#htoc85">11.1.4&nbsp;&nbsp;s2s Manager</A>
<A HREF="#htoc85">11.1.1&nbsp;&nbsp;Router</A>
<LI CLASS="li-toc"><A HREF="#htoc86">11.1.2&nbsp;&nbsp;Local Router</A>
<LI CLASS="li-toc"><A HREF="#htoc87">11.1.3&nbsp;&nbsp;Session Manager</A>
<LI CLASS="li-toc"><A HREF="#htoc88">11.1.4&nbsp;&nbsp;s2s Manager</A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc86">11.2&nbsp;&nbsp;Clustering Setup</A>
<LI CLASS="li-toc"><A HREF="#htoc89">11.2&nbsp;&nbsp;Clustering Setup</A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc87">A&nbsp;&nbsp;Internationalization and Localization</A>
<LI CLASS="li-toc"><A HREF="#htoc88">B&nbsp;&nbsp;Release Notes</A>
<LI CLASS="li-toc"><A HREF="#htoc90">A&nbsp;&nbsp;Internationalization and Localization</A>
<LI CLASS="li-toc"><A HREF="#htoc91">B&nbsp;&nbsp;Release Notes</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc89">B.1&nbsp;&nbsp;ejabberd 0.9</A>
<LI CLASS="li-toc"><A HREF="#htoc90">B.2&nbsp;&nbsp;ejabberd 0.9.1</A>
<LI CLASS="li-toc"><A HREF="#htoc91">B.3&nbsp;&nbsp;ejabberd 0.9.8</A>
<LI CLASS="li-toc"><A HREF="#htoc92">B.4&nbsp;&nbsp;ejabberd 1.0.0</A>
<LI CLASS="li-toc"><A HREF="#htoc93">B.5&nbsp;&nbsp;ejabberd 1.1.0</A>
<LI CLASS="li-toc"><A HREF="#htoc94">B.6&nbsp;&nbsp;ejabberd 1.1.1</A>
<LI CLASS="li-toc"><A HREF="#htoc95">B.7&nbsp;&nbsp;ejabberd 1.1.2</A>
<A HREF="#htoc92">B.1&nbsp;&nbsp;ejabberd 0.9</A>
<LI CLASS="li-toc"><A HREF="#htoc93">B.2&nbsp;&nbsp;ejabberd 0.9.1</A>
<LI CLASS="li-toc"><A HREF="#htoc94">B.3&nbsp;&nbsp;ejabberd 0.9.8</A>
<LI CLASS="li-toc"><A HREF="#htoc95">B.4&nbsp;&nbsp;ejabberd 1.0.0</A>
<LI CLASS="li-toc"><A HREF="#htoc96">B.5&nbsp;&nbsp;ejabberd 1.1.0</A>
<LI CLASS="li-toc"><A HREF="#htoc97">B.6&nbsp;&nbsp;ejabberd 1.1.1</A>
<LI CLASS="li-toc"><A HREF="#htoc98">B.7&nbsp;&nbsp;ejabberd 1.1.2</A>
</UL>
<LI CLASS="li-toc"><A HREF="#htoc96">C&nbsp;&nbsp;Acknowledgements</A>
<LI CLASS="li-toc"><A HREF="#htoc97">D&nbsp;&nbsp;Copyright Information</A>
<LI CLASS="li-toc"><A HREF="#htoc99">C&nbsp;&nbsp;Acknowledgements</A>
<LI CLASS="li-toc"><A HREF="#htoc100">D&nbsp;&nbsp;Copyright Information</A>
</UL>
<!--TOC section Introduction-->
@ -1045,9 +1050,52 @@ To set Russian as default language:
<H2 CLASS="section"><A NAME="htoc26">4</A>&nbsp;&nbsp;Advanced configuration</H2><!--SEC END -->
<!--TOC subsection Components Load-Balancing-->
<H3 CLASS="subsection"><A NAME="htoc27">4.1</A>&nbsp;&nbsp;Components Load-Balancing</H3><!--SEC END -->
<A NAME="componentlb"></A>
<!--TOC subsection Domain Load-Balancing Algorithm-->
<H3 CLASS="subsection"><A NAME="htoc28">4.2</A>&nbsp;&nbsp;Domain Load-Balancing Algorithm</H3><!--SEC END -->
<A NAME="domainlb"></A>
<TT>ejabberd</TT> includes an algorithm to load balance the components that are plugged on an ejabberd cluster. It means that you can plug one or several instances of the same component on each ejabberd cluster and that the traffic will be automatically distributed.<BR>
<BR>
The default distribution algorithm try to deliver to a local instance of a component. If several local instances are available, one instance is choosen randomly. If no instance is available locally, one instance is choosen randomly among the remote component instances.<BR>
<BR>
If you need a different behaviour, you can change the load balancing behaviour with the option <TT>domain_balancing</TT>. The syntax of the option is the following:
<PRE CLASS="verbatim">
{domain_balancing, "component.example.com", &lt;balancing_criterium&gt;}.
</PRE>
Several balancing criterium are available:
<UL CLASS="itemize"><LI CLASS="li-itemize">
<TT>destination</TT>: the full JID of the packet <TT>to</TT> attribute is used.
<LI CLASS="li-itemize"><TT>source</TT>: the full JID of the packet <TT>from</TT> attribute is used.
<LI CLASS="li-itemize"><TT>bare_destination</TT>: the bare JID (without resource) of the packet <TT>to</TT> attribute is used.
<LI CLASS="li-itemize"><TT>bare_source</TT>: the bare JID (without resource) of the packet <TT>from</TT> attribute is used.
</UL>
If the value corresponding to the criterium is the same, the same component instance in the cluster will be used.<BR>
<BR>
<!--TOC subsection Load-Balancing Buckets-->
<H3 CLASS="subsection"><A NAME="htoc29">4.3</A>&nbsp;&nbsp;Load-Balancing Buckets</H3><!--SEC END -->
<A NAME="lbbuckets"></A>
When there is a risk of failure for a given component, domain balancing can cause service trouble. If one component is failling the service will not work correctly unless the sessions are rebalanced.<BR>
<BR>
In this case, it is best to limit the problem to the sessions handled by the failling component. This is what the <TT>domain_balancing_component_number</TT> option does, making the load balancing algorithm not dynamic, but sticky on a fix number of component instances.<BR>
<BR>
The syntax is the following:
<PRE CLASS="verbatim">
{domain_balancing_component_number, "component.example.com", N}
</PRE>
<!--TOC section Database and LDAP Configuration-->
<H2 CLASS="section"><A NAME="htoc27">5</A>&nbsp;&nbsp;Database and LDAP Configuration</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc30">5</A>&nbsp;&nbsp;Database and LDAP Configuration</H2><!--SEC END -->
<A NAME="database"></A>
@ -1077,7 +1125,7 @@ The following LDAP servers are tested with <TT>ejabberd</TT>:
</UL>
<!--TOC subsection MySQL-->
<H3 CLASS="subsection"><A NAME="htoc28">5.1</A>&nbsp;&nbsp;MySQL</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc31">5.1</A>&nbsp;&nbsp;MySQL</H3><!--SEC END -->
<A NAME="mysql"></A>
@ -1093,7 +1141,7 @@ you can find information to update your database schema.<BR>
<BR>
<!--TOC subsubsection Driver Compilation-->
<H4 CLASS="subsubsection"><A NAME="htoc29">5.1.1</A>&nbsp;&nbsp;Driver Compilation</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc32">5.1.1</A>&nbsp;&nbsp;Driver Compilation</H4><!--SEC END -->
<A NAME="compilemysql"></A>
@ -1111,7 +1159,7 @@ First, install the <A HREF="http://support.process-one.net/doc/display/CONTRIBS/
</PRE></OL>
<!--TOC subsubsection Authentication-->
<H4 CLASS="subsubsection"><A NAME="htoc30">5.1.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc33">5.1.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<A NAME="mysqlauth"></A>
@ -1137,7 +1185,7 @@ parameter:
</PRE>
<!--TOC subsubsection Storage-->
<H4 CLASS="subsubsection"><A NAME="htoc31">5.1.3</A>&nbsp;&nbsp;Storage</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc34">5.1.3</A>&nbsp;&nbsp;Storage</H4><!--SEC END -->
<A NAME="mysqlstorage"></A>
@ -1151,7 +1199,7 @@ that you cannot have several variants of the same module loaded!<BR>
<BR>
<!--TOC subsection Microsoft SQL Server-->
<H3 CLASS="subsection"><A NAME="htoc32">5.2</A>&nbsp;&nbsp;Microsoft SQL Server</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc35">5.2</A>&nbsp;&nbsp;Microsoft SQL Server</H3><!--SEC END -->
<A NAME="mssql"></A>
@ -1168,7 +1216,7 @@ of the file you can find information to update your database schema.<BR>
<BR>
<!--TOC subsubsection Driver Compilation-->
<H4 CLASS="subsubsection"><A NAME="htoc33">5.2.1</A>&nbsp;&nbsp;Driver Compilation</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc36">5.2.1</A>&nbsp;&nbsp;Driver Compilation</H4><!--SEC END -->
<A NAME="compilemssql"></A>
@ -1183,7 +1231,7 @@ enabled. This can be done, by using next commands:
</PRE>
<!--TOC subsubsection Authentication-->
<H4 CLASS="subsubsection"><A NAME="htoc34">5.2.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc37">5.2.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<A NAME="mssqlauth"></A>
@ -1192,7 +1240,7 @@ ODBC compatible serers (see section&nbsp;<A HREF="#odbcauth">5.4.2</A>).<BR>
<BR>
<!--TOC subsubsection Storage-->
<H4 CLASS="subsubsection"><A NAME="htoc35">5.2.3</A>&nbsp;&nbsp;Storage</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc38">5.2.3</A>&nbsp;&nbsp;Storage</H4><!--SEC END -->
<A NAME="mssqlstorage"></A>
@ -1207,7 +1255,7 @@ module loaded!<BR>
<BR>
<!--TOC subsection PostgreSQL-->
<H3 CLASS="subsection"><A NAME="htoc36">5.3</A>&nbsp;&nbsp;PostgreSQL</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc39">5.3</A>&nbsp;&nbsp;PostgreSQL</H3><!--SEC END -->
<A NAME="pgsql"></A>
@ -1223,7 +1271,7 @@ you can find information to update your database schema.<BR>
<BR>
<!--TOC subsubsection Driver Compilation-->
<H4 CLASS="subsubsection"><A NAME="htoc37">5.3.1</A>&nbsp;&nbsp;Driver Compilation</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc40">5.3.1</A>&nbsp;&nbsp;Driver Compilation</H4><!--SEC END -->
<A NAME="compilepgsql"></A>
@ -1243,7 +1291,7 @@ First, install the Erlang PgSQL library from
</PRE></OL>
<!--TOC subsubsection Authentication-->
<H4 CLASS="subsubsection"><A NAME="htoc38">5.3.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc41">5.3.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<A NAME="pgsqlauth"></A>
@ -1269,7 +1317,7 @@ form as parameter:
</PRE>
<!--TOC subsubsection Storage-->
<H4 CLASS="subsubsection"><A NAME="htoc39">5.3.3</A>&nbsp;&nbsp;Storage</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc42">5.3.3</A>&nbsp;&nbsp;Storage</H4><!--SEC END -->
<A NAME="pgsqlstorage"></A>
@ -1283,7 +1331,7 @@ Keep in mind that you cannot have several variants of the same module loaded!<BR
<BR>
<!--TOC subsection ODBC Compatible-->
<H3 CLASS="subsection"><A NAME="htoc40">5.4</A>&nbsp;&nbsp;ODBC Compatible</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc43">5.4</A>&nbsp;&nbsp;ODBC Compatible</H3><!--SEC END -->
<A NAME="odbc"></A>
@ -1295,7 +1343,7 @@ this section.<BR>
<BR>
<!--TOC subsubsection Compilation-->
<H4 CLASS="subsubsection"><A NAME="htoc41">5.4.1</A>&nbsp;&nbsp;Compilation</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc44">5.4.1</A>&nbsp;&nbsp;Compilation</H4><!--SEC END -->
<A NAME="compileodbc"></A>
You can skip this step if you installed <TT>ejabberd</TT> using a binary installer or
@ -1312,7 +1360,7 @@ First, install the <A HREF="http://support.process-one.net/doc/display/CONTRIBS/
</PRE></OL>
<!--TOC subsubsection Authentication-->
<H4 CLASS="subsubsection"><A NAME="htoc42">5.4.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc45">5.4.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<A NAME="odbcauth"></A>
@ -1332,7 +1380,7 @@ string as <TT>odbc_server</TT> parameter. For example:
</PRE>
<!--TOC subsubsection Storage-->
<H4 CLASS="subsubsection"><A NAME="htoc43">5.4.3</A>&nbsp;&nbsp;Storage</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc46">5.4.3</A>&nbsp;&nbsp;Storage</H4><!--SEC END -->
<A NAME="odbcstorage"></A>
@ -1347,7 +1395,7 @@ module loaded!<BR>
<BR>
<!--TOC subsection LDAP-->
<H3 CLASS="subsection"><A NAME="htoc44">5.5</A>&nbsp;&nbsp;LDAP</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc47">5.5</A>&nbsp;&nbsp;LDAP</H3><!--SEC END -->
<A NAME="ldap"></A>
@ -1357,7 +1405,7 @@ yet.<BR>
<BR>
<!--TOC subsubsection Connection-->
<H4 CLASS="subsubsection"><A NAME="htoc45">5.5.1</A>&nbsp;&nbsp;Connection</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc48">5.5.1</A>&nbsp;&nbsp;Connection</H4><!--SEC END -->
<A NAME="ldapconnection"></A>
Parameters:
@ -1384,7 +1432,7 @@ and SASL authentication.<BR>
<BR>
<!--TOC subsubsection Authentication-->
<H4 CLASS="subsubsection"><A NAME="htoc46">5.5.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc49">5.5.2</A>&nbsp;&nbsp;Authentication</H4><!--SEC END -->
<A NAME="ldapauth"></A>
You can authenticate users against an LDAP directory. Available options are:
@ -1418,7 +1466,7 @@ You can authenticate users against an LDAP directory. Available options are:
</DL>
<!--TOC subsubsection Examples-->
<H4 CLASS="subsubsection"><A NAME="htoc47">5.5.3</A>&nbsp;&nbsp;Examples</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc50">5.5.3</A>&nbsp;&nbsp;Examples</H4><!--SEC END -->
<A NAME="ldapexamples"></A>
<!--TOC paragraph Common example-->
@ -1548,7 +1596,7 @@ configuration is showed below:
</PRE>
<!--TOC section Modules Configuration-->
<H2 CLASS="section"><A NAME="htoc48">6</A>&nbsp;&nbsp;Modules Configuration</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc51">6</A>&nbsp;&nbsp;Modules Configuration</H2><!--SEC END -->
<A NAME="modules"></A>
@ -1577,7 +1625,7 @@ In this example only the module <TT>mod_echo</TT> is loaded and no module
</PRE></UL>
<!--TOC subsection Overview-->
<H3 CLASS="subsection"><A NAME="htoc49">6.1</A>&nbsp;&nbsp;Overview</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc52">6.1</A>&nbsp;&nbsp;Overview</H3><!--SEC END -->
<A NAME="modoverview"></A>
@ -1774,7 +1822,7 @@ XMPP compliancy.
</UL>
<!--TOC subsection Common Options-->
<H3 CLASS="subsection"><A NAME="htoc50">6.2</A>&nbsp;&nbsp;Common Options</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc53">6.2</A>&nbsp;&nbsp;Common Options</H3><!--SEC END -->
<A NAME="modcommonoptions"></A>
The following options are used by many modules. Therefore, they are described in
@ -1782,7 +1830,7 @@ this separate section.<BR>
<BR>
<!--TOC subsubsection <TT>iqdisc</TT>-->
<H4 CLASS="subsubsection"><A NAME="htoc51">6.2.1</A>&nbsp;&nbsp;<TT>iqdisc</TT></H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc54">6.2.1</A>&nbsp;&nbsp;<TT>iqdisc</TT></H4><!--SEC END -->
<A NAME="modiqdiscoption"></A>
@ -1816,7 +1864,7 @@ Example:
</PRE>
<!--TOC subsubsection <TT>hosts</TT>-->
<H4 CLASS="subsubsection"><A NAME="htoc52">6.2.2</A>&nbsp;&nbsp;<TT>hosts</TT></H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc55">6.2.2</A>&nbsp;&nbsp;<TT>hosts</TT></H4><!--SEC END -->
<A NAME="modhostsoption"></A>
@ -1855,7 +1903,7 @@ Serving the echo module on one domain:
</PRE></UL>
<!--TOC subsection <TT>mod_announce</TT>-->
<H3 CLASS="subsection"><A NAME="htoc53">6.3</A>&nbsp;&nbsp;<TT>mod_announce</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc56">6.3</A>&nbsp;&nbsp;<TT>mod_announce</TT></H3><!--SEC END -->
<A NAME="modannounce"></A>
@ -1921,7 +1969,7 @@ Only administrators can send announcements:
</PRE></UL>
<!--TOC subsection <TT>mod_disco</TT>-->
<H3 CLASS="subsection"><A NAME="htoc54">6.4</A>&nbsp;&nbsp;<TT>mod_disco</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc57">6.4</A>&nbsp;&nbsp;<TT>mod_disco</TT></H3><!--SEC END -->
<A NAME="moddisco"></A>
@ -1973,7 +2021,7 @@ To serve a link to the Jabber User Directory on <TT>jabber.org</TT>:
</PRE></UL>
<!--TOC subsection <TT>mod_echo</TT>-->
<H3 CLASS="subsection"><A NAME="htoc55">6.5</A>&nbsp;&nbsp;<TT>mod_echo</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc58">6.5</A>&nbsp;&nbsp;<TT>mod_echo</TT></H3><!--SEC END -->
<A NAME="modecho"></A>
@ -2006,7 +2054,7 @@ Mirror, mirror, on the wall, who is the most beautiful
</UL>
<!--TOC subsection <TT>mod_irc</TT>-->
<H3 CLASS="subsection"><A NAME="htoc56">6.6</A>&nbsp;&nbsp;<TT>mod_irc</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc59">6.6</A>&nbsp;&nbsp;<TT>mod_irc</TT></H3><!--SEC END -->
<A NAME="modirc"></A>
@ -2076,7 +2124,7 @@ In the first example, the IRC transport is available on (all) your
</PRE></UL>
<!--TOC subsection <TT>mod_last</TT>-->
<H3 CLASS="subsection"><A NAME="htoc57">6.7</A>&nbsp;&nbsp;<TT>mod_last</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc60">6.7</A>&nbsp;&nbsp;<TT>mod_last</TT></H3><!--SEC END -->
<A NAME="modlast"></A>
@ -2093,7 +2141,7 @@ the processing discipline for Last activity (<TT>jabber:iq:last</TT>) IQ queries
</DL>
<!--TOC subsection <TT>mod_muc</TT>-->
<H3 CLASS="subsection"><A NAME="htoc58">6.8</A>&nbsp;&nbsp;<TT>mod_muc</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc61">6.8</A>&nbsp;&nbsp;<TT>mod_muc</TT></H3><!--SEC END -->
<A NAME="modmuc"></A>
@ -2192,9 +2240,11 @@ In the first example everyone is allowed to use the Multi-User Chat
...
]}.
</PRE></UL>
The Multi-Users Chat module now supports clustering and load balancing. One module can be started per cluster node. Rooms are distributed at creation time on all available MUC module instances. The multi-user chat module is clustered but the room themselves are not clustered nor fault-tolerant: If the not managing a set of rooms goes down, the rooms disappear and they will be recreated on an available node on first connection attempt.<BR>
<BR>
<!--TOC subsection <TT>mod_muc_log</TT>-->
<H3 CLASS="subsection"><A NAME="htoc59">6.9</A>&nbsp;&nbsp;<TT>mod_muc_log</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc62">6.9</A>&nbsp;&nbsp;<TT>mod_muc_log</TT></H3><!--SEC END -->
<A NAME="modmuclog"></A>
@ -2306,7 +2356,7 @@ In the first example any chatroom owner can enable logging, and a
</PRE></UL>
<!--TOC subsection <TT>mod_offline</TT>-->
<H3 CLASS="subsection"><A NAME="htoc60">6.10</A>&nbsp;&nbsp;<TT>mod_offline</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc63">6.10</A>&nbsp;&nbsp;<TT>mod_offline</TT></H3><!--SEC END -->
<A NAME="modoffline"></A>
@ -2318,7 +2368,7 @@ online again. Thus it is very similar to how email works. Note that
<BR>
<!--TOC subsection <TT>mod_privacy</TT>-->
<H3 CLASS="subsection"><A NAME="htoc61">6.11</A>&nbsp;&nbsp;<TT>mod_privacy</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc64">6.11</A>&nbsp;&nbsp;<TT>mod_privacy</TT></H3><!--SEC END -->
<A NAME="modprivacy"></A>
@ -2353,7 +2403,7 @@ the processing discipline for Blocking Communication (<TT>jabber:iq:privacy</TT>
</DL>
<!--TOC subsection <TT>mod_private</TT>-->
<H3 CLASS="subsection"><A NAME="htoc62">6.12</A>&nbsp;&nbsp;<TT>mod_private</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc65">6.12</A>&nbsp;&nbsp;<TT>mod_private</TT></H3><!--SEC END -->
<A NAME="modprivate"></A>
@ -2372,7 +2422,7 @@ the processing discipline for Private XML Storage (<TT>jabber:iq:private</TT>) I
</DL>
<!--TOC subsection <TT>mod_proxy65</TT>-->
<H3 CLASS="subsection"><A NAME="htoc63">6.13</A>&nbsp;&nbsp;<TT>mod_proxy65</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc66">6.13</A>&nbsp;&nbsp;<TT>mod_proxy65</TT></H3><!--SEC END -->
<A NAME="modproxy"></A>
@ -2437,7 +2487,7 @@ The simpliest configuration of the module:
</PRE></UL>
<!--TOC subsection <TT>mod_pubsub</TT>-->
<H3 CLASS="subsection"><A NAME="htoc64">6.14</A>&nbsp;&nbsp;<TT>mod_pubsub</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc67">6.14</A>&nbsp;&nbsp;<TT>mod_pubsub</TT></H3><!--SEC END -->
<A NAME="modpubsub"></A>
@ -2489,7 +2539,7 @@ Example:
</PRE>
<!--TOC subsection <TT>mod_register</TT>-->
<H3 CLASS="subsection"><A NAME="htoc65">6.15</A>&nbsp;&nbsp;<TT>mod_register</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc68">6.15</A>&nbsp;&nbsp;<TT>mod_register</TT></H3><!--SEC END -->
<A NAME="modregister"></A>
@ -2545,7 +2595,7 @@ Next example prohibits the registration of too short account names:
</PRE></UL>
<!--TOC subsection <TT>mod_roster</TT>-->
<H3 CLASS="subsection"><A NAME="htoc66">6.16</A>&nbsp;&nbsp;<TT>mod_roster</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc69">6.16</A>&nbsp;&nbsp;<TT>mod_roster</TT></H3><!--SEC END -->
<A NAME="modroster"></A>
@ -2559,7 +2609,7 @@ the processing discipline for Roster Management (<TT>jabber:iq:roster</TT>) IQ q
</DL>
<!--TOC subsection <TT>mod_service_log</TT>-->
<H3 CLASS="subsection"><A NAME="htoc67">6.17</A>&nbsp;&nbsp;<TT>mod_service_log</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc70">6.17</A>&nbsp;&nbsp;<TT>mod_service_log</TT></H3><!--SEC END -->
<A NAME="modservicelog"></A>
@ -2599,7 +2649,7 @@ To log all end user packets to the Bandersnatch service running on
</PRE></UL>
<!--TOC subsection <TT>mod_shared_roster</TT>-->
<H3 CLASS="subsection"><A NAME="htoc68">6.18</A>&nbsp;&nbsp;<TT>mod_shared_roster</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc71">6.18</A>&nbsp;&nbsp;<TT>mod_shared_roster</TT></H3><!--SEC END -->
<A NAME="modsharedroster"></A>
@ -2726,7 +2776,7 @@ Take the case of a computer club that wants all its members seeing each
</UL>
<!--TOC subsection <TT>mod_stats</TT>-->
<H3 CLASS="subsection"><A NAME="htoc69">6.19</A>&nbsp;&nbsp;<TT>mod_stats</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc72">6.19</A>&nbsp;&nbsp;<TT>mod_stats</TT></H3><!--SEC END -->
<A NAME="modstats"></A>
@ -2768,7 +2818,7 @@ You can request the number of online users on the current virtual host
</PRE></UL>
<!--TOC subsection <TT>mod_time</TT>-->
<H3 CLASS="subsection"><A NAME="htoc70">6.20</A>&nbsp;&nbsp;<TT>mod_time</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc73">6.20</A>&nbsp;&nbsp;<TT>mod_time</TT></H3><!--SEC END -->
<A NAME="modtime"></A>
@ -2783,7 +2833,7 @@ the processing discipline for Entity Time (<TT>jabber:iq:time</TT>) IQ queries
</DL>
<!--TOC subsection <TT>mod_vcard</TT>-->
<H3 CLASS="subsection"><A NAME="htoc71">6.21</A>&nbsp;&nbsp;<TT>mod_vcard</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc74">6.21</A>&nbsp;&nbsp;<TT>mod_vcard</TT></H3><!--SEC END -->
<A NAME="modvcard"></A>
@ -2848,7 +2898,7 @@ In this first situation, search results are limited to twenty items,
</PRE></UL>
<!--TOC subsection <TT>mod_vcard_ldap</TT>-->
<H3 CLASS="subsection"><A NAME="htoc72">6.22</A>&nbsp;&nbsp;<TT>mod_vcard_ldap</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc75">6.22</A>&nbsp;&nbsp;<TT>mod_vcard_ldap</TT></H3><!--SEC END -->
<A NAME="modvcardldap"></A>
@ -3043,7 +3093,7 @@ searching his info in LDAP.<BR>
</PRE></UL>
<!--TOC subsection <TT>mod_version</TT>-->
<H3 CLASS="subsection"><A NAME="htoc73">6.23</A>&nbsp;&nbsp;<TT>mod_version</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc76">6.23</A>&nbsp;&nbsp;<TT>mod_version</TT></H3><!--SEC END -->
<A NAME="modversion"></A>
@ -3058,7 +3108,7 @@ the processing discipline for Software Version (<TT>jabber:iq:version</TT>) IQ q
</DL>
<!--TOC section Creating an Initial Administrator-->
<H2 CLASS="section"><A NAME="htoc74">7</A>&nbsp;&nbsp;Creating an Initial Administrator</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc77">7</A>&nbsp;&nbsp;Creating an Initial Administrator</H2><!--SEC END -->
<A NAME="initialadmin"></A>
Before the web interface can be entered to perform administration tasks, an
@ -3090,12 +3140,12 @@ Register an account on your <TT>ejabberd</TT> deployment. An account can be
</OL>
<!--TOC section Online Configuration and Monitoring-->
<H2 CLASS="section"><A NAME="htoc75">8</A>&nbsp;&nbsp;Online Configuration and Monitoring</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc78">8</A>&nbsp;&nbsp;Online Configuration and Monitoring</H2><!--SEC END -->
<A NAME="onlineconfig"></A>
<!--TOC subsection Web Interface-->
<H3 CLASS="subsection"><A NAME="htoc76">8.1</A>&nbsp;&nbsp;Web Interface</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc79">8.1</A>&nbsp;&nbsp;Web Interface</H3><!--SEC END -->
<A NAME="webinterface"></A>
@ -3169,7 +3219,7 @@ You can serve the web interface on the same port as the
</PRE></UL>
<!--TOC subsection <TT>ejabberdctl</TT>-->
<H3 CLASS="subsection"><A NAME="htoc77">8.2</A>&nbsp;&nbsp;<TT>ejabberdctl</TT></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc80">8.2</A>&nbsp;&nbsp;<TT>ejabberdctl</TT></H3><!--SEC END -->
<A NAME="ejabberdctl"></A>
@ -3215,7 +3265,7 @@ Additional information:
</DL>
<!--TOC section Firewall Settings-->
<H2 CLASS="section"><A NAME="htoc78">9</A>&nbsp;&nbsp;Firewall Settings</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc81">9</A>&nbsp;&nbsp;Firewall Settings</H2><!--SEC END -->
<A NAME="firewall"></A>
@ -3244,7 +3294,7 @@ You need to take the following TCP ports in mind when configuring your firewall:
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE>
<!--TOC section SRV Records-->
<H2 CLASS="section"><A NAME="htoc79">10</A>&nbsp;&nbsp;SRV Records</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc82">10</A>&nbsp;&nbsp;SRV Records</H2><!--SEC END -->
<A NAME="srv"></A>
@ -3256,13 +3306,13 @@ General information:
</UL>
<!--TOC section Clustering-->
<H2 CLASS="section"><A NAME="htoc80">11</A>&nbsp;&nbsp;Clustering</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc83">11</A>&nbsp;&nbsp;Clustering</H2><!--SEC END -->
<A NAME="clustering"></A>
<!--TOC subsection How it Works-->
<H3 CLASS="subsection"><A NAME="htoc81">11.1</A>&nbsp;&nbsp;How it Works</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc84">11.1</A>&nbsp;&nbsp;How it Works</H3><!--SEC END -->
<A NAME="howitworks"></A>
@ -3283,7 +3333,7 @@ router,
</UL>
<!--TOC subsubsection Router-->
<H4 CLASS="subsubsection"><A NAME="htoc82">11.1.1</A>&nbsp;&nbsp;Router</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc85">11.1.1</A>&nbsp;&nbsp;Router</H4><!--SEC END -->
<A NAME="router"></A>
@ -3295,7 +3345,7 @@ appropriate process. If not, it is sent to the s2s manager.<BR>
<BR>
<!--TOC subsubsection Local Router-->
<H4 CLASS="subsubsection"><A NAME="htoc83">11.1.2</A>&nbsp;&nbsp;Local Router</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc86">11.1.2</A>&nbsp;&nbsp;Local Router</H4><!--SEC END -->
<A NAME="localrouter"></A>
@ -3306,7 +3356,7 @@ on its content.<BR>
<BR>
<!--TOC subsubsection Session Manager-->
<H4 CLASS="subsubsection"><A NAME="htoc84">11.1.3</A>&nbsp;&nbsp;Session Manager</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc87">11.1.3</A>&nbsp;&nbsp;Session Manager</H4><!--SEC END -->
<A NAME="sessionmanager"></A>
@ -3317,7 +3367,7 @@ storage, or bounced back.<BR>
<BR>
<!--TOC subsubsection s2s Manager-->
<H4 CLASS="subsubsection"><A NAME="htoc85">11.1.4</A>&nbsp;&nbsp;s2s Manager</H4><!--SEC END -->
<H4 CLASS="subsubsection"><A NAME="htoc88">11.1.4</A>&nbsp;&nbsp;s2s Manager</H4><!--SEC END -->
<A NAME="s2smanager"></A>
@ -3329,7 +3379,7 @@ serving this connection, otherwise a new connection is opened.<BR>
<BR>
<!--TOC subsection Clustering Setup-->
<H3 CLASS="subsection"><A NAME="htoc86">11.2</A>&nbsp;&nbsp;Clustering Setup</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc89">11.2</A>&nbsp;&nbsp;Clustering Setup</H3><!--SEC END -->
<A NAME="cluster"></A>
@ -3402,7 +3452,7 @@ domain.<BR>
<!--TOC section Internationalization and Localization-->
<H2 CLASS="section"><A NAME="htoc87">A</A>&nbsp;&nbsp;Internationalization and Localization</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc90">A</A>&nbsp;&nbsp;Internationalization and Localization</H2><!--SEC END -->
<A NAME="i18nl10n"></A>
@ -3445,13 +3495,13 @@ figure&nbsp;<A HREF="#fig:webadmmainru">3</A> with figure&nbsp;<A HREF="#fig:web
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE>
<!--TOC section Release Notes-->
<H2 CLASS="section"><A NAME="htoc88">B</A>&nbsp;&nbsp;Release Notes</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc91">B</A>&nbsp;&nbsp;Release Notes</H2><!--SEC END -->
<A NAME="releasenotes"></A>
<!--TOC subsection ejabberd 0.9-->
<H3 CLASS="subsection"><A NAME="htoc89">B.1</A>&nbsp;&nbsp;ejabberd 0.9</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc92">B.1</A>&nbsp;&nbsp;ejabberd 0.9</H3><!--SEC END -->
<PRE CLASS="verbatim">
Release notes
@ -3545,7 +3595,7 @@ Bugfixes
</PRE>
<!--TOC subsection ejabberd 0.9.1-->
<H3 CLASS="subsection"><A NAME="htoc90">B.2</A>&nbsp;&nbsp;ejabberd 0.9.1</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc93">B.2</A>&nbsp;&nbsp;ejabberd 0.9.1</H3><!--SEC END -->
<PRE CLASS="verbatim">
Release notes
@ -3613,7 +3663,7 @@ Bugfixes
</PRE>
<!--TOC subsection ejabberd 0.9.8-->
<H3 CLASS="subsection"><A NAME="htoc91">B.3</A>&nbsp;&nbsp;ejabberd 0.9.8</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc94">B.3</A>&nbsp;&nbsp;ejabberd 0.9.8</H3><!--SEC END -->
<PRE CLASS="verbatim">
Release notes
@ -3718,7 +3768,7 @@ END
</PRE>
<!--TOC subsection ejabberd 1.0.0-->
<H3 CLASS="subsection"><A NAME="htoc92">B.4</A>&nbsp;&nbsp;ejabberd 1.0.0</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc95">B.4</A>&nbsp;&nbsp;ejabberd 1.0.0</H3><!--SEC END -->
<PRE CLASS="verbatim">
Release Notes
@ -3844,7 +3894,7 @@ END
</PRE>
<!--TOC subsection ejabberd 1.1.0-->
<H3 CLASS="subsection"><A NAME="htoc93">B.5</A>&nbsp;&nbsp;ejabberd 1.1.0</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc96">B.5</A>&nbsp;&nbsp;ejabberd 1.1.0</H3><!--SEC END -->
<PRE CLASS="verbatim">
Release Notes
@ -3965,7 +4015,7 @@ END
</PRE>
<!--TOC subsection ejabberd 1.1.1-->
<H3 CLASS="subsection"><A NAME="htoc94">B.6</A>&nbsp;&nbsp;ejabberd 1.1.1</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc97">B.6</A>&nbsp;&nbsp;ejabberd 1.1.1</H3><!--SEC END -->
<PRE CLASS="verbatim">
Release Notes
@ -4090,7 +4140,7 @@ END
</PRE>
<!--TOC subsection ejabberd 1.1.2-->
<H3 CLASS="subsection"><A NAME="htoc95">B.7</A>&nbsp;&nbsp;ejabberd 1.1.2</H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc98">B.7</A>&nbsp;&nbsp;ejabberd 1.1.2</H3><!--SEC END -->
<PRE CLASS="verbatim">
Release Notes
@ -4215,7 +4265,7 @@ END
</PRE>
<!--TOC section Acknowledgements-->
<H2 CLASS="section"><A NAME="htoc96">C</A>&nbsp;&nbsp;Acknowledgements</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc99">C</A>&nbsp;&nbsp;Acknowledgements</H2><!--SEC END -->
<A NAME="acknowledgements"></A>
Thanks to all people who contributed to this guide:
@ -4232,7 +4282,7 @@ Alexey Shchepin (<A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT
</UL>
<!--TOC section Copyright Information-->
<H2 CLASS="section"><A NAME="htoc97">D</A>&nbsp;&nbsp;Copyright Information</H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc100">D</A>&nbsp;&nbsp;Copyright Information</H2><!--SEC END -->
<A NAME="copyright"></A>
Ejabberd Installation and Operation Guide.<BR>

View File

@ -918,7 +918,7 @@ Examples:
The default distribution algorithm try to deliver to a local instance of a component. If several local instances are available, one instance is choosen randomly. If no instance is available locally, one instance is choosen randomly among the remote component instances.
If you need a different behaviour, you can change the load balancing behaviour with the option \option{domain_balancing}. The syntax of the option is the following:
If you need a different behaviour, you can change the load balancing behaviour with the option \option{domain\_balancing}. The syntax of the option is the following:
\begin{verbatim}
{domain_balancing, "component.example.com", <balancing_criterium>}.
@ -928,19 +928,19 @@ Several balancing criterium are available:
\begin{itemize}
\item \term{destination}: the full JID of the packet \term{to} attribute is used.
\item \term{source}: the full JID of the packet \term{from} attribute is used.
\item \term{bare_destination}: the bare JID (without resource) of the packet \term{to} attribute is used.
\item \term{bare_source}: the bare JID (without resource) of the packet \term{from} attribute is used.
\item \term{bare\_destination}: the bare JID (without resource) of the packet \term{to} attribute is used.
\item \term{bare\_source}: the bare JID (without resource) of the packet \term{from} attribute is used.
\end{itemize}
If the value corresponding to the criterium is the same, the same component instance in the cluster will be used.
\subsection{Load-Balancing Buckets}
\label{lbbuckets}
\ind{options!domain_balancing_component_number}
\ind{options!domain\_balancing\_component\_number}
When there is a risk of failure for a given component, domain balancing can cause service trouble. If one component is failling the service will not work correctly unless the sessions are rebalanced.
In this case, it is best to limit the problem to the sessions handled by the failling component. This is what the \term{domain_balancing_component_number} option does, making the load balancing algorithm not dynamic, but sticky on a fix number of component instances.
In this case, it is best to limit the problem to the sessions handled by the failling component. This is what the \term{domain\_balancing\_component\_number} option does, making the load balancing algorithm not dynamic, but sticky on a fix number of component instances.
The syntax is the following:
\begin{verbatim}