Назад | Перейти на главную страницу

настройка ejabberd для многопользовательского чата?

Я пытаюсь настроить многопользовательский чат для ejabberd на Centos 5. Я просто не могу заставить его работать.

Я могу использовать Psi для создания группового чата, но, похоже, не могу присоединиться к нему из другой учетной записи.

Я установил ejabberd из rpm и в основном просто настроил имя хоста.

Обмен мгновенными сообщениями между пользователями работает, но не MUC. Я открыл порты 5222 и 5223 для SSL. MUC работает через другой порт или что-то в этом роде?

Кроме того, когда я создаю чат-комнату на одном клиенте, я должен использовать обнаружение служб в другом клиенте и пробовать определенные узлы с 1 по 5. Это будет использоваться только для небольшой корпоративной системы обмена сообщениями, так что есть ли возможность заставить ejabberd создать только 1 узел?

Было бы лучше увидеть вашу фактическую конфигурацию, но MUC обычно должны быть включены как службы. Обнаружение службы действительно является способом обнаружения службы MUC и просмотра чатов, но клиент должен иметь возможность добавить их в закладки или добавить в реестр для использования в следующий раз.

Во всяком случае, в /etc/ejabberd/ejabberd.cfg вы включили mod_muc? Если да, не могли бы вы вставить настройки. На моем сервере ejabberd я использую:

  {mod_muc,      [
                  %%{host, "conference.@HOST@"},
                  {access, muc},
                  {access_create, muc},
                  {access_persistent, muc},
                  {access_admin, muc_admin},
                  {history_size, 50},
                  {max_users, 500},
                  {default_room_options,
                        [
                          {allow_change_subj, true},
                          {allow_private_messages, true},
                          {allow_user_invites, true},
                          {anonymous, true},
                          {logging, true},
                          {members_by_default, true},
                          {persistent, true},
                          {public, true},
                          {public_list, false}
                        ]}
                 ]},
  {mod_muc_log,  [
                  {access_log, muc},
                  {dirtype, plain},
                  {dirname, room_jid},
                  {outdir, "/var/www/muclogs"},
                  {timezone, universal},
                  {spam_prevention, true}
                 ]},

В свои правила доступа вы также должны включить:

%% 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}]}.

У меня это прекрасно работает. Конечно, вам могут не понадобиться файлы журнала или около того, просто измените соответствующие настройки. На домашней странице ejabberd есть подробная документация по доступным опциям.