2963
Kommentar: alte anleitung kopiert
|
5762
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. |
Inhaltsverzeichnis
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):
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:
- muc extern: ein gesonderter jabberd-Prozess wird gestartet
- 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.