Unterschiede zwischen den Revisionen 1 und 12 (über 11 Versionen hinweg)
Revision 1 vom 2005-05-06 10:03:37
Größe: 2963
Autor: phil
Kommentar: alte anleitung kopiert
Revision 12 vom 2012-06-13 21:26:25
Größe: 5762
Autor: anonym
Kommentar: converted to 1.6 markup
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
[[TableOfContents]] ## page was renamed from NeofaxeJabber
<<TableOfContents>>
Zeile 4: Zeile 5:
= Was ist das hier =
Diese Seite beschreibt die Installation und Einrichtung des Jabber-Servers ''jabberd 1.4.x'' unter Debian GNU/Linux. Sie ist teilweise darauf abgestimmt, dass unser Jabber-Server in einem [[FaxeUML|UML]] laeuft. Andere Bereiche beziehen sich auf die Einrichtung des Jabber-Clients [[http://psi.affinix.com/|PSI]].<<BR>>
Die vollstaendige Dokumentation zum Server befindet sich [[http://jabberd.jabberstudio.org/1.4/doc/adminguide|hier]].

= Daten fuer die Faxe-Administration =
||UML||jabber||
||Version||1.4.3-3||
||Hostname||neofaxe.nodes.systemausfall.org||
||lokale IP||10.0.0.32||
||Speicheort des Zertifikats||/etc/jabber/cert/key-cert.pem||

= Begriffe und Variablen =
Die Variablen muessen durch eintsprechende Eintraege ersetzt werden.
||$HOSTNAME||Adresse des Servers (siehe Beispiel oben)||
||$LOKALE_IP||lokale IP Adresse||
||$SPEICHERORT_ZERTIFIKAT||Speicherort des SSL-Zertifikats||
||$UID||eine User-ID||

----
Zeile 7: Zeile 27:
{{{ apt-get install jabber jabber-muc }}}

jabber-muc ist fuer den chatroom (multi user chat)
{{{apt-get install jabber
}}}
Zeile 12: Zeile 31:
 * in /etc/jabber/jabber.cfg den hostname eintragen
 * in /etc/jabber/jabber.xml die ssl sektion mit einer lokalen IP Adresse fuettern

In ''/etc/jabber/jabber.cfg'' den hostname eintragen:
{{{JABBER_HOSTNAME=$HOSTNAME
}}}

In ''/etc/jabber/jabber.xml'':
{{{<host><jabberd:cmdline flag="h">$HOSTNAME</jabberd:cmdline></host>
}}}

== SSL aktivieren ==
''/etc/jabber/jabber.xml'' bearbeiten:
{{{
<ssl port='5223'>$LOKALE_IP</ssl>

<ssl>
  <key ip='$LOKALE_IP'>$SPEICHERORT_ZERTIFIKAT</key>
</ssl>
}}}

Im Verzeichnis ''/etc/jabber/cert/'' liegt die Datei ''key-cert.pem'' - diese muss den Schluessel des Servers enthalten.

== Server2Server Kommunikation ausschalten ==
Wer einen elitaeren Server betreiben will, sollte die Server-to-Server Kommunikation ausschalten. Sie verhindert, dass die Nutzer des Servers mit den Nutzern anderer Server in Kontakt treten koennen (und umgekehrt):

[[http://jabberd.jabberstudio.org/1.4/doc/adminguide#intranet-s2s|s2s auschalten]]

== Kennwort unverschlüsselt übermitteln ==
Ist in der Nutzerkonto-Einstellung unter Verbundung zu aktivieren.
Durch die SSL-Verbindung ist das Kennwort bei der Übertragung trotzdem geschützt, auf dem Server wird es dann verschlüsselt abgelegt

== Server-Admins festlegen ==

In ''/etc/jabber/jabber.cml'' gibt es den Abschnitt {{{<admin>}}}:
{{{
<admin>
  <read>$UID@$HOSTNAME</read>
  <write>$UID@$HOSTNAME</write>
  ...
}}}

''$UID'' und ''$HOSTNAME'' entsprechend Ersetzen. Leserechte erlauben das Lesen von an Admins gerichteten Nachrichten der User; Schreibrechte dass Verschicken von Nachrichten an alle User und von 'Nachrichten des Tages' (motd).

Weitere Informationen [[http://jabberd.jabberstudio.org/1.4/doc/adminguide#admin-privs|hier]].
Zeile 32: Zeile 92:
{{{apt-get install jabber-muc
}}}
Zeile 33: Zeile 96:
 1. muc extern: ein gesonderter jabberd-Prozess wird gestartet, damit muc nutzbar ist  1. muc extern: ein gesonderter jabberd-Prozess wird gestartet
Zeile 39: Zeile 102:
 * ''etc/jabber/jabber.xml'' editieren und die Auskommentierung der folgenden Zeilen entfernen:  * ''etc/jabber/jabber.xml'' editieren und folgenden Abschnitt hinzufuegen:
Zeile 51: Zeile 114:
Alle Einstellungen bezueglich muc koennen in ''/etc/jabber/jabber-muc.xml'' vorgenommen werden. Soll dieser Service auch von anderen Jabber-Servern aus erreichbar sein, so muss ''localhost'' durch $HOSTNAME ersetzt werden.
Zeile 53: Zeile 116:
=== muc auf sao mit PSI nutzen === Weiterhin zu ''etc/jabber/jabber.xml'' im Abschnitt {{{<browse>}}} folgendes hinzufuegen:
{{{
<item category="conference" type="public" jid="conference.localhost"
   name="Public Conferencing" version="0.5.2">
  <ns>jabber:iq:register</ns>
  <ns>gc-1.0</ns>
  <ns>http://jabber.org/protocol/muc</ns>
</item>
}}}
Zeile 55: Zeile 126:
 * PSI-Menu --> ''Service Discovery'' und den gewuenschten Server waehlen
 * Rechte Maustaste auf ''Public Chatrooms'' --> ''Join'' und dann den entsprechenden Chatroom auswaehlen
Sofern du Aenderungen an diesen beiden Bloecken vornimmst, musst du diese Aenderungen auch in ''/etc/jabber/jabber-muc.xml'' vornehmen. Alle weiteren Einstellungen bezueglich muc kannst du ebenfalls in dieser Datei vornehmen.
Zeile 58: Zeile 128:
== Jabber User Directory (jud) als Service entfernen == == Jabber User Directory (jud) abschalten ==
Zeile 60: Zeile 130:
Brauchen wir wohl eh nicht, also hab ich [pi] die entsprechende Stelle in ''/etc/jabber/jabber.xml'' auskommentiert: In ''/etc/jabber/jabber.xml'' auskommentieren:
Zeile 71: Zeile 141:
Damit erscheint dieser Dienst in der ''Service Discovery'' nicht mehr.
Zeile 76: Zeile 144:
 * /etc/init.d/jabber stop reicht meist nicht - "killall jabberd" hilft
 * in /etc/jabber/cert liegt das aktuelle Zertifikat
 *
Laut [http://mail.jabber.org/pipermail/mu-conference/2004-May/000194.html dieser] Seite und eigenen Tests gibt es ein Problem mit der ''Invite User'' Funktion fuer Chatrooms. Moeglichst vermeiden, da ansonsten die Meldung ''user is not in the room'' erscheint und geschriebene Nachrichten ins Leere laufen. Ein [https://systemausfall.org/trac/sao/ticket/36 Ticket] existiert bereits.
 * /etc/init.d/jabber stop reicht meist nicht - {{{killall jabberd}}} hilft
 * Laut [[http://mail.jabber.org/pipermail/mu-conference/2004-May/000194.html|dieser]] Seite und eigenen Tests gibt es ein Problem mit PSI und der ''Invite User'' Funktion fuer Chatrooms. Moeglichst vermeiden, da ansonsten die Meldung ''user is not in the room'' erscheint und geschriebene Nachrichten ins Leere laufen. Ein [[https://systemausfall.org/trac/sao/ticket/36|Ticket]] existiert bereits.


Was ist das hier

Diese Seite beschreibt die Installation und Einrichtung des Jabber-Servers jabberd 1.4.x unter Debian GNU/Linux. Sie ist teilweise darauf abgestimmt, dass unser Jabber-Server in einem UML laeuft. Andere Bereiche beziehen sich auf die Einrichtung des Jabber-Clients PSI.
Die vollstaendige Dokumentation zum Server befindet sich hier.

Daten fuer die Faxe-Administration

UML

jabber

Version

1.4.3-3

Hostname

neofaxe.nodes.systemausfall.org

lokale IP

10.0.0.32

Speicheort des Zertifikats

/etc/jabber/cert/key-cert.pem

Begriffe und Variablen

Die Variablen muessen durch eintsprechende Eintraege ersetzt werden.

$HOSTNAME

Adresse des Servers (siehe Beispiel oben)

$LOKALE_IP

lokale IP Adresse

$SPEICHERORT_ZERTIFIKAT

Speicherort des SSL-Zertifikats

$UID

eine User-ID


Installation

{{{apt-get install jabber }}}

Einrichtung

In /etc/jabber/jabber.cfg den hostname eintragen: {{{JABBER_HOSTNAME=$HOSTNAME }}}

In /etc/jabber/jabber.xml: {{{<host><jabberd:cmdline flag="h">$HOSTNAME</jabberd:cmdline></host> }}}

SSL aktivieren

/etc/jabber/jabber.xml bearbeiten:

<ssl port='5223'>$LOKALE_IP</ssl>

<ssl>
  <key ip='$LOKALE_IP'>$SPEICHERORT_ZERTIFIKAT</key>
</ssl>

Im Verzeichnis /etc/jabber/cert/ liegt die Datei key-cert.pem - diese muss den Schluessel des Servers enthalten.

Server2Server Kommunikation ausschalten

Wer einen elitaeren Server betreiben will, sollte die Server-to-Server Kommunikation ausschalten. Sie verhindert, dass die Nutzer des Servers mit den Nutzern anderer Server in Kontakt treten koennen (und umgekehrt):

s2s auschalten

Kennwort unverschlüsselt übermitteln

Ist in der Nutzerkonto-Einstellung unter Verbundung zu aktivieren. Durch die SSL-Verbindung ist das Kennwort bei der Übertragung trotzdem geschützt, auf dem Server wird es dann verschlüsselt abgelegt

Server-Admins festlegen

In /etc/jabber/jabber.cml gibt es den Abschnitt <admin>:

<admin>
  <read>$UID@$HOSTNAME</read>
  <write>$UID@$HOSTNAME</write>
  ...

$UID und $HOSTNAME entsprechend Ersetzen. Leserechte erlauben das Lesen von an Admins gerichteten Nachrichten der User; Schreibrechte dass Verschicken von Nachrichten an alle User und von 'Nachrichten des Tages' (motd).

Weitere Informationen hier.

Abschaltung der automatischen Nutzeranmeldung

Dies verhindert, dass sich Leute beim jabberserver ein neues Konto anlegen können. Dazu müssen in der /etc/jabber/jabber.xml zwei Blöcke auskommentiert werden (mit <!-- ... -->).

{{{ <register notify="yes">

  • <instructions> Choose a username and password to register with this server. </instructions> <name/> <email/>

  • </register>}}}

  <mod_register>./jsm/jsm.so</mod_register>

Einrichtung der Multi-User-Conference (muc)

{{{apt-get install jabber-muc }}}

Grundsaetzlich gibt es zwei Moeglichkeiten muc einzubinden:

  1. muc extern: ein gesonderter jabberd-Prozess wird gestartet
  2. muc intern: kein extra jabberd-Prozess wird benoetigt; muc laueft innerhalb des Haupt-Prozesses

Der Debain-Weg fuer 2. sieht so aus:

  • /etc/default/jabber-muc editieren und set ENABLED auf 1 setzen

  • etc/jabber/jabber.xml editieren und folgenden Abschnitt hinzufuegen:

 <service id="muclinker">
    <host>conference.localhost</host>
    <accept>
      <ip>127.0.0.1</ip>
      <port>31518</port>
      <secret>secret</secret>
    </accept>
  </service>

Soll dieser Service auch von anderen Jabber-Servern aus erreichbar sein, so muss localhost durch $HOSTNAME ersetzt werden.

Weiterhin zu etc/jabber/jabber.xml im Abschnitt <browse> folgendes hinzufuegen:

<item category="conference" type="public" jid="conference.localhost"            
   name="Public Conferencing" version="0.5.2">                                  
  <ns>jabber:iq:register</ns>                                                   
  <ns>gc-1.0</ns>                                                               
  <ns>http://jabber.org/protocol/muc</ns>                                       
</item>

Sofern du Aenderungen an diesen beiden Bloecken vornimmst, musst du diese Aenderungen auch in /etc/jabber/jabber-muc.xml vornehmen. Alle weiteren Einstellungen bezueglich muc kannst du ebenfalls in dieser Datei vornehmen.

Jabber User Directory (jud) abschalten

In /etc/jabber/jabber.xml auskommentieren:

<!-- jud ausschalten
        <service type="jud" jid="users.jabber.org" name="Jabber User Directory">
          <ns>jabber:iq:search</ns>
          <ns>jabber:iq:register</ns>
        </service>
-->

Hints

  • "jabberd -D" starten, gibt barbarische meldung ueber evtl. Fehler (mit -h den hostname uebergeben)
  • /etc/init.d/jabber stop reicht meist nicht - killall jabberd hilft

  • Laut dieser Seite und eigenen Tests gibt es ein Problem mit PSI und der Invite User Funktion fuer Chatrooms. Moeglichst vermeiden, da ansonsten die Meldung user is not in the room erscheint und geschriebene Nachrichten ins Leere laufen. Ein Ticket existiert bereits.


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.