Поствил и настроил сервер, включил mod_shared_roster (он работает хорошо), но возникла проблема с ростером, тоесть все контакты которые сохраняются в списке при перелогине теряются, пронаблюдал через phpmyadmin, данные вносятся в базу, но когда пользователь выходит они удаляются .... подскажите пожалуйста в чем может быть проблема
web interface
Ещё заметил проблему, вэб интерфейс пытается брать информацию о пользователях, ростере , оффлайн сообщениях. может ещё о чем то не из mysq а из mnesia базы, хотя ко всем поддерживающим модулям дописал *_odbc
web interface
Если в mnesa базе вобще нет пользователей, то не работает просмотр пользователей через вэб интерфейс
roster
немного поэксперементировав получил немного больше информации о проблеме, если клиент залогинился, изменил ростер, а потом просто остановить сервер, то информация не стирается, тоесть ростер удаляется из базы именно при логауте ..., с стандартной базой тоже самое ...., напишу сдесь польный конфиг файл, возможно я где то ошибся ....
ejabberd.cfg:
% $Id: ejabberd.cfg.example 790 2007-06-25 07:15:30Z mremond $
override_global.
override_local.
override_acls.
% ejabberd loglevel (0: no log -> 5: debug)
{loglevel, 1}.
%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, "sss", "viks.krym.ru"}}.
%{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*"}}.
%{access, multicast, [{allow, admin}, {deny, all}]}.
% Everybody can create pubsub nodes
{access, pubsub_createnode, [{allow, all}]}.
% 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 our Jabber server. "
"For information about our Jabber server visit http://172.18.13.13/index.php/topic,86.msg201.html#msg201"}}.
% 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, ["sss@viks.krym.ru"]}.
% "admin2@localhost"]}.
% Debug:
% watchdog admins receive live notifications on ejabberd process consuming too
% much memory
{watchdog_admins, ["sss@viks.krym.ru"]}.
% 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}.
{auth_method, [odbc, anonymous]}.
{odbc_server, {mysql, "localhost", "ejabberd", "user", "password"}}.
% For LDAP authentication use these lines instead of above one:
%{auth_method, ldap}.
%{ldap_servers, ["localhost"]}. % 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"}.
% Uncomment this if you are using postgres, having a large DB, and need a
% faster but inexact replacement for "select count(*) from users"
%{pgsql_users_number_estimate, true}.
% Host name:
{hosts, ["viks.krym.ru", "evil"]}.
%% Define the maximum number of time a single user is allowed to connect:
{access, max_user_sessions, [{10, all}]}.
%% 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, [internal,anonymous]}]}.
% Default language for server messages
{language, "ru"}.
% Listened ports:
{listen,
[
% {52222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
% {max_stanza_size, 65536},
% starttls, {certfile, "./ssl.pem"}]},
% {52233, ejabberd_c2s, [{access, c2s},
% {max_stanza_size, 65536},
% tls, {certfile, "./ssl.pem"}]},
% Use these two lines instead if TLS support is not compiled
{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}, {max_stanza_size, 65536}, starttls, {certfile, "/etc/ejabberd/ejabberd.pem"}]},
{5223, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}, {max_stanza_size, 65536}, tls, {certfile, "/etc/ejabberd/ejabberd.pem"}]},
{5269, ejabberd_s2s_in, [{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [http_poll]},
{9092, ejabberd_http, [web_admin ,{ip, {192, 168, 0, 1}}, tls, {certfile, "/etc/ejabberd/ejabberd.pem"}]}]}.
% {8888, ejabberd_service, [{access, all}, {shaper_rule, fast},
% {hosts, ["icq.localhost", "sms.localhost"],
% [{password, "secret"}]}]}
% }.
% Use STARTTLS+Dialback for S2S connections
{s2s_use_starttls, true}.
{s2s_certfile, "/etc/ejabberd/ejabberd.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_roster_odbc, []},
% {mod_privacy, []},
{mod_privacy_odbc, []},
{mod_adhoc, []},
{mod_configure, [{allow, admin}, {deny, all}]}, % Depends on mod_adhoc
{mod_configure2, [{allow, admin}, {deny, all}]},
{mod_disco, []},
{mod_stats, []},
% {mod_vcard, []},
{mod_vcard_odbc, []},
% {mod_offline, []},
{mod_offline_odbc,[]},
{mod_announce, [{allow, admin}]}, % Depends on mod_adhoc
{mod_echo, [{host, "echo.localhost"}]},
{mod_service_log, []},
% {mod_private, []},
{mod_private_odbc, []},
% {mod_irc, []},
% Default options for mod_muc:
% host: "conference." ++ ?MYNAME
% access: all
% access_create: all
% access_persistent: all
% access_admin: none (only room creator has owner privileges)
{mod_muc, [{access, muc},
{access_create, muc},
{access_persistent, muc},
{access_admin, muc_admin}]},
{mod_muc_log, []},
{mod_shared_roster, []},
{mod_pubsub, []},
{mod_time, []},
% {mod_last, []},
{mod_last_odbc, []},
{mod_profile, []},
{mod_caps, []},
{mod_archive, []},
{mod_version, []}
]}.
% Local Variables:
% mode: erlang
% End:
и создана одна общая группа
main
@all@
main
стоят модули из svn (без них ситуация аналогичная)
pep
mod_profile
mod_arch
mysql
разобрался,
разобрался, проблема была в использование mysql и anonymous аутенфикации ....