This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

ejabberd

From Gentoo Wiki (test)
Jump to:navigation Jump to:search

Installation

root #USE="mod_pubsub mod_muc" emerge net-im/ejabberd

Adding various modules through USE flags will trigger things like: net-im/jabber-base, dev-lang/erlang, net-im/ejabberd, etc. to be installed with ejabberd.

Configuration

Files

In /etc/jabber/ejabberd.cfg put:

FILE /etc/jabber/ejabberd.cfg
:{acl, admin, {user, "bob", "süpercomputer"}}.

And:

FILE /etc/jabber/ejabberd.cfg
:{hosts, ["foo.bar"]}.

Where foo.bar is what is required for the accounts, like bob@foo.bar (so the server should be available at foo.bar. If not, clientside configuration needs extra server parameter).

In /etc/jabber/ejabberctl.cfg put:

FILE /etc/jabber/ejabberctl.cfg
:ERLANG_NODE=ejabberd

So the node will be called ejabberd@süpercomputer while süpercomputer is the one configured in /etc/conf.d/hostname If this is changed, remember to issue:

user $/etc/init.d/hostname restart

Service

OpenRC

Then start:

root #/etc/init.d/ejabberd start

Then create users:

user $ejabberdctl register {name} {domain} {password}

For example:

user $ejabberdctl register bob foo.bar süpersecret

Set up a jabber server using ejabberd

This often fails at first try, because the whole ejabberd-erlang-mnesia thing can be really picky sometimes. So, one hint may be to not initialize/start/test anything until the final hostname selections are in every config file. Changing hostname afterwards can cause problems, at least before becoming familiar with the above mentioned tools.

Second hint: If errors are encountered when restarting here, Erlang nodes might have to be stopped, which unfortunately are not called 'erlang' or something, but 'beam', so this might be found useful:

user $killall beam -9