92
92
\newcommand{\modrosterodbc}{\module{mod\_roster\_odbc}}
93
93
\newcommand{\modservicelog}{\module{mod\_service\_log}}
94
94
\newcommand{\modsharedroster}{\module{mod\_shared\_roster}}
95
\newcommand{\modsic}{\module{mod\_sic}}
95
96
\newcommand{\modstats}{\module{mod\_stats}}
96
97
\newcommand{\modtime}{\module{mod\_time}}
97
98
\newcommand{\modvcard}{\module{mod\_vcard}}
325
326
Released versions of \ejabberd{} are available in the ProcessOne \ejabberd{} downloads page:
326
327
\ahrefurl{http://www.process-one.net/en/ejabberd/downloads}
328
\ind{Subversion repository}
329
Alternatively, the latest development version can be retrieved from the Subversion repository using this command:
330
Alternatively, the latest development source code can be retrieved from the Git repository using the commands:
331
svn co http://svn.process-one.net/ejabberd/trunk ejabberd
332
git clone git://git.process-one.net/ejabberd/mainline.git ejabberd
334
git checkout -b 2.1.x origin/2.1.x
380
383
Disable the use of Erlang/OTP supervision for transient processes.
381
384
\end{description}
383
\makesubsection{snowleopard}{Compiling ejabberd under Snow Leopard with Erlang R13B}
384
\ind{install!snowleopard}
386
Erl Interface, the library to link Erlang with C code, is compiled as
387
32-bits code in Erlang R13B-2. Mac OS X Snow Leopard is a 64-bits
388
system and will try compiling ejabberd C code in 64-bits as a default.
390
To compile ejabberd on Mac OS X Snow Leopard with Erlang R13B-2, you
391
need to force C code to be compiled with 32-bits. This is done with
392
the following configure command:
395
CC='gcc -m32' CFLAGS=-m32 LDFLAGS=-m32 ./configure
398
386
\makesubsection{install}{Install}
399
387
\ind{install!install}
809
797
\begin{description}
810
798
\titem{\texttt{ejabberd\_c2s}}
811
799
Handles c2s connections.\\
812
Options: \texttt{access}, \texttt{certfile},
800
Options: \texttt{access}, \texttt{certfile}, \texttt{max\_fsm\_queue},
813
801
\texttt{max\_stanza\_size}, \texttt{shaper},
814
802
\texttt{starttls}, \texttt{starttls\_required}, \texttt{tls},
894
882
The option can be defined in \term{ejabberd.cfg}, expressing the time
895
883
in seconds: \verb|{http_poll_timeout, 300}.|
896
884
\titem{\{max\_fsm\_queue, Size\}}
897
This option specifies the maximum number of elements in the queue of the FSM.
898
This option can be specified for an \term{ejabberd\_service} listener,
885
This option specifies the maximum number of elements in the queue of the FSM
886
(Finite State Machine).
887
Roughly speaking, each message in such queues represents one XML
888
stanza queued to be sent into its relevant outgoing stream. If queue size
889
reaches the limit (because, for example, the receiver of stanzas is too slow),
890
the FSM and the corresponding connection (if any) will be terminated
891
and error message will be logged.
892
The reasonable value for this option depends on your hardware configuration.
893
However, there is no much sense to set the size above 1000 elements.
894
This option can be specified for \term{ejabberd\_service} and
895
\term{ejabberd\_c2s} listeners,
899
896
or also globally for \term{ejabberd\_s2s\_out}.
900
If the option is not specified for an \term{ejabberd\_service} listener,
897
If the option is not specified for \term{ejabberd\_service} or
898
\term{ejabberd\_c2s} listeners,
901
899
the globally configured value is used.
902
900
The allowed values are integers and 'undefined'.
903
901
Default value: 'undefined'.
980
978
The maximum allowed delay for retry to connect after a failed connection attempt.
981
979
Specified in seconds. The default value is 300 seconds (5 minutes).
982
980
\titem{\{max\_fsm\_queue, Size\}}
983
This option specifies the maximum number of elements in the queue of the FSM.
984
This option can be specified for an \term{ejabberd\_service} listener,
981
This option specifies the maximum number of elements in the queue of the FSM
982
(Finite State Machine).
983
Roughly speaking, each message in such queues represents one XML
984
stanza queued to be sent into its relevant outgoing stream. If queue size
985
reaches the limit (because, for example, the receiver of stanzas is too slow),
986
the FSM and the corresponding connection (if any) will be terminated
987
and error message will be logged.
988
The reasonable value for this option depends on your hardware configuration.
989
However, there is no much sense to set the size above 1000 elements.
990
This option can be specified for \term{ejabberd\_service} and
991
\term{ejabberd\_c2s} listeners,
985
992
or also globally for \term{ejabberd\_s2s\_out}.
986
If the option is not specified for an \term{ejabberd\_service} listener,
993
If the option is not specified for \term{ejabberd\_service} or
994
\term{ejabberd\_c2s} listeners,
987
995
the globally configured value is used.
988
996
The allowed values are integers and 'undefined'.
989
997
Default value: 'undefined'.
1485
1493
\ind{options!max\_s2s\_connections}
1487
1495
The special access \term{max\_s2s\_connections} specifies how many
1488
simultaneus S2S connections can be established to a specific remote XMPP server.
1496
simultaneous S2S connections can be established to a specific remote XMPP server.
1489
1497
The default value is \term{1}.
1490
1498
There's also available the access \term{max\_s2s\_connections\_per\_node}.
2231
2239
not forget to close brackets and do not use superfluous whitespaces. Also you
2232
2240
\emph{must not} use \option{ldap\_uidattr} attribute in filter because this
2233
2241
attribute will be substituted in LDAP filter automatically.
2242
\titem{\{ldap\_dn\_filter, \{ Filter, FilterAttrs \}\}}\ind{options!ldap\_dn\_filter}
2243
This filter is applied on the results returned by the main filter. This filter
2244
performs additional LDAP lookup to make the complete result. This is useful
2245
when you are unable to define all filter rules in \term{ldap\_filter}. You
2246
can define \term{"\%u"}, \term{"\%d"}, \term{"\%s"} and \term{"\%D"} pattern
2247
variables in Filter: \term{"\%u"} is replaced by a user's part of a JID,
2248
\term{"\%d"} is replaced by the corresponding domain (virtual host),
2249
all \term{"\%s"} variables are consecutively replaced by values of FilterAttrs
2250
attributes and \term{"\%D"} is replaced by Distinguished Name. By default
2251
\term{ldap\_dn\_filter} is undefined.
2254
{ldap_dn_filter, {"(&(name=%s)(owner=%D)(user=%u@%d))", ["sn"]}}.
2256
Since this filter makes additional LDAP lookups, use it only in the
2257
last resort: try to define all filter rules in \term{ldap\_filter} if possible.
2235
2258
\titem{\{ldap\_local\_filter, Filter\}}\ind{options!ldap\_local\_filter}
2236
2259
If you can't use \term{ldap\_filter} due to performance reasons
2237
2260
(the LDAP server has many users registered),
2458
2481
\hline \ahrefloc{modservicelog}{\modservicelog{}} & Copy user messages to logger service & \\
2459
2482
\hline \ahrefloc{modsharedroster}{\modsharedroster{}} & Shared roster management & \modroster{} or \\
2460
2483
& & \modrosterodbc\\
2484
\hline \ahrefloc{modsic}{\modsic{}} & Server IP Check (\xepref{0279}) & \\
2461
2485
\hline \ahrefloc{modstats}{\modstats{}} & Statistics Gathering (\xepref{0039}) & \\
2462
2486
\hline \ahrefloc{modtime}{\modtime{}} & Entity Time (\xepref{0202}) & \\
2463
2487
\hline \ahrefloc{modvcard}{\modvcard{}} & vcard-temp (\xepref{0054}) & \\
3524
3548
if fails, \verb|{127,0,0,1}|.
3525
3549
\titem{\{port, Number\}}\ind{options!port}This option defines port to listen for
3526
3550
incoming connections. Default is~7777.
3551
\titem{\{hostname, HostName\}}\ind{options!hostname}Defines a hostname advertised
3552
by the service when establishing a session with clients. This is useful when
3553
you run the service behind a NAT. The default is the value of \term{ip} option.
3554
Examples: \term{"proxy.mydomain.org"}, \term{"200.150.100.50"}. Note that
3555
not all clients understand domain names in stream negotiation,
3556
so you should think twice before setting domain name in this option.
3527
3557
\titem{\{auth\_type, anonymous|plain\}}\ind{options!auth\_type}SOCKS5 authentication type.
3528
3558
Possible values are \term{anonymous} and \term{plain}. Default is
3529
3559
\term{anonymous}.
3681
3711
rules to restrict registration. If a rule returns `deny' on the requested
3682
3712
user name, registration for that user name is denied. (there are no
3683
3713
restrictions by default).
3714
\titem{\{access\_from, AccessName\}} \ind{options!access\_from}By default, \ejabberd{}
3715
doesn't allow to register new accounts from s2s or existing c2s sessions. You can
3716
change it by defining access rule in this option. Use with care: allowing registration
3717
from s2s leads to uncontrolled massive accounts creation by rogue users.
3684
3718
\titem{\{welcome\_message, Message\}} \ind{options!welcomem}Set a welcome message that
3685
3719
is sent to each newly registered account. The first string is the subject, and
3686
3720
the second string is the message body.
3979
\makesubsection{modsic}{\modsic{}}
3980
\ind{modules!\modstats{}}\ind{protocols!XEP-0279: Server IP Check}
3982
This module adds support for Server IP Check (\xepref{0279}). This protocol
3983
enables a client to discover its external IP address.
3987
\iqdiscitem{\ns{urn:xmpp:sic:0}}
3945
3990
\makesubsection{modstats}{\modstats{}}
3946
3991
\ind{modules!\modstats{}}\ind{protocols!XEP-0039: Statistics Gathering}\ind{statistics}
4404
4449
\titem{-name ejabberd}
4405
4450
The Erlang node will be fully identified.
4406
4451
This is only useful if you plan to setup an \ejabberd{} cluster with nodes in different networks.
4407
\titem{-kernel inetrc "/etc/ejabberd/inetrc"}
4452
\titem{-kernel inetrc '"/etc/ejabberd/inetrc"'}
4408
4453
Indicates which IP name resolution to use.
4409
4454
If using \term{-sname}, specify either this option or \term{ERL\_INETRC}.
4410
4455
\titem{-kernel inet\_dist\_listen\_min 4200 inet\_dist\_listen\_min 4210}
4419
4464
Specify the directory where Erlang binary files (*.beam) are located.
4420
4465
\titem{-s ejabberd}
4421
4466
Tell Erlang runtime system to start the \ejabberd{} application.
4422
\titem{-mnesia dir "/var/lib/ejabberd/"}
4467
\titem{-mnesia dir '"/var/lib/ejabberd/"'}
4423
4468
Specify the Mnesia database directory.
4424
4469
\titem{-sasl sasl\_error\_logger \{file, "/var/log/ejabberd/erlang.log"\}}
4425
4470
Path to the Erlang/OTP system log file.