Jabber: Unterschied zwischen den Versionen

Aus Wiki Freifunk-3Ländereck
Wechseln zu: Navigation, Suche
(ejabberd einrichten)
(Öffentliches Benutzerverzechnis)
 
(69 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
Der [https://de.wikipedia.org/wiki/Jabber_Instant_Messenger Jabber Instant Messenger] war der erste Klient für den Austausch von Kurznachrichten (Instant Messaging) auf Basis des [https://de.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol Extensible Messaging and Presence Protocol (XMPP)]. Mittlerweile wird der Name ''Jabber'' für XMPP-basiertes ''Instant Messaging'' im Allgemeinen verwendet. Im Gegensatz zu e-Mail werden die Nachrichten unmittelbar übertragen und beim Empfägner direkt eingeblendet. Auf diese Weise lassen sich Unterhaltungen über das Netz führen. Jabber ist damit vergleichbar mit Diensten wie ''ICQ'' oder ''Google Hangouts''. Von diesen unterscheidet es sich jedoch durch seine dezentrale Struktur. Kurznachrichten werden direkt von Server zu Server gesendet. Das hierbei verwendete XMPP-Protokoll ist ein offener Standard, welcher von einer Reihe quelloffener [[#Klienten|Klienten]] unterstützt wird.
  
= ejabberd einrichten =
+
= Registrierung =
 +
Der Freifunk 3Ländereck betreibt für alle Freifunker in der Region einen Jabber-Dienst unter der Domain ''jabber.ff3l.net''. Die Registrierung ist offen und kann anonym unter der Adresse https://jabber.ff3l.net/register/ erfolgen. Alternativ lassen sich Benutzerkonten auch direkt aus den meisten Klienten heraus erstellen ("In-Band-Registrierung"). Dies ist jedoch aus technischen Gründen lediglich innerhalb des Freifunknetzes möglich. Registriere dich noch heute und werde Teil des weltweiten Jabber-Netzwerks!
  
XMPP-Server gibt es an der Zahl viele. Ein populärer, freier XMPP-Server ist [ejabberd|https://www.ejabberd.im/]. ''Ejabberd'' ist unter Windows und Unix-Derivaten verfügbar. Neben diversen Modulen und Transports unterstützt ''ejabberd'' die Einrichtung von Clustern, so dass durch den Parallelbetrieb mehrerer Server eine hohe Ausfallsicherheit erzeugt werden kann. Im Folgenden wird die Installation und Einrichtung unter Debian Wheezy als Benutzer ''root'' beschrieben.
+
Wähle hierzu auf der Registrierugsseite den Link "Register a Jabber account". Im Anschluss erscheint das unten dargestellte Formular. Trage den Benutzernamen ("Username") deiner Wahl ein. Im Jabber-Netzwerk bist du später unter der Jabber-ID (JID) ''<username>@jabber.ff3l.net'' erreichbar. Wähle als nächstes ein sicheres Passwort ("Password"). Das Passwort muss zweimal eingetragen werden, um Tippfehler auszuschließen. Zusätzlich gibt es noch ein "Captcha". Dieses verhindert die automatische Registrierung von Benutzerkonten durch Schadsoftware. Um die Prüfung zu bestehen, muss die im Bild dargestellte Zahl in das Feld unter Punkt 5 eingetragen werden. Danach bleibt nur noch der Klick auf das Feld "Register". Direkt im Anschluss kannst du dich unter deinem Benutzernamen und mit dem gewählten Passwort anmelden. Geeignete Klienten für dein Betriebssystem findest Du im nächsten Abschnitt.
Zunächst installieren wir das Paket mit dem Server:
 
  
  apt-get install ejabberd
+
[[File:Jabber_registrierung.png]]
  
Im Anchluss führen wir eine Grundkonfiguration durch:
+
= Klienten =
  
  dpkg-reconfigure ejabberd
+
Die folgende Tabelle enthält eine Auflistung empfohlener Klienten. Helft uns mit, diese zu vervollständigen! Wie sich die Klienten im Einzelnen konfigurieren lassen, entnehmt ihr am besten der zugehörigen Dokumentation. In der Regel sollte dies kein Hexenwerk sein.
  
Im Zuge der Grundkonfiguration geben wir die Domain ''<domain>'' des Servers, sowie einen Namen für den Administrator ''<administrator>'' sowie ein Passwort ein. Debconf nimmt im Anschluss automatisch die notwendigen Änderungen in der zentralen Konfigurationsdatei ''/etc/ejabberd/ejabberd.cfg'' vor. Dort sollten wir nach Abschluss der Grundkonfiguration den folgenden Abschnitt finden:
+
{|class="wikitable"
 +
!Klient
 +
!Betriebssystem
 +
!Offizielle Seite
 +
!Bemerkungen
 +
|-
 +
|Adium
 +
|OSX
 +
|[http://adium.im adium.in]
 +
|basiert auf libpurple und kann daher nicht alle aktuellen [https://xmpp.org/xmpp-protocols/xmpp-extensions/ XEPs] <ref name="Anm_1">Es geht darum XMPP so nutzen zu können wie Hangouts oder Facebook Messanger oder auch Whatsapp. <br /> Wichtig zu nennen, wären hierbei: Message Archiving, Stream Management, Message Carbons, Archive Management, Push und auch Impact of TLS and DNSSEC on Dialback. <br />Höre dazu auch: http://blog.binaergewitter.de/2015/03/26/binaergewitter-talk-118-zu-frisch-fuer-debian-stable (der Talk zu XMPP geht recht spät los)</ref>
 +
|-
 +
|Conversations<ref name="Anm_2">Empfohlen</ref>
 +
|[https://github.com/siacs/Conversations github.com/siacs/Conversations]
 +
|Android
 +
|OTR für sichere End-zu-Endverschlüsselung
 +
|-
 +
|Gajim<ref name="Anm_2" />
 +
|Linux, Windows, OSX
 +
|[http://gajim.org gajim.org]
 +
|OTR für sichere End-zu-Endverschlüsselung gibt es [https://trac-plugins.gajim.org/wiki/OffTheRecordPlugin hier]
 +
|-
 +
|ChatSecure
 +
|iOS, Android
 +
|[https://chatsecure.org chatsecure.og]
 +
|OTR für sichere End-zu-Endverschlüsselung. Unterstützt leider keine aktuellen [https://xmpp.org/xmpp-protocols/xmpp-extensions/ XEPs]<ref name="Anm_1" />
 +
|-
 +
|Pidgin
 +
|Linux, Windows
 +
|[http://pidgin.im pidgin.im]
 +
|Umfangreicher Instant Messaging-Klient, welcher sich nicht nur auf XMPP beschränkt <br/> OTR für sichere End-zu-End-Verschlüsselung über ein Plugin verfügbar <br/> basiert auf libpurple und kann daher nicht alle aktuellen [https://xmpp.org/xmpp-protocols/xmpp-extensions/ XEPs] <ref name="Anm_1" />
 +
|-
 +
|Yaxim
 +
|[http://yaxim.org yaxim.org]
 +
|Android
 +
|
 +
|}
  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
<references />
%% Options which are set by Debconf and managed by ucf
 
 
%% Admin user
 
{acl, admin, {user, "<administrator>", "<domain>"}}.
 
 
%% Hostname
 
{hosts, ["<domain>"]}.
 
  
Da dies noch nicht ausreichend ist, öffnen wir die Konfigurationsdatei ''/etc/ejabberd/ejabberd.cfg'' im Anschluss mit dem Editor unserer Wahl und bessern an einigen Stellen nach.
+
Der Pidgin Instant Messaging-Klient:
Damit wir als Administrator informiert werden, wenn der ''ejabberd''-Prozess außer Kontrolle gerät, aktivieren wir den Watchdog:
 
  
%%
+
[[File:Jabber_pidgin.png]]
%% watchdog_admins: If an ejabberd process consumes too much memory,
 
%% send live notifications to those Jabber accounts.
 
%%
 
{watchdog_admins, ["<admin>@<domain>"]}.
 
  
Weiterhin wollen wir ''ejabberd'' über die eingebaute Web-Oberfläche konfigurieren können:
+
=Konferenzen=
 +
Neben der Möglichkeit zu Einzelverbindungen, lassen sich in Jaber auch Konferenzräume oder Chat Rooms anlegen. Der Name des Servers lautet anders als auf dem Bild gezeigt ''conference.jabber.ff3l.net''. In einer Konferenz / einem Chat können sich mehrere Benutzer gleichzeitig unterhalten. Das beste daran: Jeder Benutzer kann diese Räume anlegen. Optional lassen sie sich mit eiem Passwort schützen (geschlossene Konferenz). Für allgemeine, gepflegte Konversation haben wir den Raum "ff3l" erstellt. 
  
{5280, ejabberd_http, [
+
Erstellung / Beitritt zu einer Konferenz mit dem Pidgin Instant Messaging-Klienten:
                        {request_handlers,
 
                          [
 
                          {["pub", "archive"], mod_http_fileserver}
 
                          ]},
 
                        %%captcha,
 
                        http_bind,
 
                        http_poll,
 
                        web_admin
 
                        ]}
 
  
Benutzern soll es prinzipiell erlaubt sein, sich selbst zu registrieren:
+
[[File:Jabber_chat.png]]
  
%% No username can be registered via in-band registration: 
+
=Öffentliches Benutzerverzechnis=
%% To enable in-band registration, replace 'deny' with 'allow'
 
% (note that if you remove mod_register from modules list then users will not
 
% be able to change their password as well as register).
 
% This setting is default because it's more safe.
 
{access, register, [{allow, all}]}.
 
  
Statt Englisch möchten wir Deutsch als Standardsprache für alle Meldungen:
+
Da Jabber alleine relativ wenig Freude bereitet, haben wir ein öffentliches Mitgliederverzeichnis erstellt. Wenn ihr erreicht werden wollt und das Licht nicht scheut, könnt ihr eure Jabber ID (JID) dort hinterlegen.
  
%%
+
{|class="wikitable sortable"
%% language: Default language used for server messages.
+
!Name
%%
+
!Jabber ID
{language, "de"}.
+
!Bemerkungen
 +
|-
 +
|Bernd Kalbfuss-Zimmermann
 +
|[xmpp://langweiler@jabber.ff3l.net langweiler@jabber.ff3l.net]
 +
|
 +
|-
 +
|Markus Siniawa
 +
|[xmpp://markus@jabber.ff3l.net markus@jabber.ff3l.net]
 +
|
 +
|-
 +
|Stefan Rauscher
 +
|[xmpp://srauscher@jabber.ff3l.net srauscher@jabber.ff3l.net]
 +
|
 +
|-
 +
|Benjamin Lütker
 +
|[xmpp://benlue@jabber.ff3l.net benlue@jabber.ff3l.net]
 +
|
 +
|-
 +
|Thomas
 +
|[xmpp://templis@jabber.ff3l.net templis@jabber.ff3l.net]
 +
|
 +
|-
 +
|Rüdiger Lorenz
 +
|[xmpp://pepto@jabber.ff3l.net pepto@jabber.ff3l.net]
 +
|
 +
|-
 +
|Heinz Knies
 +
|[xmpp://degrtbw@jabber.ff3l.net degrtbw@jabber.ff3l.net]
 +
|
 +
|-
 +
|Puppet Team
 +
|[xmpp://puppet-team@jabber.ff3l.net puppet-team@jabber.ff3l.net]
 +
|Git Broadcast Service
 +
|-
 +
|Julian
 +
|[xmpp://d3dx9@jabber.ff3l.net d3dx9@jabber.ff3l.net]
 +
|
 +
|-
 +
|}
  
Zuletzt stellen wir noch sicher, dass das Modul ''mod_register'' für die Benutzerregistrierung aktiviert ist und tragen unter ''registration_watchers'' unseren Administrator ein. In Zukunft sollten wir informiert werden, nachdem sich ein Benutzer registriert hat.
+
[[Kategorie:Dienste]][[Kategorie:Jabber]]
 
 
  {mod_register, [
 
                  %%
 
                  %% After successful registration, the user receives
 
                  %% a message with this subject and body.
 
                  %%
 
                  {welcome_message, {"Welcome!",
 
                                    "Welcome to a Jabber service powered by Debian. "
 
                                    "For information about Jabber visit "
 
                                    "http://www.jabber.org"}},
 
                  %% Replace it with 'none' if you don't want to send such message:
 
                  %%{welcome_message, none},
 
 
 
                  %%
 
                  %% When a user registers, send a notification to
 
                  %% these Jabber accounts.
 
                  %%
 
                  {registration_watchers, ["<admin>@<domain>"]},
 
 
 
Im Anschluss starten wir ''ejabberd'' erneut, damit die Änderungen übernommen werden:
 
 
 
service ejabberd restart
 
 
 
Im Normalfall sollte unser Rechner durch eine Firewall geschützt sein. Damit ejabberd funktionieren kann, müssen die Ports 5222, 5269 und 5280 für eingehende Verbindungen geöffnet werden. Falls die ''Uncomplicated Firewall'' verwendet wird, gelingt dies mit:
 
 
 
ufw allow 5222 # client connections
 
ufw allow 5269 # server connections
 
ufw allow 5280 # web configuration interface
 
 
 
Ab sofort sollten sich Klienten registrieren und mit dem Server verbinden können. Die Administrationsoberfläche erreichen wir unter [http://box-1719.ff3l:5280/admin/]. Für den Login verwenden wir den zuvor angelegten Administrator sowie das zugehörige Passwort. Vorsicht: Die Verbindung ist nicht verschlüsselt!
 

Aktuelle Version vom 25. August 2015, 23:12 Uhr

Der Jabber Instant Messenger war der erste Klient für den Austausch von Kurznachrichten (Instant Messaging) auf Basis des Extensible Messaging and Presence Protocol (XMPP). Mittlerweile wird der Name Jabber für XMPP-basiertes Instant Messaging im Allgemeinen verwendet. Im Gegensatz zu e-Mail werden die Nachrichten unmittelbar übertragen und beim Empfägner direkt eingeblendet. Auf diese Weise lassen sich Unterhaltungen über das Netz führen. Jabber ist damit vergleichbar mit Diensten wie ICQ oder Google Hangouts. Von diesen unterscheidet es sich jedoch durch seine dezentrale Struktur. Kurznachrichten werden direkt von Server zu Server gesendet. Das hierbei verwendete XMPP-Protokoll ist ein offener Standard, welcher von einer Reihe quelloffener Klienten unterstützt wird.

Registrierung

Der Freifunk 3Ländereck betreibt für alle Freifunker in der Region einen Jabber-Dienst unter der Domain jabber.ff3l.net. Die Registrierung ist offen und kann anonym unter der Adresse https://jabber.ff3l.net/register/ erfolgen. Alternativ lassen sich Benutzerkonten auch direkt aus den meisten Klienten heraus erstellen ("In-Band-Registrierung"). Dies ist jedoch aus technischen Gründen lediglich innerhalb des Freifunknetzes möglich. Registriere dich noch heute und werde Teil des weltweiten Jabber-Netzwerks!

Wähle hierzu auf der Registrierugsseite den Link "Register a Jabber account". Im Anschluss erscheint das unten dargestellte Formular. Trage den Benutzernamen ("Username") deiner Wahl ein. Im Jabber-Netzwerk bist du später unter der Jabber-ID (JID) <username>@jabber.ff3l.net erreichbar. Wähle als nächstes ein sicheres Passwort ("Password"). Das Passwort muss zweimal eingetragen werden, um Tippfehler auszuschließen. Zusätzlich gibt es noch ein "Captcha". Dieses verhindert die automatische Registrierung von Benutzerkonten durch Schadsoftware. Um die Prüfung zu bestehen, muss die im Bild dargestellte Zahl in das Feld unter Punkt 5 eingetragen werden. Danach bleibt nur noch der Klick auf das Feld "Register". Direkt im Anschluss kannst du dich unter deinem Benutzernamen und mit dem gewählten Passwort anmelden. Geeignete Klienten für dein Betriebssystem findest Du im nächsten Abschnitt.

Jabber registrierung.png

Klienten

Die folgende Tabelle enthält eine Auflistung empfohlener Klienten. Helft uns mit, diese zu vervollständigen! Wie sich die Klienten im Einzelnen konfigurieren lassen, entnehmt ihr am besten der zugehörigen Dokumentation. In der Regel sollte dies kein Hexenwerk sein.

Klient Betriebssystem Offizielle Seite Bemerkungen
Adium OSX adium.in basiert auf libpurple und kann daher nicht alle aktuellen XEPs [1]
Conversations[2] github.com/siacs/Conversations Android OTR für sichere End-zu-Endverschlüsselung
Gajim[2] Linux, Windows, OSX gajim.org OTR für sichere End-zu-Endverschlüsselung gibt es hier
ChatSecure iOS, Android chatsecure.og OTR für sichere End-zu-Endverschlüsselung. Unterstützt leider keine aktuellen XEPs[1]
Pidgin Linux, Windows pidgin.im Umfangreicher Instant Messaging-Klient, welcher sich nicht nur auf XMPP beschränkt
OTR für sichere End-zu-End-Verschlüsselung über ein Plugin verfügbar
basiert auf libpurple und kann daher nicht alle aktuellen XEPs [1]
Yaxim yaxim.org Android
  1. 1,0 1,1 1,2 Es geht darum XMPP so nutzen zu können wie Hangouts oder Facebook Messanger oder auch Whatsapp.
    Wichtig zu nennen, wären hierbei: Message Archiving, Stream Management, Message Carbons, Archive Management, Push und auch Impact of TLS and DNSSEC on Dialback.
    Höre dazu auch: http://blog.binaergewitter.de/2015/03/26/binaergewitter-talk-118-zu-frisch-fuer-debian-stable (der Talk zu XMPP geht recht spät los)
  2. 2,0 2,1 Empfohlen

Der Pidgin Instant Messaging-Klient:

Jabber pidgin.png

Konferenzen

Neben der Möglichkeit zu Einzelverbindungen, lassen sich in Jaber auch Konferenzräume oder Chat Rooms anlegen. Der Name des Servers lautet anders als auf dem Bild gezeigt conference.jabber.ff3l.net. In einer Konferenz / einem Chat können sich mehrere Benutzer gleichzeitig unterhalten. Das beste daran: Jeder Benutzer kann diese Räume anlegen. Optional lassen sie sich mit eiem Passwort schützen (geschlossene Konferenz). Für allgemeine, gepflegte Konversation haben wir den Raum "ff3l" erstellt.

Erstellung / Beitritt zu einer Konferenz mit dem Pidgin Instant Messaging-Klienten:

Jabber chat.png

Öffentliches Benutzerverzechnis

Da Jabber alleine relativ wenig Freude bereitet, haben wir ein öffentliches Mitgliederverzeichnis erstellt. Wenn ihr erreicht werden wollt und das Licht nicht scheut, könnt ihr eure Jabber ID (JID) dort hinterlegen.

Name Jabber ID Bemerkungen
Bernd Kalbfuss-Zimmermann langweiler@jabber.ff3l.net
Markus Siniawa markus@jabber.ff3l.net
Stefan Rauscher srauscher@jabber.ff3l.net
Benjamin Lütker benlue@jabber.ff3l.net
Thomas templis@jabber.ff3l.net
Rüdiger Lorenz pepto@jabber.ff3l.net
Heinz Knies degrtbw@jabber.ff3l.net
Puppet Team puppet-team@jabber.ff3l.net Git Broadcast Service
Julian d3dx9@jabber.ff3l.net