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: 318
This commit is contained in:
Alexey Shchepin 2005-04-18 21:38:05 +00:00
parent b8eadd4bf0
commit 46b5c0fdb9

View File

@ -3,11 +3,11 @@
<HTML>
<HEAD><TITLE>Ejabberd Installation and Operation Guide</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="hevea 1.07">
<META http-equiv="Content-Type" content="text/html; charset=ISO8859-1">
<META name="GENERATOR" content="hevea 1.06">
</HEAD>
<BODY >
<!--HEVEA command line is: hevea guide.tex -->
<!--HEVEA command line is: /usr/bin/hevea -charset ISO8859-1 guide.tex -->
<!--HTMLHEAD-->
<!--ENDHTML-->
<!--PREFIX <ARG ></ARG>-->
@ -34,6 +34,80 @@
<H2>Table of Contents</H2><!--SEC END -->
<UL><LI>
<A HREF="#htoc1">1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="#htoc2">2&nbsp;&nbsp;Installation from Source</A>
<UL><LI>
<A HREF="#htoc3">2.1&nbsp;&nbsp;Installation Requirements</A>
<UL><LI>
<A HREF="#htoc4">2.1.1&nbsp;&nbsp;Unix</A>
<LI><A HREF="#htoc5">2.1.2&nbsp;&nbsp;Windows</A>
</UL>
<LI><A HREF="#htoc6">2.2&nbsp;&nbsp;Obtaining</A>
<LI><A HREF="#htoc7">2.3&nbsp;&nbsp;Compilation</A>
<UL><LI>
<A HREF="#htoc8">2.3.1&nbsp;&nbsp;Unix</A>
<LI><A HREF="#htoc9">2.3.2&nbsp;&nbsp;Windows</A>
</UL>
<LI><A HREF="#htoc10">2.4&nbsp;&nbsp;Starting</A>
</UL>
<LI><A HREF="#htoc11">3&nbsp;&nbsp;Configuration</A>
<UL><LI>
<A HREF="#htoc12">3.1&nbsp;&nbsp;Initial Configuration</A>
<UL><LI>
<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>
<LI><A HREF="#htoc17">3.1.5&nbsp;&nbsp;Listened Sockets</A>
<LI><A HREF="#htoc18">3.1.6&nbsp;&nbsp;Modules</A>
</UL>
<LI><A HREF="#htoc19">3.2&nbsp;&nbsp;Online Configuration and Monitoring</A>
<UL><LI>
<A HREF="#htoc20">3.2.1&nbsp;&nbsp;Web-based Administration Interface</A>
<LI><A HREF="#htoc21">3.2.2&nbsp;&nbsp;<TT>ejabberdctl</TT> tool</A>
</UL>
</UL>
<LI><A HREF="#htoc22">4&nbsp;&nbsp;Clustering</A>
<UL><LI>
<A HREF="#htoc23">4.1&nbsp;&nbsp;How it works</A>
<UL><LI>
<A HREF="#htoc24">4.1.1&nbsp;&nbsp;Router</A>
<LI><A HREF="#htoc25">4.1.2&nbsp;&nbsp;Local Router</A>
<LI><A HREF="#htoc26">4.1.3&nbsp;&nbsp;Session Manager</A>
<LI><A HREF="#htoc27">4.1.4&nbsp;&nbsp;S2S Manager</A>
</UL>
<LI><A HREF="#htoc28">4.2&nbsp;&nbsp;How to setup ejabberd cluster</A>
</UL>
<LI><A HREF="#htoc29">A&nbsp;&nbsp;Built-in Modules</A>
<UL><LI>
<A HREF="#htoc30">A.1&nbsp;&nbsp;Common Options</A>
<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="#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="#htoc52">B&nbsp;&nbsp;I18n/L10n</A>
</UL>
<!--TOC section Introduction-->
@ -121,14 +195,11 @@ MS Visual C++ 6.0 Compiler
<A NAME="sec:obtaining"></A>
Stable <TT>ejabberd</TT> release can be obtained at
<A HREF="http://www.jabberstudio.org/projects/ejabberd/releases/"><TT>http://www.jabberstudio.org/projects/ejabberd/releases/</TT></A>.<BR>
<A HREF="http://www.process-one.net/en/projects/ejabberd/download.html"><TT>http://www.process-one.net/en/projects/ejabberd/download.html</TT></A>.<BR>
<BR>
The latest alpha version can be retrieved from CVS.
The latest alpha version can be retrieved from Subversion repository.
<PRE>
export CVSROOT=:pserver:anonymous@jabberstudio.org:/home/cvs
cvs login
&lt;press Enter when asked for a password&gt;
cvs -z3 co ejabberd
svn co svn://svn.process-one.net/opt/data/svn/ejabberd/trunk ejabberd
</PRE>
<!--TOC subsection Compilation-->
@ -543,7 +614,7 @@ transports log and do XDB by themselves:
Option <TT>modules</TT> defines the list of modules that will be loaded after
<TT>ejabberd</TT> startup. Each list element is a tuple where first element is a
name of a module and second is list of options to this module. See
section&nbsp;<A HREF="#sec:modules">??</A> for detailed information on each module.<BR>
section&nbsp;<A HREF="#sec:modules">A</A> for detailed information on each module.<BR>
<BR>
Example:
<PRE>
@ -579,7 +650,7 @@ Example:
<A NAME="sec:webadm"></A>
To perform online reconfiguration of <TT>ejabberd</TT> you need to enable
<TT>ejabberd_http</TT> listener with option <TT>web_admin</TT> (see
section&nbsp;<A HREF="#sec:configlistened">3.1.58Listened Socketssubsubsection.3.1.5</A>). After that you can open URL
section&nbsp;<A HREF="#sec:configlistened">3.1.5</A>). After that you can open URL
<CODE>http://server:port/admin/</CODE> with you favorite web-browser and enter
username and password of an <TT>ejabberd</TT> user with administrator rights. E.&nbsp;g.
with such config:
@ -594,7 +665,7 @@ with such config:
]
}.
</PRE>you should enter URL <CODE>http://example.org:5280/admin/</CODE>. After
authentication you should see something like in figure&nbsp;<A HREF="#fig:webadmmain">??</A>.
authentication you should see something like in figure&nbsp;<A HREF="#fig:webadmmain">1</A>.
<BLOCKQUOTE><DIV ALIGN=center><DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV>
<IMG SRC="webadmmain.png">
@ -904,7 +975,7 @@ Example:
Options:
<DL COMPACT=compact><DT>
<B><TT>iqdisc</TT></B><DD> <TT>ejabberd:config</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_disco</TT>-->
@ -917,7 +988,7 @@ Options:
<DL COMPACT=compact><DT>
<B><TT>iqdisc</TT></B><DD> <TT>http://jabber.org/protocol/disco#items</TT> and
<TT>http://jabber.org/protocol/disco#info</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
<DT><B><TT>extra_domains</TT></B><DD> List of domains that will be added to server
items reply
</DL>
@ -943,9 +1014,9 @@ Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.216hostsubsubsection.A.1.2</A>).
(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>). If neither <TT>host</TT> nor <TT>hosts</TT>
(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>
@ -960,9 +1031,9 @@ Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.216hostsubsubsection.A.1.2</A>).
(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>). If neither <TT>host</TT> nor <TT>hosts</TT>
(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>).
@ -986,7 +1057,7 @@ This module adds support for <A HREF="http://www.jabber.org/jeps/jep-0012.html">
Options:
<DL COMPACT=compact><DT>
<B><TT>iqdisc</TT></B><DD> <TT>jabber:iq:last</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_muc</TT>-->
@ -999,9 +1070,9 @@ Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.216hostsubsubsection.A.1.2</A>).
(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>). If neither <TT>host</TT> nor <TT>hosts</TT>
(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>).
@ -1045,7 +1116,7 @@ This module implements Privacy Rules as defined in XMPP IM
Options:
<DL COMPACT=compact><DT>
<B><TT>iqdisc</TT></B><DD> <TT>jabber:iq:privacy</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_private</TT>-->
@ -1057,7 +1128,7 @@ This module adds support of <A HREF="http://www.jabber.org/jeps/jep-0049.html">J
Options:
<DL COMPACT=compact><DT>
<B><TT>iqdisc</TT></B><DD> <TT>jabber:iq:private</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_pubsub</TT>-->
@ -1070,9 +1141,9 @@ Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.216hostsubsubsection.A.1.2</A>).
(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>). If neither <TT>host</TT> nor <TT>hosts</TT>
(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.
@ -1102,7 +1173,7 @@ If this rule returns ``deny'' on requested user name, then
registration is not allowed for it. (default value is <TT>all</TT>, which means
no restrictions).
<DT><B><TT>iqdisc</TT></B><DD> <TT>jabber:iq:register</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
Example:
<PRE>
@ -1131,7 +1202,7 @@ This module implements roster management.<BR>
Options:
<DL COMPACT=compact><DT>
<B><TT>iqdisc</TT></B><DD> <TT>jabber:iq:roster</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_service_log</TT>-->
@ -1166,7 +1237,7 @@ This module adds support for <A HREF="http://www.jabber.org/jeps/jep-0039.html">
Options:
<DL COMPACT=compact><DT>
<B><TT>iqdisc</TT></B><DD> <TT>http://jabber.org/protocol/stats</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_time</TT>-->
@ -1178,7 +1249,7 @@ This module answers UTC time on <TT>jabber:iq:time</TT> queries.<BR>
Options:
<DL COMPACT=compact><DT>
<B><TT>iqdisc</TT></B><DD> <TT>jabber:iq:time</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC subsection <TT>mod_vcard</TT>-->
@ -1192,13 +1263,13 @@ Options:
<DL COMPACT=compact><DT>
<B><TT>host</TT></B><DD> Defines hostname of the service
(see&nbsp;<A HREF="#sec:modhostoption">A.1.216hostsubsubsection.A.1.2</A>).
(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>). If neither <TT>host</TT> nor <TT>hosts</TT>
(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>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
<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.
@ -1232,7 +1303,7 @@ This module answers <TT>ejabberd</TT> version on <TT>jabber:iq:version</TT> quer
Options:
<DL COMPACT=compact><DT>
<B><TT>iqdisc</TT></B><DD> <TT>jabber:iq:version</TT> IQ queries processing
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">A.1.1</A>).
</DL>
<!--TOC section I18n/L10n-->
@ -1240,7 +1311,7 @@ discipline (see&nbsp;<A HREF="#sec:modiqdiscoption">??</A>).
<A NAME="sec:i18nl10n"></A>
All built-in modules support <TT>xml:lang</TT> attribute inside IQ queries.
E.&nbsp;g. on figure&nbsp;<A HREF="#fig:discorus">??</A> showed the reply on the following query:
E.&nbsp;g. on figure&nbsp;<A HREF="#fig:discorus">2</A> showed the reply on the following query:
<PRE>
&lt;iq id='5'
to='e.localhost'
@ -1260,7 +1331,7 @@ E.&nbsp;g. on figure&nbsp;<A HREF="#fig:discorus">??</A> showed the reply on the
<A NAME="fig:discorus"></A>
<DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE>
Also web-interface supports <CODE>Accept-Language</CODE> HTTP header (see
figure&nbsp;<A HREF="#fig:webadmmainru">??</A>, compare it with figure&nbsp;<A HREF="#fig:webadmmain">??</A>)
figure&nbsp;<A HREF="#fig:webadmmainru">3</A>, compare it with figure&nbsp;<A HREF="#fig:webadmmain">1</A>)
<BLOCKQUOTE><DIV ALIGN=center><DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV>
<IMG SRC="webadmmainru.png">