Provided by: ejabberd_2.1.11-1ubuntu2.1_amd64 bug

NAME

       ejabberd — a distributed fault-tolerant Jabber/XMPP server

SYNOPSIS

       ejabberd [options] [--] [erlang_options]

DESCRIPTION

       ejabberd is a distributed fault-tolerant Jabber/XMPP server written in Erlang.

       Its main features are:
       — 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).

              Examples of --node option:

              ejabberd Locally run ejabberd server at node ejabberd@`hostname -s`.

              ejabberd@otherhost   Pretend  that  ejabberd  server  runs  at  otherhost  at  node
              ejabberd@otherhost.  (Note  that  noone  can  remotely  connect  to  this  node  if
              otherhost is resoved to other computer IP.)

              ejabberd@localhost  Locally  run  ejabberd  server at node ejabberd@localhost. Only
              nodes running at the same host can connect to this node.

              ejabberd@hostname.domainname Using -name Erlang  option,  run  ejabberd  server  at
              long-name  node  ejabberd@hostname.domainname.  To  be  able to control this server
              instance hostname.domainname must resolve (either by DNS or via /etc/hosts) to  the
              server's IP.

       The  default  node  can  be  overridden  by  defining  ERLANG_NODE environment variable in
       /etc/default/ejabberd, see below.

       --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:

              -detached
                  Starts the Erlang system detached from the system console.
              -heart
                  Starts heart beat monitoring of the Erlang system.
              -noinput
                  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.

       To override old values stored in the database the following lines can be added in config:
         override_global.
         override_local.
         override_acls.

       A  complete  explanation of each configuration value can be found in the official ejabberd
       documentation. See "SEE ALSO" part of this manual page  for  more  information  about  the
       documentation.

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.

              Explanation in Erlang/OTP documentation:

              enable: Starts the Erlang runtime system with SMP support enabled. This may fail if
              no runtime system with SMP support is available.
              auto:  Starts the Erlang runtime system with SMP support enabled if it is available
              and more than one logical processor are detected.
              disable: Starts a runtime system without SMP support.

       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.

       The          program           documentation           is           available           at
       http://www.process-one.net/en/projects/ejabberd/.   A  copy  of  the  documentation can be
       found at /usr/share/doc/ejabberd/guide.html.

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>.

       Permission is granted to copy, distribute and/or modify this document under the  terms  of
       the GNU General Public License, Version 2 any later version published by the Free Software
       Foundation.
       On Debian systems, the complete text of the GNU General Public License  can  be  found  in
       /usr/share/common-licenses/GPL.