Hi, I installed ejabberd from src. After configuration and started ejabberd by calling erl. I found epmd and beam process running and somebody(it must be ejabberd) is listening at 5280,5222,5223,and it also want to occupy 8888. After I started ejabberd, the prompt switched to ejabberd@honstname>
Then at another computer, I type
for it was asking me the user name and password. I tried admin, admin@hostname with blank password. It let me try 3 times then a 401 error messaage shows up.
On the server side, I cannot find anything wrong.
The following is the ejabberd.cfg file followed by the log file.
% $Id: ejabberd.cfg.example 538 2006-04-22 04:02:42Z 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, "admin","ddint.org}}.
%{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:
% You could replace {allow, all} with {deny, all} to prevent user from using
% 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@ddint.org",
% "admin2@ddint.org"]}.
% 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}]}.
% Authentication method. If you want to use internal user base, then use
% this line:
{auth_method, internal}.
% For LDAP authentication use these lines instead of above one:
%{auth_method, ldap}.
%{ldap_servers, ["ddint.org"]}. % List of LDAP servers
%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID
%{ldap_base, "dc=example,dc=com"}. % Search base of LDAP directory
%{ldap_rootdn, "dc=example,dc=com"}. % LDAP manager
%{ldap_password, "******"}. % Password to LDAP manager
% For authentication via external script use the following:
%{auth_method, external}.
%{extauth_program, "/path/to/authentication/script"}.
% For authentication via ODBC use the following:
%{auth_method, odbc}.
%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}.
% Host name:
{hosts, ["ddint.org"]}.
%% Anonymous login support:
%% auth_method: anonymous
%% anonymous_protocol: sasl_anon|login_anon|both
%% allow_multiple_connections: true|false
%%{host_config, "public.example.org", [{auth_method, anonymous},
%% {allow_multiple_connections, false},
%% {anonymous_protocol, sasl_anon}]}.
%% To use both anonymous and internal authentication:
%%{host_config, "public.example.org", [{auth_method, [anonymous, internal]}]}.
% Default language for server messages
{language, "en"}.
% Listened ports:
{listen,
[{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
{max_stanza_size, 65536},
starttls, {certfile, "./server.pem"}]},
{5223, ejabberd_c2s, [{access, c2s},
{max_stanza_size, 65536},
tls, {certfile, "./server.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, "./server.pem"}]},
{5269, ejabberd_s2s_in, [{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [http_poll, web_admin]},
{8888, ejabberd_service, [{access, all},
{hosts, ["icq.ddint.org", "sms.ddint.org"],
[{password, "secret"}]}]}
]}.
% Use STARTTLS+Dialback for S2S connections
{s2s_use_starttls, true}.
{s2s_certfile, "./server.pem"}.
%{domain_certfile, "example.org", "./example_org.pem"}.
%{domain_certfile, "example.com", "./example_com.pem"}.
% If SRV lookup fails, then port 5269 is used to communicate with remote server
{outgoing_s2s_port, 5269}.
% Used modules:
{modules,
[
{mod_register, [{access, register}]},
{mod_roster, []},
{mod_privacy, []},
{mod_adhoc, []},
{mod_configure, []}, % Depends on mod_adhoc
{mod_configure2, []},
{mod_disco, []},
{mod_stats, []},
{mod_vcard, []},
{mod_offline, []},
{mod_announce, [{access, announce}]}, % Depends on mod_adhoc
{mod_echo, [{host, "echo.ddint.org"}]},
{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_muc_log, []},
% {mod_shared_roster, []},
{mod_pubsub, []},
{mod_time, []},
{mod_last, []},
{mod_version, []}
]}.
% Local Variables:
% mode: erlang
% End:
=INFO REPORT==== 2006-08-11 22:42:59 ===
I(<0.263.0>:ejabberd_listener:90): (#Port<0.383>) Accepted connection {{192,168,0,90},3321} -> {{192,168,0,1},5280}
=INFO REPORT==== 2006-08-11 22:42:59 ===
I(<0.256.0>:ejabberd_http:76): started: {gen_tcp,#Port<0.383>}
=INFO REPORT==== 2006-08-11 22:42:59 ===
I(<0.326.0>:ejabberd_http:171): (#Port<0.383>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 22:43:21 ===
I(<0.326.0>:ejabberd_http:171): (#Port<0.383>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 22:43:21 ===
I(<0.263.0>:ejabberd_listener:90): (#Port<0.418>) Accepted connection {{192,168,0,90},3323} -> {{192,168,0,1},5280}
=INFO REPORT==== 2006-08-11 22:43:21 ===
I(<0.256.0>:ejabberd_http:76): started: {gen_tcp,#Port<0.418>}
=INFO REPORT==== 2006-08-11 22:43:21 ===
I(<0.327.0>:ejabberd_http:171): (#Port<0.418>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 22:44:27 ===
I(<0.258.0>:ejabberd_listener:90): (#Port<0.358>) Accepted connection {{192,168,0,90},3324} -> {{192,168,0,1},5280}
=INFO REPORT==== 2006-08-11 22:44:27 ===
I(<0.251.0>:ejabberd_http:76): started: {gen_tcp,#Port<0.358>}
=INFO REPORT==== 2006-08-11 22:44:27 ===
I(<0.321.0>:ejabberd_http:171): (#Port<0.358>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 22:44:27 ===
I(<0.321.0>:ejabberd_http:171): (#Port<0.358>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 22:44:27 ===
I(<0.258.0>:ejabberd_listener:90): (#Port<0.393>) Accepted connection {{192,168,0,90},3325} -> {{192,168,0,1},5280}
=INFO REPORT==== 2006-08-11 22:44:27 ===
I(<0.251.0>:ejabberd_http:76): started: {gen_tcp,#Port<0.393>}
=INFO REPORT==== 2006-08-11 22:44:27 ===
I(<0.322.0>:ejabberd_http:171): (#Port<0.393>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 22:44:37 ===
I(<0.258.0>:ejabberd_listener:90): (#Port<0.396>) Accepted connection {{192,168,0,90},3326} -> {{192,168,0,1},5280}
=INFO REPORT==== 2006-08-11 22:44:37 ===
I(<0.251.0>:ejabberd_http:76): started: {gen_tcp,#Port<0.396>}
=INFO REPORT==== 2006-08-11 22:44:37 ===
I(<0.323.0>:ejabberd_http:171): (#Port<0.396>) http query: 'GET' /admin/
=INFO REPORT==== 2006-08-11 22:44:37 ===
I(<0.323.0>:ejabberd_http:171): (#Port<0.396>) http query: 'GET' /admin/
=INFO REPORT==== 2006-08-11 22:44:38 ===
I(<0.258.0>:ejabberd_listener:90): (#Port<0.397>) Accepted connection {{192,168,0,90},3327} -> {{192,168,0,1},5280}
=INFO REPORT==== 2006-08-11 22:44:38 ===
I(<0.251.0>:ejabberd_http:76): started: {gen_tcp,#Port<0.397>}
=INFO REPORT==== 2006-08-11 22:44:38 ===
I(<0.324.0>:ejabberd_http:171): (#Port<0.397>) http query: 'GET' /admin/
=INFO REPORT==== 2006-08-11 22:45:32 ===
I(<0.258.0>:ejabberd_listener:90): (#Port<0.398>) Accepted connection {{192,168,0,90},3333} -> {{192,168,0,1},5280}
=INFO REPORT==== 2006-08-11 22:45:32 ===
I(<0.251.0>:ejabberd_http:76): started: {gen_tcp,#Port<0.398>}
=INFO REPORT==== 2006-08-11 22:45:32 ===
I(<0.325.0>:ejabberd_http:171): (#Port<0.398>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 22:45:44 ===
I(<0.325.0>:ejabberd_http:171): (#Port<0.398>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 22:46:15 ===
I(<0.325.0>:ejabberd_http:171): (#Port<0.398>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 22:46:15 ===
I(<0.258.0>:ejabberd_listener:90): (#Port<0.399>) Accepted connection {{192,168,0,90},3334} -> {{192,168,0,1},5280}
=INFO REPORT==== 2006-08-11 22:46:15 ===
I(<0.251.0>:ejabberd_http:76): started: {gen_tcp,#Port<0.399>}
=INFO REPORT==== 2006-08-11 22:46:15 ===
I(<0.326.0>:ejabberd_http:171): (#Port<0.399>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 23:07:06 ===
I(<0.256.0>:ejabberd_listener:90): (#Port<0.352>) Accepted connection {{192,168,0,90},3388} -> {{192,168,0,1},5280}
=INFO REPORT==== 2006-08-11 23:07:06 ===
I(<0.249.0>:ejabberd_http:76): started: {gen_tcp,#Port<0.352>}
=INFO REPORT==== 2006-08-11 23:07:06 ===
I(<0.319.0>:ejabberd_http:171): (#Port<0.352>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 23:07:21 ===
I(<0.319.0>:ejabberd_http:171): (#Port<0.352>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 23:07:37 ===
I(<0.319.0>:ejabberd_http:171): (#Port<0.352>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 23:07:50 ===
I(<0.319.0>:ejabberd_http:171): (#Port<0.352>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 23:08:44 ===
I(<0.319.0>:ejabberd_http:171): (#Port<0.352>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 23:08:44 ===
I(<0.319.0>:ejabberd_http:171): (#Port<0.352>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 23:08:57 ===
I(<0.319.0>:ejabberd_http:171): (#Port<0.352>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 23:09:12 ===
I(<0.319.0>:ejabberd_http:171): (#Port<0.352>) http query: 'GET' /admin
=INFO REPORT==== 2006-08-11 23:09:31 ===
I(<0.319.0>:ejabberd_http:171): (#Port<0.352>) http query: 'GET' /admin
Re: Cannot login http://hostname:5280/admin
I tried admin, admin@hostname with blank password. It let me try 3 times then a 401 error messaage shows up.
On the server side, I cannot find anything wrong.
You first need to create a user with administrative permissions, check the documentation; there is a section with step-by-step instructions.
I tried ejabberdctl --node ejabberd@whatever status
It all dupms RPC failed.
Is that possible that I should enable something for something RPC service in the Linux?
I know I should use ejabberdctl to create a password for admin. Is this right?
I read somewhere says it needs some patch for this release then it failed to work after patch. Somehow no solution yet.
Any way I need understand what RPC failed means. Simply because it cannot find the hostname or something else?
Sorry, the --node should not be there.
Now it accepts the command and reported it is started.
Then I fired a command ejabberdctl ejabber@hostname rigister admin hostname "thepassword"
No error.
Then I typedhttp://hostname:5280/admin
Not allowed!
I think it needs configuration previledge. I will find out the command to assign the admin with configuration previledge.
I already saw this in the configuration file. I do not know why it did not work.
Client cannot connect to the server.
This is my configuration file. I canno figour out what is wrong.
Someone please help!
Is there any debug mode so that we can find any hint from the log file? Now the log file is useless. No error can be grapped.
% $Id: ejabberd.cfg.example 538 2006-04-22 04:02:42Z 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, "admin","anna90"}}.
%{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:
% You could replace {allow, all} with {deny, all} to prevent user from using
% 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@anna90",
% "admin2@anna90"]}.
% 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}]}.
% Authentication method. If you want to use internal user base, then use
% this line:
{auth_method, internal}.
% For LDAP authentication use these lines instead of above one:
%{auth_method, ldap}.
%{ldap_servers, ["anna90"]}. % List of LDAP servers
%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID
%{ldap_base, "dc=example,dc=com"}. % Search base of LDAP directory
%{ldap_rootdn, "dc=example,dc=com"}. % LDAP manager
%{ldap_password, "******"}. % Password to LDAP manager
% For authentication via external script use the following:
%{auth_method, external}.
%{extauth_program, "/path/to/authentication/script"}.
% For authentication via ODBC use the following:
%{auth_method, odbc}.
%{odbc_server, "DSN=ejabberd;UID=ejabberd;PWD=ejabberd"}.
% Host name:
{hosts, ["anna90"]}.
%% Anonymous login support:
%% auth_method: anonymous
%% anonymous_protocol: sasl_anon|login_anon|both
%% allow_multiple_connections: true|false
%%{host_config, "public.example.org", [{auth_method, anonymous},
%% {allow_multiple_connections, false},
%% {anonymous_protocol, sasl_anon}]}.
%% To use both anonymous and internal authentication:
%%{host_config, "public.example.org", [{auth_method, [anonymous, internal]}]}.
% Default language for server messages
{language, "en"}.
% Listened ports:
{listen,
[{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
{max_stanza_size, 65536},
starttls, {certfile, "./server.pem"}]},
{5223, ejabberd_c2s, [{access, c2s},
{max_stanza_size, 65536},
tls, {certfile, "./server.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, "./server.pem"}]},
{5269, ejabberd_s2s_in, [{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [http_poll, web_admin]},
{8888, ejabberd_service, [{access, all},
{hosts, ["icq.anna90", "sms.anna90"],
[{password, "secret"}]}]}
]}.
% Use STARTTLS+Dialback for S2S connections
{s2s_use_starttls, true}.
{s2s_certfile, "./server.pem"}.
%{domain_certfile, "example.org", "./example_org.pem"}.
%{domain_certfile, "example.com", "./example_com.pem"}.
% If SRV lookup fails, then port 5269 is used to communicate with remote server
{outgoing_s2s_port, 5269}.
% Used modules:
{modules,
[
{mod_register, [{access, register}]},
{mod_roster, []},
{mod_privacy, []},
{mod_adhoc, []},
{mod_configure, []}, % Depends on mod_adhoc
{mod_configure2, []},
{mod_disco, []},
{mod_stats, []},
{mod_vcard, []},
{mod_offline, []},
{mod_announce, [{access, announce}]}, % Depends on mod_adhoc
{mod_echo, [{host, "echo.anna90"}]},
{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_muc_log, []},
% {mod_shared_roster, []},
{mod_pubsub, []},
{mod_time, []},
{mod_last, []},
{mod_version, []}
]}.
% Local Variables:
% mode: erlang
% End:
naive error %
I did not know the % sign is the comment sign in erl. After I erase it and make the line effected. Now it is working.
Ejabberd is running, but do not know how to connect to it, help!
Hi, I have made the ejabberd running. I opened thehttp://hostnmae:5280/admin page but I do not understand anything in it.
How to set up a client?
The client can make a new account or we have to set it up for him prior he get connected?
I used the same user name and password which is used in the adminstration page and tried to connect ejabberd server from Exodus, it always failed to log to my server. Then I had a look in the server it says the connnection has accepted.
If any body would help me, I would give you the user name and password to go into my administration page to set up an initial configuration for me.