ejabberd für den Mehrbenutzer-Chat konfigurieren?


7

Ich versuche, den Mehrbenutzer-Chat für ejabberd unter Centos 5 zu konfigurieren. Ich kann ihn einfach nicht zum Laufen bringen.

Ich kann Psi verwenden, um einen Gruppenchatraum zu erstellen, kann aber anscheinend nicht von einem anderen Konto aus beitreten.

Ich habe ejabberd von einer Drehzahl installiert und im Grunde nur den Hostnamen konfiguriert.

Instant Messaging von Benutzer zu Benutzer funktioniert, MUC jedoch nicht. Ich habe die Ports 5222 und 5223 für SSL geöffnet. Läuft MUC über einen anderen Port oder so?

Wenn ich den Chatraum auf einem Client erstelle, muss ich die Diensterkennung auf einem anderen Client verwenden und bestimmte Knoten 1 bis 5 ausprobieren. Dies wird nur für ein kleines Unternehmensnachrichtensystem verwendet, ist also sowieso vorhanden ejabberd dazu bringen, nur 1 Knoten zu erstellen?

Antworten:


5

Es ist am besten, Ihre tatsächliche Konfiguration zu sehen, aber MUCs müssen normalerweise als Dienste aktiviert werden. Die Serviceerkennung ist in der Tat der Weg, um den MUC-Service zu entdecken und Chatrooms zu durchsuchen. Der Client sollte jedoch in der Lage sein, sie mit einem Lesezeichen zu versehen oder sie für die nächste Verwendung auf die Liste zu setzen.

Wie auch immer, /etc/ejabberd/ejabberd.cfghaben Sie aktiviert mod_muc? Wenn ja, können Sie die Einstellungen einfügen. Auf meinem Ejabberd-Server verwende ich:

  {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}
                 ]},

In Ihren Zugriffsregeln sollten Sie außerdem Folgendes angeben:

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

Auf diese Weise funktioniert es perfekt für mich. Natürlich möchten Sie möglicherweise nicht die Protokolldateien oder so, passen Sie einfach die entsprechenden Einstellungen an. Die ejabberd-Homepage enthält eine ausführliche Dokumentation der verfügbaren Optionen.


Kannst du mir bitte sagen, was der Wert von room_jid wäre? Ist es <Zimmername> @ example.com?
Hunt

@Hunt: Meines Wissens ist es ein Platzhalter für die JID (Jabber ID) des MUC, dh den Raumnamen. Form wäre so etwas wie myroom@conference.mydomain.tldim obigen Beispiel.
0xC0000022L

@ STAUS_ACCESS_DENIED, können Sie sich bitte diese Frage ansehen stackoverflow.com/questions/9226737/…
Hunt

@ 0xC0000022L Wie kann ich standardmäßig den history_sizeWert last login timedes Mitglieds festlegen?. Ihre Antwort ist sehr hilfreich für mich. Danke
redV

Kann es nicht zum Laufen bringen. Pidgin meldet "503: Service nicht verfügbar", wenn versucht wird, mit Räumen umzugehen, obwohl mein Server dieselbe Konfiguration mit dem Muc-Modul hat.
Richard Żak
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.