mod_shared_roster (and others?) not showing up in ejabberd web interface

Hello,

I'm having a problem getting the "Shared Roster" item to show up in the ejabberd web admin panel. I was under the impression that I was also supposed to have a "Users" panel too, but I read that was in an older version, and its now in the "Virtual Hosts" section. When clicking on the "Virtual Hosts" link nothing will come up. I'm assuming thats because I'm not really using the virtual hosts settings in my config file (or is every host a virtual host?). I also don't see just a "normal" roster management screen?

Anyways, so far ejabberd seems to work great (I love the config file) coming from jabberd2. I am using LDAP at my site, and I have ejabberd configured and working. I can connect and chat with other users just fine. Just moving into some of the final details now -- I have the mod_shared_roster item in my config file (pretty sure its in their correctly) and I've restarted ejabberd, but still nothing shows up (also refreshed/cleared cache in browser).

My Jabber server is running FreeBSD 5.4. I am running 'erlang-r10b8,1' and 'ejabberd-0.9.8' on this host. I've poked around a bit, but couldn't really find anything else similar to my problem other than the one conversation I mentioned above pertaining to the "Users" panel being moved.

Below is my ejabberd.cfg, I looked through the logs (sasl.log and ejabberd.log), but didn't see anything strange -- I can reply with these if anyone would like to take a look.

I'd appreciate it if anyone has a solution.

Thanks for your time.

--Marc

---ejabber.cfg---
% $Id: ejabberd.cfg.example 332 2005-04-27 01:08:18Z alexey $

%override_acls.

% Users that have admin access. Add line like one of the following after you
% will be successfully registered on server to get admin access:
{acl, admin, {user, "msmith"}}.
%{acl, admin, {user, "ermine"}}.

% Blocked users:
%{acl, blocked, {user, "test"}}.

% Local users:
{acl, local, {user_regexp, ""}}.

% Another examples of ACLs:
%{acl, jabberorg, {server, "jabber.org"}}.
%{acl, aleksey, {user, "aleksey", "jabber.ru"}}.
%{acl, test, {user_regexp, "^test"}}.
%{acl, test, {user_glob, "test*"}}.

% Only admins can use configuration interface:
{access, configure, [{allow, admin}]}.

% Every username can be registered via in-band registration:
{access, register, [{allow, all}]}.

% After successful registration user will get message with following subject
% and body:
{welcome_message,
{"Welcome!",
"Welcome to Jabber Service. "
"For information about Jabber visit http://jabber.org"}}.
% Replace them with 'none' if you don't want to send such message:
%{welcome_message, none}.

% List of people who will get notifications about registered users
%{registration_watchers, ["admin1@localhost",
% "admin2@localhost"]}.

% Only admins can send announcement messages:
{access, announce, [{allow, admin}]}.

% Only non-blocked users can use c2s connections:
{access, c2s, [{deny, blocked},
{allow, all}]}.

% Set shaper with name "normal" to limit traffic speed to 1000B/s
{shaper, normal, {maxrate, 1000}}.

% Set shaper with name "fast" to limit traffic speed to 50000B/s
{shaper, fast, {maxrate, 50000}}.

% For all users except admins used "normal" shaper
{access, c2s_shaper, [{none, admin},
{normal, all}]}.

% For all S2S connections used "fast" shaper
{access, s2s_shaper, [{fast, all}]}.

% Admins of this server are also admins of MUC service:
{access, muc_admin, [{allow, admin}]}.

% All users are allowed to use MUC service:
{access, muc, [{allow, all}]}.

% This rule allows access only for local users:
{access, local, [{allow, local}]}.

% Authentification method. If you want to use internal user base, then use
% this line:
%{auth_method, internal}.

% For LDAP authentification use these lines instead of above one:
{auth_method, ldap}.
{ldap_servers, ["eswells.mcc.edu"]}. % List of LDAP servers
{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID
{ldap_base, "dc=mcc,dc=edu"}. % Search base of LDAP directory
{ldap_rootdn, ""}. % LDAP manager
{ldap_password, ""}. % Password to LDAP manager

% For authentification via external script use the following:
%{auth_method, external}.
%{extauth_program, "/path/to/authentification/script"}.

% For authentification via ODBC use the following:
%{auth_method, odbc}.
%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}.

% Host name:
{hosts, ["chatty.mcc.edu"]}.

% Default language for server messages
{language, "en"}.

% Listened ports:
{listen,
[{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
starttls, {certfile, "/etc/ssl/certs/ejabberd.pem"}]
},
{5223, ejabberd_c2s, [{access, c2s},
tls, {certfile, "/etc/ssl/certs/ejabberd.pem"}]},
% Use these two lines instead if TLS support is not compiled
%{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}]},
%{5223, ejabberd_c2s, [{access, c2s}, ssl, {certfile, "./ssl.pem"}]},
{5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]},
{5280, ejabberd_http, [http_poll, web_admin]},
{8888, ejabberd_service, [{access, all},
{hosts, ["icq.localhost", "sms.localhost"],
[{password, "secret"}]}]}
]}.

