25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00

* doc/guide.tex: Updated

SVN Revision: 312
This commit is contained in:
Alexey Shchepin 2005-04-18 14:47:13 +00:00
parent e0d1e68096
commit 78f3e2edb0
3 changed files with 225 additions and 113 deletions

View File

@ -1,5 +1,7 @@
2005-04-18 Alexey Shchepin <alexey@sevcom.net>
* doc/guide.tex: Updated
* src/msgs/pl.msg: New Polish translation (thanks to Andrew Smyk)
2005-04-17 Alexey Shchepin <alexey@sevcom.net>

View File

@ -4,7 +4,7 @@
<HEAD><TITLE>Ejabberd Installation and Operation Guide</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=ISO8859-1">
<META name="GENERATOR" content="hevea 1.06">
<META name="GENERATOR" content="hevea 1.07">
</HEAD>
<BODY >
<!--HEVEA command line is: /usr/bin/hevea -charset ISO8859-1 guide.tex -->
@ -55,7 +55,7 @@
<UL><LI>
<A HREF="#htoc12">3.1&nbsp;&nbsp;Initial Configuration</A>
<UL><LI>
<A HREF="#htoc13">3.1.1&nbsp;&nbsp;Host Name</A>
<A HREF="#htoc13">3.1.1&nbsp;&nbsp;Host Names</A>
<LI><A HREF="#htoc14">3.1.2&nbsp;&nbsp;Default Language</A>
<LI><A HREF="#htoc15">3.1.3&nbsp;&nbsp;Access Rules</A>
<LI><A HREF="#htoc16">3.1.4&nbsp;&nbsp;Shapers Configuration</A>
@ -85,27 +85,28 @@
<UL><LI>
<A HREF="#htoc31">A.1.1&nbsp;&nbsp;<TT>iqdisc</TT></A>
<LI><A HREF="#htoc32">A.1.2&nbsp;&nbsp;<TT>host</TT></A>
<LI><A HREF="#htoc33">A.1.3&nbsp;&nbsp;<TT>hosts</TT></A>
</UL>
<LI><A HREF="#htoc33">A.2&nbsp;&nbsp;<TT>mod_announce</TT></A>
<LI><A HREF="#htoc34">A.3&nbsp;&nbsp;<TT>mod_configure</TT></A>
<LI><A HREF="#htoc35">A.4&nbsp;&nbsp;<TT>mod_disco</TT></A>
<LI><A HREF="#htoc36">A.5&nbsp;&nbsp;<TT>mod_echo</TT></A>
<LI><A HREF="#htoc37">A.6&nbsp;&nbsp;<TT>mod_irc</TT></A>
<LI><A HREF="#htoc38">A.7&nbsp;&nbsp;<TT>mod_last</TT></A>
<LI><A HREF="#htoc39">A.8&nbsp;&nbsp;<TT>mod_muc</TT></A>
<LI><A HREF="#htoc40">A.9&nbsp;&nbsp;<TT>mod_offline</TT></A>
<LI><A HREF="#htoc41">A.10&nbsp;&nbsp;<TT>mod_privacy</TT></A>
<LI><A HREF="#htoc42">A.11&nbsp;&nbsp;<TT>mod_private</TT></A>
<LI><A HREF="#htoc43">A.12&nbsp;&nbsp;<TT>mod_pubsub</TT></A>
<LI><A HREF="#htoc44">A.13&nbsp;&nbsp;<TT>mod_register</TT></A>
<LI><A HREF="#htoc45">A.14&nbsp;&nbsp;<TT>mod_roster</TT></A>
<LI><A HREF="#htoc46">A.15&nbsp;&nbsp;<TT>mod_service_log</TT></A>
<LI><A HREF="#htoc47">A.16&nbsp;&nbsp;<TT>mod_stats</TT></A>
<LI><A HREF="#htoc48">A.17&nbsp;&nbsp;<TT>mod_time</TT></A>
<LI><A HREF="#htoc49">A.18&nbsp;&nbsp;<TT>mod_vcard</TT></A>
<LI><A HREF="#htoc50">A.19&nbsp;&nbsp;<TT>mod_version</TT></A>
<LI><A HREF="#htoc34">A.2&nbsp;&nbsp;<TT>mod_announce</TT></A>
<LI><A HREF="#htoc35">A.3&nbsp;&nbsp;<TT>mod_configure</TT></A>
<LI><A HREF="#htoc36">A.4&nbsp;&nbsp;<TT>mod_disco</TT></A>
<LI><A HREF="#htoc37">A.5&nbsp;&nbsp;<TT>mod_echo</TT></A>
<LI><A HREF="#htoc38">A.6&nbsp;&nbsp;<TT>mod_irc</TT></A>
<LI><A HREF="#htoc39">A.7&nbsp;&nbsp;<TT>mod_last</TT></A>
<LI><A HREF="#htoc40">A.8&nbsp;&nbsp;<TT>mod_muc</TT></A>
<LI><A HREF="#htoc41">A.9&nbsp;&nbsp;<TT>mod_offline</TT></A>
<LI><A HREF="#htoc42">A.10&nbsp;&nbsp;<TT>mod_privacy</TT></A>
<LI><A HREF="#htoc43">A.11&nbsp;&nbsp;<TT>mod_private</TT></A>
<LI><A HREF="#htoc44">A.12&nbsp;&nbsp;<TT>mod_pubsub</TT></A>
<LI><A HREF="#htoc45">A.13&nbsp;&nbsp;<TT>mod_register</TT></A>
<LI><A HREF="#htoc46">A.14&nbsp;&nbsp;<TT>mod_roster</TT></A>
<LI><A HREF="#htoc47">A.15&nbsp;&nbsp;<TT>mod_service_log</TT></A>
<LI><A HREF="#htoc48">A.16&nbsp;&nbsp;<TT>mod_stats</TT></A>
<LI><A HREF="#htoc49">A.17&nbsp;&nbsp;<TT>mod_time</TT></A>
<LI><A HREF="#htoc50">A.18&nbsp;&nbsp;<TT>mod_vcard</TT></A>
<LI><A HREF="#htoc51">A.19&nbsp;&nbsp;<TT>mod_version</TT></A>
</UL>
<LI><A HREF="#htoc51">B&nbsp;&nbsp;I18n/L10n</A>
<LI><A HREF="#htoc52">B&nbsp;&nbsp;I18n/L10n</A>
</UL>
<!--TOC section Introduction-->
@ -127,6 +128,7 @@ Works on most of popular platforms: *nix (tested on Linux, FreeBSD and
permanently on more than one node. This means that if one of the nodes
crashes, then the others will continue working without disruption.
You can also add or replace nodes ``on the fly''.
<LI>Support for virtual hosting
<LI>Built-in <A HREF="http://www.jabber.org/jeps/jep-0045.html">Multi-User Chat</A> service
<LI>Built-in IRC transport
<LI>Built-in <A HREF="http://www.jabber.org/jeps/jep-0060.html">Publish-Subscribe</A> service
@ -144,8 +146,9 @@ Works on most of popular platforms: *nix (tested on Linux, FreeBSD and
</UL>
The misfeatures of <TT>ejabberd</TT> are:
<UL><LI>
No support for virtual domains
<LI>No support for authentication and STARTTLS in S2S connections
No support for authentication and STARTTLS in S2S connections
<LI>Access rules can be defined only for global conext, not for specific
virtual host
</UL>
<!--TOC section Installation from Source-->
@ -324,15 +327,25 @@ in config:
</PRE>With this lines old global or local options or ACLs will be removed before
adding new ones.<BR>
<BR>
<!--TOC subsubsection Host Name-->
<!--TOC subsubsection Host Names-->
<H4><A NAME="htoc13">3.1.1</A>&nbsp;&nbsp;Host Name</H4><!--SEC END -->
<H4><A NAME="htoc13">3.1.1</A>&nbsp;&nbsp;Host Names</H4><!--SEC END -->
<A NAME="sec:confighostname"></A>
Option <TT>hostname</TT> defines name of Jabber domain that <TT>ejabberd</TT>
serves. E.&nbsp;g. to use <TT>jabber.org</TT> domain add the following line in the config:
Option <TT>hosts</TT> defines a list of Jabber domains that <TT>ejabberd</TT>
serves. E.&nbsp;g. to serve <TT>example.org</TT> and <TT>example.com</TT> domains add
the following line in the config:
<PRE>
{host, "jabber.org"}.
{hosts, ["example.org", "example.com"]}.
</PRE>
Option <TT>host</TT> defines one Jabber domain that <TT>ejabberd</TT> serves.
E.&nbsp;g. to serve only <TT>example.org</TT> domain add the following line in the
config:
<PRE>
{host, "example.org"}.
</PRE>It have the same effect as
<PRE>
{hosts, ["example.org"]}.
</PRE>
<!--TOC subsubsection Default Language-->
@ -361,8 +374,8 @@ declarations of ACL in config file have following syntax:
<B><TT>all</TT></B><DD> Matches all JIDs. Example:
<PRE>
{acl, all, all}.
</PRE><DT><B><TT>{user, &lt;username&gt;}</TT></B><DD> Matches local user with name
<TT>&lt;username&gt;</TT>. Example:
</PRE><DT><B><TT>{user, &lt;username&gt;}</TT></B><DD> Matches user with name
<TT>&lt;username&gt;</TT> at the first virtual host. Example:
<PRE>
{acl, admin, {user, "aleksey"}}.
</PRE><DT><B><TT>{user, &lt;username&gt;, &lt;server&gt;}</TT></B><DD> Matches user with JID
@ -374,7 +387,7 @@ declarations of ACL in config file have following syntax:
<PRE>
{acl, jabberorg, {server, "jabber.org"}}.
</PRE><DT><B><TT>{user_regexp, &lt;regexp&gt;}</TT></B><DD> Matches local user with name that
matches <TT>&lt;regexp&gt;</TT>. Example:
matches <TT>&lt;regexp&gt;</TT> at the first virtual host. Example:
<PRE>
{acl, tests, {user, "^test[0-9]*$"}}.
</PRE><DT><B><TT>{user_regexp, &lt;regexp&gt;, &lt;server&gt;}</TT></B><DD> Matches user with name
@ -405,7 +418,7 @@ declarations of ACL in config file have following syntax:
character not enclosed is matched.
</DL>
</DL>
The following ACLs pre-defined:
The following ACLs are pre-defined:
<DL COMPACT=compact><DT>
<B><TT>all</TT></B><DD> Matches all JIDs.
<DT><B><TT>none</TT></B><DD> Matches none JIDs.
@ -430,8 +443,8 @@ Example:
</PRE>
Following access rules pre-defined:
<DL COMPACT=compact><DT>
<B><TT>all</TT></B><DD> Always return ``<TT>allow</TT>''
<DT><B><TT>none</TT></B><DD> Always return ``<TT>deny</TT>''
<B><TT>all</TT></B><DD> Always returns ``<TT>allow</TT>''
<DT><B><TT>none</TT></B><DD> Always returns ``<TT>deny</TT>''
</DL>
<!--TOC subsubsection Shapers Configuration-->
@ -617,6 +630,7 @@ Example:
{mod_stats, []},
{mod_vcard, []},
{mod_offline, []},
{mod_announce, [{access, announce}]},
{mod_echo, [{host, "echo.localhost"}]},
{mod_private, []},
{mod_irc, []},
@ -892,29 +906,50 @@ Example:
...
]}.
</PRE>
<!--TOC subsubsection <TT>hosts</TT>-->
<H4><A NAME="htoc33">A.1.3</A>&nbsp;&nbsp;<TT>hosts</TT></H4><!--SEC END -->
<A NAME="sec:modhostsoption"></A>
This option explicitly defines a list of hostnames for the module which acts as
a service.<BR>
<BR>
Example:
<PRE>
{modules,
[
...
{mod_echo, [{hosts, ["echo.example.org", "echo.example.com"]}]},
...
]}.
</PRE>
<!--TOC subsection <TT>mod_announce</TT>-->
<H3><A NAME="htoc33">A.2</A>&nbsp;&nbsp;<TT>mod_announce</TT></H3><!--SEC END -->
<H3><A NAME="htoc34">A.2</A>&nbsp;&nbsp;<TT>mod_announce</TT></H3><!--SEC END -->
<A NAME="sec:modannounce"></A>
This module adds support for broadcast announce messages and MOTD.
When the module is loaded, it handles messages sent to the following JID's
(suppose that main server has address <TT>example.org</TT>):
<DL COMPACT=compact><DT>
<B><TT>example.org/announce/all</TT></B><DD> Message is sent to all registered users.
If the user is online and connected to several resources, only resource with
the highest priority will receive the message. If the registered user is
not connected, the message will be stored offline (if oflline storage is
available).
<DT><B><TT>example.org/announce/online</TT></B><DD> Message is sent to all connected users.
If the user is online and connected to several resources, all resources
will receive the message.
<B><TT>example.org/announce/all</TT></B><DD> Message is sent to all registered users at
<TT>example.org</TT>. If the user is online and connected to several resources,
only resource with the highest priority will receive the message. If the
registered user is not connected, the message will be stored offline (if
oflline storage is available).
<DT><B><TT>example.org/announce/online</TT></B><DD> Message is sent to all connected users at
<TT>example.org</TT>. If the user is online and connected to several resources,
all resources will receive the message.
<DT><B><TT>example.org/announce/all-hosts/online</TT></B><DD> Message is sent to all connected
users at every virtual host. If the user is online and connected to several
resources, all resources will receive the message.
<DT><B><TT>example.org/announce/motd</TT></B><DD> Message is set as MOTD (Message of the Day)
and will be sent to users as they login. In addition the message is sent to
all connected users (similar to <TT>announce/online</TT> resource).
<DT><B><TT>example.org/announce/motd/update</TT></B><DD> Message is set as MOTD (Message of the Day)
and will be sent to users as they login. The message is <EM>not sent</EM> to
all connected users.
and is sent to users at <TT>example.org</TT> as they login. In addition the
message is sent to all connected users (similar to <TT>announce/online</TT>
resource).
<DT><B><TT>example.org/announce/motd/update</TT></B><DD> Message is set as MOTD (Message of the
Day) and is sent to users at <TT>example.org</TT> as they login. The message
is <EM>not sent</EM> to all connected users.
<DT><B><TT>example.org/announce/motd/delete</TT></B><DD> Any message sent to this JID
removes existing MOTD.
</DL>
@ -937,7 +972,7 @@ Example:
</PRE>
<!--TOC subsection <TT>mod_configure</TT>-->
<H3><A NAME="htoc34">A.3</A>&nbsp;&nbsp;<TT>mod_configure</TT></H3><!--SEC END -->
<H3><A NAME="htoc35">A.3</A>&nbsp;&nbsp;<TT>mod_configure</TT></H3><!--SEC END -->
<A NAME="sec:modconfigure"></A>
Options:
@ -947,7 +982,7 @@ discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_disco</TT>-->
<H3><A NAME="htoc35">A.4</A>&nbsp;&nbsp;<TT>mod_disco</TT></H3><!--SEC END -->
<H3><A NAME="htoc36">A.4</A>&nbsp;&nbsp;<TT>mod_disco</TT></H3><!--SEC END -->
<A NAME="sec:moddisco"></A>
This module adds support for <A HREF="http://www.jabber.org/jeps/jep-0030.html">JEP-0030</A> (Service Discovery).<BR>
@ -972,7 +1007,7 @@ Example:
</PRE>
<!--TOC subsection <TT>mod_echo</TT>-->
<H3><A NAME="htoc36">A.5</A>&nbsp;&nbsp;<TT>mod_echo</TT></H3><!--SEC END -->
<H3><A NAME="htoc37">A.5</A>&nbsp;&nbsp;<TT>mod_echo</TT></H3><!--SEC END -->
<A NAME="sec:modecho"></A>
This module acts as a service and simply returns to sender any Jabber packet. Module may be
@ -980,22 +1015,30 @@ useful for debugging.<BR>
<BR>
Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>). If not present
then prefix <TT>echo.</TT> is added to main <TT>ejabberd</TT> hostname.
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>).
<DT><B><TT>hosts</TT></B><DD> Defines hostnames of the service
(see&nbsp;<A HREF="#sec:modhostsoption">A.1.3</A>). If neither <TT>host</TT> nor <TT>hosts</TT>
are not present, then prefix <TT>echo.</TT> is added to all <TT>ejabberd</TT> hostnames.
</DL>
<!--TOC subsection <TT>mod_irc</TT>-->
<H3><A NAME="htoc37">A.6</A>&nbsp;&nbsp;<TT>mod_irc</TT></H3><!--SEC END -->
<H3><A NAME="htoc38">A.6</A>&nbsp;&nbsp;<TT>mod_irc</TT></H3><!--SEC END -->
<A NAME="sec:modirc"></A>
This module implements IRC transport.<BR>
<BR>
Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>). If not present
then prefix <TT>irc.</TT> is added to main <TT>ejabberd</TT> hostname.
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>).
<DT><B><TT>hosts</TT></B><DD> Defines hostnames of the service
(see&nbsp;<A HREF="#sec:modhostsoption">A.1.3</A>). If neither <TT>host</TT> nor <TT>hosts</TT>
are not present, then prefix <TT>irc.</TT> is added to all <TT>ejabberd</TT> hostnames.
<DT><B><TT>access</TT></B><DD> Specifies who is allowed to use IRC transport (default value is <TT>all</TT>).
</DL>
Example:
@ -1009,7 +1052,7 @@ Example:
</PRE>
<!--TOC subsection <TT>mod_last</TT>-->
<H3><A NAME="htoc38">A.7</A>&nbsp;&nbsp;<TT>mod_last</TT></H3><!--SEC END -->
<H3><A NAME="htoc39">A.7</A>&nbsp;&nbsp;<TT>mod_last</TT></H3><!--SEC END -->
<A NAME="sec:modlast"></A>
This module adds support for <A HREF="http://www.jabber.org/jeps/jep-0012.html">JEP-0012</A> (Last Activity)<BR>
@ -1021,16 +1064,20 @@ discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_muc</TT>-->
<H3><A NAME="htoc39">A.8</A>&nbsp;&nbsp;<TT>mod_muc</TT></H3><!--SEC END -->
<H3><A NAME="htoc40">A.8</A>&nbsp;&nbsp;<TT>mod_muc</TT></H3><!--SEC END -->
<A NAME="sec:modmuc"></A>
This module implements <A HREF="http://www.jabber.org/jeps/jep-0045.html">JEP-0045</A> (Multi-User Chat) service.<BR>
<BR>
Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>). If not present
then prefix <TT>conference.</TT> is added to main <TT>ejabberd</TT> hostname.
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>).
<DT><B><TT>hosts</TT></B><DD> Defines hostnames of the service
(see&nbsp;<A HREF="#sec:modhostsoption">A.1.3</A>). If neither <TT>host</TT> nor <TT>hosts</TT>
are not present, then prefix <TT>conference.</TT> is added to all <TT>ejabberd</TT> hostnames.
<DT><B><TT>access</TT></B><DD> Specifies who is allowed to use MUC service (default value is <TT>all</TT>).
<DT><B><TT>access_create</TT></B><DD> Specifies who is allowed to create new rooms at
MUC service (default value is <TT>all</TT>).
@ -1056,14 +1103,14 @@ Example:
</PRE>
<!--TOC subsection <TT>mod_offline</TT>-->
<H3><A NAME="htoc40">A.9</A>&nbsp;&nbsp;<TT>mod_offline</TT></H3><!--SEC END -->
<H3><A NAME="htoc41">A.9</A>&nbsp;&nbsp;<TT>mod_offline</TT></H3><!--SEC END -->
<A NAME="sec:modoffline"></A>
This module implements offline message storage.<BR>
<BR>
<!--TOC subsection <TT>mod_privacy</TT>-->
<H3><A NAME="htoc41">A.10</A>&nbsp;&nbsp;<TT>mod_privacy</TT></H3><!--SEC END -->
<H3><A NAME="htoc42">A.10</A>&nbsp;&nbsp;<TT>mod_privacy</TT></H3><!--SEC END -->
<A NAME="sec:modprivacy"></A>
This module implements Privacy Rules as defined in XMPP IM
@ -1076,7 +1123,7 @@ discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_private</TT>-->
<H3><A NAME="htoc42">A.11</A>&nbsp;&nbsp;<TT>mod_private</TT></H3><!--SEC END -->
<H3><A NAME="htoc43">A.11</A>&nbsp;&nbsp;<TT>mod_private</TT></H3><!--SEC END -->
<A NAME="sec:modprivate"></A>
This module adds support of <A HREF="http://www.jabber.org/jeps/jep-0049.html">JEP-0049</A> (Private XML Storage).<BR>
@ -1088,16 +1135,20 @@ discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_pubsub</TT>-->
<H3><A NAME="htoc43">A.12</A>&nbsp;&nbsp;<TT>mod_pubsub</TT></H3><!--SEC END -->
<H3><A NAME="htoc44">A.12</A>&nbsp;&nbsp;<TT>mod_pubsub</TT></H3><!--SEC END -->
<A NAME="sec:modpubsub"></A>
This module implements <A HREF="http://www.jabber.org/jeps/jep-0060.html">JEP-0060</A> (Publish-Subscribe Service).<BR>
<BR>
Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>). If not present
then prefix <TT>pubsub.</TT> is added to main <TT>ejabberd</TT> hostname.
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>).
<DT><B><TT>hosts</TT></B><DD> Defines hostnames of the service
(see&nbsp;<A HREF="#sec:modhostsoption">A.1.3</A>). If neither <TT>host</TT> nor <TT>hosts</TT>
are not present, then prefix <TT>pubsub.</TT> is added to all <TT>ejabberd</TT> hostnames.
<DT><B><TT>served_hosts</TT></B><DD> Specifies which hosts are served by the service.
If absent then only main <TT>ejabberd</TT> host is served.
</DL>
@ -1113,7 +1164,7 @@ Example:
</PRE>
<!--TOC subsection <TT>mod_register</TT>-->
<H3><A NAME="htoc44">A.13</A>&nbsp;&nbsp;<TT>mod_register</TT></H3><!--SEC END -->
<H3><A NAME="htoc45">A.13</A>&nbsp;&nbsp;<TT>mod_register</TT></H3><!--SEC END -->
<A NAME="sec:modregister"></A>
This module adds support for <A HREF="http://www.jabber.org/jeps/jep-0077.html">JEP-0077</A> (In-Band Registration).<BR>
@ -1146,7 +1197,7 @@ Example:
</PRE>
<!--TOC subsection <TT>mod_roster</TT>-->
<H3><A NAME="htoc45">A.14</A>&nbsp;&nbsp;<TT>mod_roster</TT></H3><!--SEC END -->
<H3><A NAME="htoc46">A.14</A>&nbsp;&nbsp;<TT>mod_roster</TT></H3><!--SEC END -->
<A NAME="sec:modroster"></A>
This module implements roster management.<BR>
@ -1158,7 +1209,7 @@ discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_service_log</TT>-->
<H3><A NAME="htoc46">A.15</A>&nbsp;&nbsp;<TT>mod_service_log</TT></H3><!--SEC END -->
<H3><A NAME="htoc47">A.15</A>&nbsp;&nbsp;<TT>mod_service_log</TT></H3><!--SEC END -->
<A NAME="sec:modservicelog"></A>
This module adds support for logging of user packets via any jabber service.
@ -1181,7 +1232,7 @@ Example:
</PRE>
<!--TOC subsection <TT>mod_stats</TT>-->
<H3><A NAME="htoc47">A.16</A>&nbsp;&nbsp;<TT>mod_stats</TT></H3><!--SEC END -->
<H3><A NAME="htoc48">A.16</A>&nbsp;&nbsp;<TT>mod_stats</TT></H3><!--SEC END -->
<A NAME="sec:modstats"></A>
This module adds support for <A HREF="http://www.jabber.org/jeps/jep-0039.html">JEP-0039</A> (Statistics Gathering).<BR>
@ -1193,7 +1244,7 @@ discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_time</TT>-->
<H3><A NAME="htoc48">A.17</A>&nbsp;&nbsp;<TT>mod_time</TT></H3><!--SEC END -->
<H3><A NAME="htoc49">A.17</A>&nbsp;&nbsp;<TT>mod_time</TT></H3><!--SEC END -->
<A NAME="sec:modtime"></A>
This module answers UTC time on <TT>jabber:iq:time</TT> queries.<BR>
@ -1205,7 +1256,7 @@ discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_vcard</TT>-->
<H3><A NAME="htoc49">A.18</A>&nbsp;&nbsp;<TT>mod_vcard</TT></H3><!--SEC END -->
<H3><A NAME="htoc50">A.18</A>&nbsp;&nbsp;<TT>mod_vcard</TT></H3><!--SEC END -->
<A NAME="sec:modvcard"></A>
This module implements simple Jabber User Directory (based on user vCards)
@ -1213,29 +1264,41 @@ and answers server vCard on <TT>vcard-temp</TT> queries.<BR>
<BR>
Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>). If not present
then prefix <TT>vjud.</TT> is added to main <TT>ejabberd</TT> hostname.
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.2</A>).
<DT><B><TT>hosts</TT></B><DD> Defines hostnames of the service
(see&nbsp;<A HREF="#sec:modhostsoption">A.1.3</A>). If neither <TT>host</TT> nor <TT>hosts</TT>
are not present, then prefix <TT>vjud.</TT> is added to all <TT>ejabberd</TT> hostnames.
<DT><B><TT>iqdisc</TT></B><DD> <TT>vcard-temp</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
<DT><B><TT>search</TT></B><DD> Specifies wheather search is enabled (value is <TT>true</TT>, default) or
<DT><B><TT>search</TT></B><DD> Specifies whether search is enabled (value is <TT>true</TT>, default) or
disabled (value is <TT>false</TT>) by the service. If <TT>search</TT> is set to <TT>false</TT>,
option <TT>host</TT> is ignored and service does not appear in Jabber Discovery items.
<DT><B><TT>matches</TT></B><DD> Limits the number of reported search results. If value is set to
<TT>infinity</TT> then all search results are reported. Default value is <TT>30</TT>.
<DT><B><TT>allow_return_all</TT></B><DD> Specifies whether search with empty input fields can
return all known users. Default is <TT>false</TT>.
<DT><B><TT>search_all_hosts</TT></B><DD> If set in <TT>true</TT> then search returns matched
items at all virtual hosts. Otherwise only current host items are returned.
Default is <TT>true</TT>.
</DL>
Example:
<PRE>
{modules,
[
...
{mod_vcard, [{search, false}, {matches, 20}]}
{mod_vcard, [{search, true},
{matches, 20},
{allow_return_all, true},
{search_all_hosts, false}]}
...
]}.
</PRE>
<!--TOC subsection <TT>mod_version</TT>-->
<H3><A NAME="htoc50">A.19</A>&nbsp;&nbsp;<TT>mod_version</TT></H3><!--SEC END -->
<H3><A NAME="htoc51">A.19</A>&nbsp;&nbsp;<TT>mod_version</TT></H3><!--SEC END -->
<A NAME="sec:modversion"></A>
This module answers <TT>ejabberd</TT> version on <TT>jabber:iq:version</TT> queries.<BR>
@ -1247,7 +1310,7 @@ discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC section I18n/L10n-->
<H2><A NAME="htoc51">B</A>&nbsp;&nbsp;I18n/L10n</H2><!--SEC END -->
<H2><A NAME="htoc52">B</A>&nbsp;&nbsp;I18n/L10n</H2><!--SEC END -->
<A NAME="sec:i18nl10n"></A>
All built-in modules support <TT>xml:lang</TT> attribute inside IQ queries.

