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
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:
/etc/jabber/ejabberd.cfg
:{acl, admin, {user, "bob", "süpercomputer"}}.
And:
/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:
/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