I'm in the process of switching over from jabberd2+mu-conference, both of which seem to be dying from neglect, to ejabberd. However, I'm running into a few problems.
First, what's done and working: I've gotten ejabberd installed and configured on Gentoo Linux, I've registered all of the users from jabberd2, I can bring up jabberd2 in place of ejabberd and users can log in and talk to each other. The SSL cert is properly configured and accepted.
What's NOT working:
— ejabberd won't use the MySQL backend DB I set up, even though I configured it to do so
— I can create and configure multi-user rooms, but nobody can join them
— If I run ejabberd in the foreground, I can see federation attempts to other known XMPP servers being attempted, but they're not succeeding.
For now, the first two are the important ones.
My SQL configuration:
auth_method: sql
sql_type: mysql
sql_server: "localhost"
sql_database: "ejabberd"
sql_username: "ejabberd"
sql_password: "xxxxxxxxxxxxxx"
User ejabberd is granted SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES on ejabberd.*
Here's a sample room's properties:
minbar:root:~:16 # ejabberdctl get_room_options caer chat.caerllewys.net
title
description
allow_change_subj true
allow_query_users true
allow_private_messages true
allow_private_messages_from_visitors anyone
allow_visitor_status true
allow_visitor_nickchange true
public true
public_list true
persistent false
moderated true
captcha_protected false
members_by_default true
members_only false
allow_user_invites true
allow_subscription true
password_protected true
password xxxxxxxxxxxx
anonymous false
presence_broadcast [moderator,participant,visitor]
allow_voice_requests true
voice_request_min_interval 1800
max_users 200
logging false
vcard
captcha_whitelist {0,nil}
mam false
Here's what it looks like starting up:
minbar:root:/etc/jabber:25 # ejabberdctl foreground
kernel-poll not supported; "K" parameter ignored
15:37:59.656 [info] Application lager started on node ejabberd@localhost
15:37:59.658 [info] Application crypto started on node ejabberd@localhost
15:37:59.669 [info] Application sasl started on node ejabberd@localhost
15:37:59.680 [info] Application asn1 started on node ejabberd@localhost
15:37:59.680 [info] Application public_key started on node ejabberd@localhost
15:37:59.694 [info] Application ssl started on node ejabberd@localhost
15:37:59.705 [info] Application fast_yaml started on node ejabberd@localhost
15:37:59.722 [info] Application fast_tls started on node ejabberd@localhost
15:37:59.739 [info] Application fast_xml started on node ejabberd@localhost
15:37:59.746 [info] Application p1_utils started on node ejabberd@localhost
15:37:59.751 [info] Application stringprep started on node ejabberd@localhost
15:37:59.752 [info] Application xmpp started on node ejabberd@localhost
15:37:59.766 [info] Application cache_tab started on node ejabberd@localhost
15:37:59.910 [info] Application mnesia started on node ejabberd@localhost
15:38:00.314 [info] FQDN used to check DIGEST-MD5 SASL authentication: minbar.babcom.com
15:38:00.932 [info] Application p1_mysql started on node ejabberd@localhost
15:38:00.992 [info] Application inets started on node ejabberd@localhost
15:38:00.994 [warning] module 'mod_mam' is recommended for module 'mod_muc' but is not found in the config
15:38:01.055 [info] Application iconv started on node ejabberd@localhost
15:38:01.055 [warning] module 'mod_mam' is recommended for module 'mod_muc' but is not found in the config
15:38:01.115 [info] ejabberd 17.04 is started in the node ejabberd@localhost in 1.75s
15:38:01.115 [info] Start accepting TCP connections at [::]:5222 for ejabberd_c2s
15:38:01.115 [info] Start accepting TCP connections at [::]:5269 for ejabberd_s2s_in
15:38:01.116 [info] Application ejabberd started on node ejabberd@localhost
15:38:01.116 [info] Start accepting TCP connections at [::]:5280 for ejabberd_http
15:38:09.609 [info] (<0.653.0>) Accepted connection ::ffff:99.90.202.211:50025 -> ::ffff:10.24.32.15:5222
15:38:10.642 [info] (tls|<0.653.0>) Accepted c2s DIGEST-MD5 authentication for
15:38:10.820 [info] (tls|<0.653.0>) Opened c2s session for riteturn@jabber.caerllewys.net/mine
What does it seem likely I'm doing wrong? There's clearly something (several things, in fact) that I don't yet understand about ejabberd.
(Actually, that
(Actually, that get_room_options is from right BEFORE I set change_room_option caer chat.caerllewys.net persistent true.)
Oh, and also note in that
Oh, and also note in that startup log that despite being configured to use mysql, ejabberd is quite determinedly using mnesia instead.
OK, I just figured out what I
OK, I just figured out what I was doing wrong with rooms; I hadn't set muc: host, and anything I created with the wrong host just wasn't accessible.
I still don't understand why ejabberd is defiantly saving all of its information in mnesia, instead of in mysql as I've configured it to do.
...And I just found the MySQL
...And I just found the MySQL problem too. I enabled auth_method: sql, but neglected to DISABLE auth_method: internal.
Problems solved! I think I'm ready to cut over.