% If SRV lookup fails, then port 5269 is used to communicate with remote server
{outgoing_s2s_port, 5269}.

% Used modules:
{modules,
[
{mod_shared_roster, []},
{mod_register, [{access, register}]},
{mod_roster, []},
{mod_privacy, []},
{mod_configure, []},
{mod_configure2, []},
{mod_disco, []},
{mod_stats, []},
{mod_vcard, []},
{mod_offline, []},
{mod_announce, [{access, announce}]},
{mod_echo, [{host, "echo.localhost"}]},
{mod_private, []},
{mod_irc, []},
% Default options for mod_muc:
% host: "conference." ++ ?MYNAME
% access: all
% access_create: all
% access_admin: none (only room creator has owner privileges)
{mod_muc, [{access, muc},
{access_create, muc},
{access_admin, muc_admin}]},
{mod_pubsub, []},
{mod_time, []},
{mod_last, []},
{mod_version, []}
]}.

% Local Variables:
% mode: erlang
% End:
---ejabberd.cfg---

'Shared Roster Group' is specific to each virtual host

When clicking on the "Virtual Hosts" link nothing will come up.

The admin web is divided in two parts: the part to administer the Jabber server and the part to administer each virtual host. Even if you have only one virtual host, the web is divided the same way.

To know where you are, keep an eye on the address bar of your web browser:

/admin/ -- you are on the main server
/admin/server/localhost/ -- you are on the 'localhost' virtual host

You can see all of this on the Demo of the Web Interface:

  • You start on the Jabber server: /admin/
  • Click on 'Virtual Hosts' and you will see a list of virtual hosts, in your case just one: /admin/vhosts
  • Click on a virtual host and you will enter the webmin dedicated to this virtual host: /admin/server/levi/
    Now you will have the administration pages that are dependent to each virtual host, including 'Users' and 'Shared Roster Group'.

Okay, I was hoping it would

Okay, I was hoping it would be something like that, but when I click "Virtual Hosts" it just hangs for a second and the screen never changes. I never get a list of my host.

When clicking on the "Virtual Hosts" link, the following 2 items show up in my log files:

**sasl.log**

=CRASH REPORT==== 3-Nov-2005::08:28:17 ===
  crasher:
    pid: <0.321.0>
    registered_name: []
    error_info: {timeout,{gen_fsm,sync_send_event,
                                   ['eldap_ejabberd_chatty.mcc.edu',
                                    {search,
                                        {eldap_search,
                                            wholeSubtree,
                                            "dc=mcc,dc=edu",
                                            {present,"uid"},
                                            ["uid"],
                                            false,
                                            0}}]}}
    initial_call: {ejabberd_http,receive_headers,
                                [{state,
                                     gen_tcp,
                                     #Port<0.358>,
                                     undefined,
                                     undefined,
                                     undefined,
                                     undefined,
                                     undefined,
                                     undefined,
                                     "en",
                                     true,
                                     true,
                                     false,
                                     []}]}
    ancestors: [ejabberd_http_sup,ejabberd_sup,<0.36.0>]
    messages: []
    links: [<0.216.0>,#Port<0.358>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 987
    stack_size: 21
    reductions: 1903
  neighbours:

=SUPERVISOR REPORT==== 3-Nov-2005::08:28:17 ===
     Supervisor: {local,ejabberd_http_sup}
     Context:    child_terminated
     Reason:     {timeout,{gen_fsm,sync_send_event,
                                   ['eldap_ejabberd_chatty.mcc.edu',
                                    {search,
                                        {eldap_search,
                                            wholeSubtree,
                                            "dc=mcc,dc=edu",
                                            {present,"uid"},
                                            ["uid"],
                                            false,
                                            0}}]}}
     Offender:   [{pid,<0.321.0>},
                  {name,undefined},
                  {mfa,{ejabberd_http,start_link,
                                      [{gen_tcp,#Port<0.358>},
                                       [http_poll,web_admin]]}},
                  {restart_type,temporary},
                  {shutdown,brutal_kill},
                  {child_type,worker}]

**ejabberd.log**

=INFO REPORT==== 2005-11-03 08:29:48 ===
I(<0.223.0>:ejabberd_listener:90): (#Port<0.390>) Accepted connection
 {{10,100,230,117},48784} -> {{207,74,136,244},5280}

=INFO REPORT==== 2005-11-03 08:29:48 ===
I(<0.216.0>:ejabberd_http:73): started: {gen_tcp,#Port<0.390>}

=INFO REPORT==== 2005-11-03 08:29:48 ===
I(<0.322.0>:ejabberd_http:165): (#Port<0.390>) http query: 'GET' /admin/vhosts/

Thank you so much for your time.

--Marc

Syndicate content