mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-26 17:38:45 +01:00
brokerbrokerschatejabberderlanggroupchatiotjabberjabber-servermessagingmqttpubsubserversipsip-serverstunturnvoipxmpp
1f1d2bd5f5
It may happen that auth or rdbms client tcp connections bind a local socket to a port number required by a configered listener. The ejabberd applications fails to start up and needs to be restarted. In plain C you would bind(2) the listener port and listen(2) later on. gen_tcp:listen/2 does not allow to separate these two steps though, so another way is not to accept connections while start up. OTOH, the kernel will syn/ack incoming connections and receive data, leaving them in a buffer for the ejabberd to read from. If this is unwanted, a load balancer would need to receive data from the ejabberd server before adding the node to its pool. This patch binds tcp ports while initializing the ejabberd_listener process, storing ListenSockets in an ets table. start_listeners/0 will reuse these ports later on. |
||
---|---|---|
contrib | ||
doc | ||
examples | ||
src | ||
tools | ||
.gitignore | ||
COPYING | ||
README |
ejabberd - High-Performance Enterprise Instant Messaging Server Quickstart guide 0. Requirements To compile ejabberd you need: - GNU Make - GCC - Libexpat 1.95 or higher - Erlang/OTP R10B-9 or higher. Recommended versions: R12B-5 and R13B04 - OpenSSL 0.9.8 or higher, for STARTTLS, SASL and SSL encryption. - Zlib 1.2.3 or higher, for Stream Compression support (XEP-0138). Optional. - Erlang mysql library. Optional. MySQL authentication/storage. - Erlang pgsql library. Optional. PostgreSQL authentication/storage. - PAM library. Optional. For Pluggable Authentication Modules (PAM). - GNU Iconv 1.8 or higher, for the IRC Transport (mod_irc). Optional. Not needed on systems with GNU Libc. - ImageMagick's Convert program. Optional. For CAPTCHA challenges. - exmpp 0.9.2 or higher. Optional. For import/export XEP-0227 files. 1. Compile and install on *nix systems To compile ejabberd, go to the directory src/ and execute the commands: ./configure make To install ejabberd, run this command with system administrator rights (root user): sudo make install These commands will: - Install the configuration files in /etc/ejabberd/ - Install ejabberd binary, header and runtime files in /lib/ejabberd/ - Install the administration script: /sbin/ejabberdctl - Install ejabberd documentation in /share/doc/ejabberd/ - Create a spool directory: /var/lib/ejabberd/ - Create a directory for log files: /var/log/ejabberd/ 2. Start ejabberd You can use the ejabberdctl command line administration script to start and stop ejabberd. For example: ejabberdctl start For detailed information please refer to the ejabberd Installation and Operation Guide