table of contents
other versions
- wheezy 2.1.10-4+deb7u1
ejabberd(8) | ejabberd manual page | ejabberd(8) |
NAME¶
ejabberd — a distributed fault-tolerant Jabber/XMPP serverSYNOPSIS¶
ejabberd [options] [--] [erlang_options]DESCRIPTION¶
ejabberd is a distributed fault-tolerant Jabber/XMPP server written in Erlang.- — XMPP-compliant
- — Distributed: ejabberd can run on a cluster of machines
- — Fault-tolerant: All the information can be stored on more than one node, nodes can be added or replaced `on the fly'
- — Built-in Multi-User Chat service
- — Built-in IRC transport
- — Built-in Publish-Subscribe service
- — Built-in Jabber User Directory service based on users vCards
- — SSL support
- — Support for internationalized user messages
-
OPTIONS¶
- --node node
- Specifies Erlang node at which ejabberd server will
be run. Default node is ejabberd. If the node name does not contain
symbol @ then actual node name becomes node@hostname where
hostname is short host name (usually it coincides with `hostname
-s`). If the node name contain symbol @ and its hostname part
is a FQDN then ejabberd will use so-called long names (see
erl(1) manual page and look for options -name and
-sname for details).
- --config config-file
- Specifies an alternate config-file to be parsed at
startup, rather than the default ( /etc/ejabberd/ejabberd.cfg).
- --spool spool-dir
- Specifies an alternate spool-dir to store user
database instead of the default ( /var/lib/ejabberd).
- --log log-file
- Log Jabber events to specified log-file rather than
to the default ( /var/log/ejabberd/ejabberd.log).
- --erlang-log sasl-log-file
- Log SASL (System Application Support Libraries) events to
specified sasl-log-file rather than to the default
(/var/log/ejabberd/erlang.log).
- erlang_options
- Other options (and all options following --) are
passed directly to Erlang interpreter. See Erlang
documentation for more details on interpreter options. Some useful options
are:
Starts the Erlang system detached from the system console.
Starts heart beat monitoring of the Erlang system.
Ensures that the Erlang system never tries to read any input.
CONFIGURATION FILE¶
The file /etc/ejabberd/ejabberd.cfg contains the main configuration. It is initially loaded the first time ejabberd is executed, then it is parsed and stored in a database. Subsiquently the configuration is loaded from the database and any commands in the configuration file are appended to the entries in the database. The configuration file consists of a sequence of Erlang terms. Parts of lines after `%' sign are ignored. Each term is a tuple, where the first element is the name of an option, and the others are option values. E. g. if this file does not contain a "host" definition, then the value stored in the database will be used.override_global.
override_local.
override_acls.
OPTIONS FILE¶
The file /etc/default/ejabberd contains specific options.- POLL
- If set to true this variable enables kernel polling which
can reduce CPU load on a system with a high number of users. This option
requires support in the kernel and in Erlang emulator.
- SMP
- Enables or disables SMP support in Erlang emulator. Valid
values are disable (default), auto, and enable.
- ERL_MAX_PORTS
- To use more than 1024 connections (default value),
ERL_MAX_PORTS should be set to the number of connections needed.
- PROCESSES
- Specifies the maximum number of Erlang processes to use.
Default value is 250000. Maximum value is 268435456. Ejabberd uses up to
three processes per user or server connection.
- ERL_MAX_ETS_TABLES
- Sets the maximum number of ETS and Mnesia tables. Default
value is 1400 which should be sufficient for a sever without many custom
modules. If a message ** Too many db tables ** appears in ejabberd log
files then increase this number.
- ERL_OPTIONS
- With this option, parameters can be passed to Erlang
interpretor. See Erlang documentation for more details on
interpreter options.
- ERL_FULLSWEEP_AFTER
- To reduce memory usage when allowing a large number of
connections, ERL_FULLSWEEP_AFTER may be set to 0 in the options
file, but in this case ejabberd may start to work slower.
- ERLANG_NODE
- Use specified string as erlang node. It overrides default
ejabberd node name. The string may take one of the following forms:
nodename, nodename@hostname or
nodename@hostname.domainname
FILES¶
- /etc/ejabberd/ejabberd.cfg
- default configuration file
- /etc/default/ejabberd
- default variables
BUGS¶
Ejabberd uses distributed Erlang mode to work properly. This means that on start it connects to epmd (Erlang port mapping daemon) which is listening at port 4369 and tries to register ejabberd node name. If the connection fails (known failure reasons are unavailability of a loopback interface or firewall issues) Erlang emulator fails to start with not very clear error message. If there's already started Erlang node with the same name ( ejabberd by default) then ejabberd will also fail with a cryptic error message (in which one can find words {error,duplicate_name}). Another possible case when ejabberd cannot start is incorrect permissions of /var/lib/ejabberd directory (it must be writable by user ejabberd).SEE ALSO¶
erl(1), sasl(6), ejabberdctl(8), epmd.AUTHORS¶
This manual page was adapted by Christophe Romain <christophe.romain@process-one.net> and Sergei Golovan <sgolovan@nes.ru> for the Debian system (but may be used by others) from the ejabberd documentation written by Alexey Shchepin <alexey@sevcom.net>.08 June 2008 | Version 2.0.1 |