View File

@ -69,9 +69,13 @@
\newcommand{\iqdiscitem}[1]{\titem{iqdisc} #1 IQ queries processing
discipline (see~\ref{sec:modiqdiscoption}).}
\newcommand{\hostitem}[1]{\titem{host} Defines hostname of service
(see~\ref{sec:modhostoption}). If not present
then prefix \jid{#1.} is added to main \ejabberd{} hostname.}
\newcommand{\hostitem}[1]{
\titem{host} Defines hostname of the service
(see~\ref{sec:modhostoption}).
\titem{hosts} Defines hostnames of the service
(see~\ref{sec:modhostsoption}). If neither \texttt{host} nor \texttt{hosts}
are not present, then prefix \jid{#1.} is added to all \ejabberd{} hostnames.
}
\title{Ejabberd Installation and Operation Guide}
\author{Alexey Shchepin \\
@ -109,6 +113,7 @@ The main features of \ejabberd{} are:
permanently on more than one node. This means that if one of the nodes
crashes, then the others will continue working without disruption.
You can also add or replace nodes ``on the fly''.
\item Support for virtual hosting
\item Built-in \tjepref{0045}{Multi-User Chat} service
\item Built-in IRC transport
\item Built-in \tjepref{0060}{Publish-Subscribe} service
@ -127,8 +132,9 @@ The main features of \ejabberd{} are:
The misfeatures of \ejabberd{} are:
\begin{itemize}
\item No support for virtual domains
\item No support for authentication and STARTTLS in S2S connections
\item Access rules can be defined only for global conext, not for specific
virtual host
\end{itemize}
@ -309,13 +315,25 @@ With this lines old global or local options or ACLs will be removed before
adding new ones.
\subsubsection{Host Name}
\subsubsection{Host Names}
\label{sec:confighostname}
Option \option{hostname} defines name of \Jabber{} domain that \ejabberd{}
serves. E.\,g.\ to use \jid{jabber.org} domain add the following line in the config:
Option \option{hosts} defines a list of \Jabber{} domains that \ejabberd{}
serves. E.\,g.\ to serve \jid{example.org} and \jid{example.com} domains add
the following line in the config:
\begin{verbatim}
{host, "jabber.org"}.
{hosts, ["example.org", "example.com"]}.
\end{verbatim}
Option \option{host} defines one \Jabber{} domain that \ejabberd{} serves.
E.\,g.\ to serve only \jid{example.org} domain add the following line in the
config:
\begin{verbatim}
{host, "example.org"}.
\end{verbatim}
It have the same effect as
\begin{verbatim}
{hosts, ["example.org"]}.
\end{verbatim}
%This option is mandatory.
@ -347,8 +365,8 @@ declarations of ACL in config file have following syntax:
\begin{verbatim}
{acl, all, all}.
\end{verbatim}
\titem{\{user, <username>\}} Matches local user with name
\term{<username>}. Example:
\titem{\{user, <username>\}} Matches user with name
\term{<username>} at the first virtual host. Example:
\begin{verbatim}
{acl, admin, {user, "aleksey"}}.
\end{verbatim}
@ -363,7 +381,7 @@ declarations of ACL in config file have following syntax:
{acl, jabberorg, {server, "jabber.org"}}.
\end{verbatim}
\titem{\{user\_regexp, <regexp>\}} Matches local user with name that
matches \term{<regexp>}. Example:
matches \term{<regexp>} at the first virtual host. Example:
\begin{verbatim}
{acl, tests, {user, "^test[0-9]*$"}}.
\end{verbatim}
@ -400,7 +418,7 @@ declarations of ACL in config file have following syntax:
\end{description}
\end{description}
The following ACLs pre-defined:
The following ACLs are pre-defined:
\begin{description}
\titem{all} Matches all JIDs.
\titem{none} Matches none JIDs.
@ -428,8 +446,8 @@ Example:
Following access rules pre-defined:
\begin{description}
\titem{all} Always return ``\term{allow}''
\titem{none} Always return ``\term{deny}''
\titem{all} Always returns ``\term{allow}''
\titem{none} Always returns ``\term{deny}''
\end{description}
@ -620,6 +638,7 @@ Example:
{mod_stats, []},
{mod_vcard, []},
{mod_offline, []},
{mod_announce, [{access, announce}]},
{mod_echo, [{host, "echo.localhost"}]},
{mod_private, []},
{mod_irc, []},
@ -895,6 +914,22 @@ Example:
]}.
\end{verbatim}
\subsubsection{\option{hosts}}
\label{sec:modhostsoption}
This option explicitly defines a list of hostnames for the module which acts as
a service.
Example:
\begin{verbatim}
{modules,
[
...
{mod_echo, [{hosts, ["echo.example.org", "echo.example.com"]}]},
...
]}.
\end{verbatim}
\subsection{\modannounce{}}
\label{sec:modannounce}
@ -903,20 +938,24 @@ This module adds support for broadcast announce messages and MOTD.
When the module is loaded, it handles messages sent to the following JID's
(suppose that main server has address \jid{example.org}):
\begin{description}
\titem{example.org/announce/all} Message is sent to all registered users.
If the user is online and connected to several resources, only resource with
the highest priority will receive the message. If the registered user is
not connected, the message will be stored offline (if oflline storage is
available).
\titem{example.org/announce/online} Message is sent to all connected users.
If the user is online and connected to several resources, all resources
will receive the message.
\titem{example.org/announce/all} Message is sent to all registered users at
\jid{example.org}. If the user is online and connected to several resources,
only resource with the highest priority will receive the message. If the
registered user is not connected, the message will be stored offline (if
oflline storage is available).
\titem{example.org/announce/online} Message is sent to all connected users at
\jid{example.org}. If the user is online and connected to several resources,
all resources will receive the message.
\titem{example.org/announce/all-hosts/online} Message is sent to all connected
users at every virtual host. If the user is online and connected to several
resources, all resources will receive the message.
\titem{example.org/announce/motd} Message is set as MOTD (Message of the Day)
and will be sent to users as they login. In addition the message is sent to
all connected users (similar to \term{announce/online} resource).
\titem{example.org/announce/motd/update} Message is set as MOTD (Message of the Day)
and will be sent to users as they login. The message is \emph{not sent} to
all connected users.
and is sent to users at \jid{example.org} as they login. In addition the
message is sent to all connected users (similar to \term{announce/online}
resource).
\titem{example.org/announce/motd/update} Message is set as MOTD (Message of the
Day) and is sent to users at \jid{example.org} as they login. The message
is \emph{not sent} to all connected users.
\titem{example.org/announce/motd/delete} Any message sent to this JID
removes existing MOTD.
\end{description}
@ -1207,11 +1246,16 @@ Options:
\begin{description}
\hostitem{vjud}
\iqdiscitem{\ns{vcard-temp}}
\titem{search} Specifies wheather search is enabled (value is \term{true}, default) or
\titem{search} Specifies whether search is enabled (value is \term{true}, default) or
disabled (value is \term{false}) by the service. If \term{search} is set to \term{false},
option \term{host} is ignored and service does not appear in Jabber Discovery items.
\titem{matches} Limits the number of reported search results. If value is set to
\term{infinity} then all search results are reported. Default value is \term{30}.
\titem{allow\_return\_all} Specifies whether search with empty input fields can
return all known users. Default is \term{false}.
\titem{search\_all\_hosts} If set in \term{true} then search returns matched
items at all virtual hosts. Otherwise only current host items are returned.
Default is \term{true}.
\end{description}
Example:
@ -1219,7 +1263,10 @@ Example:
{modules,
[
...
{mod_vcard, [{search, false}, {matches, 20}]}
{mod_vcard, [{search, true},
{matches, 20},
{allow_return_all, true},
{search_all_hosts, false}]}
...
]}.
\end{verbatim}