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.

Version 2.0.1                                     08 June 2008                                       ejabberd(8)