Problems with registering my first user from the command line on ubuntu

I'm setting up an ejabberd server on an Ubuntu LTS 12.04. The community help wiki says I just need to:

1 Install the package
2 Edit the hosts configuration in ejabberd.cfg
3 Update the admin user's definition
4 Restart the server
5 Register the admin user from the command line

It's that last step that doesn't work. Here's what I get:

$ sudo ejabberdctl register ejabberd semperubisubsubi.org <password>
Can't register user ejabberd@semperubisubsubi.org at node 'ejabberd@semperubisububi.org': not_allowed

There are a bunch of Google hits for "ejabber register not_allowed". I've spent about four or five hours reading them all. I still can't figure this out. I could really use some help.

I know most of the posts talk about making sure you have agreement between your hostname, your hosts definition, and your node name. The Ubuntu init scripts are setup to use /etc/defaults/ejabberd to override some of the settings via environment variables. The only thing I have in there is this line:

ERLANG_NODE=ejabberd@semperubisububi.org

Which corresponds to my hostname:

$ hostname
semperubisububi.org
$ hostname -f
localhost
$ hostname -s
semperubisububi

Oh, I also found a post that says there's a tight bind between the hostname of your machine and the ejabberd configuration. I think while I was wrestling with this setup, I got that mucked up. The post said to rm /var/lib/ejabberd/* and restart. I wasn't actually able to get the server running properly until I did that. I know the server is running properly:

$  sudo ejabberdctl status
The node 'ejabberd@semperubisububi.org' is started with status: started
ejabberd 2.1.10 is running in that node

Here are what I think are the relevant parts of my ejabberd.cfg:

{hosts, ["localhost", "semperubisububi.org"]}.
{access, max_user_sessions, [{10, all}]}.
{access, max_user_offline_messages, [{5000, admin}, {100, all}]}.
{access, local, [{allow, all}]}.
{access, c2s, [{deny, blocked},
               {allow, all}]}.

{access, c2s_shaper, [{none, admin},
                      {normal, all}]}.
{access, s2s_shaper, [{fast, all}]}.
{access, announce, [{allow, admin}]}.
{access, configure, [{allow, admin}]}.
{access, muc_admin, [{allow, admin}]}.
{access, muc, [{allow, all}]}.
{access, register, [{allow, all}]}.
{access, pubsub_createnode, [{allow, all}]}.

{acl, local, {user_regexp, ""}}.
{auth_method,  internal}.

I've also created a gist on github with some more details and my complete ejabberd.cfg.

I don't know what else to try. I could really use some help.

Here is the problem: {hosts,

Here is the problem:

{hosts, ["localhost", "semperubisububi.org"]}.
$ sudo ejabberdctl register ejabberd semperubisubsubi.org

You define two virtual hosts, but then attempt to register an account in a host that ejabberd doesn't serve: please notice that you typed the name incorrectly, is it sububi.org or subsubi.org?

Syndicate content