Month: October 2009

Multi User Conferencing (MU-Konferenz) für Jabber (Jabberd2)

Multi User Conferencing (MU-Konferenz) für Jabber (Jabberd2)

Einführung ~

Finden Sie in der folgenden Artikel / configure Jabberd2 installieren …

http://www.indiangnu.org/2009/how-to-configure-jabber-jabberd2-with-mysqlpam-as-auth-database/

Requirement ~

* Folgende Pakete sind erforderlich, um zu kompilieren MU-Konferenz …

root @ laptop: ~ # apt-get install libglib2.0-0 libglib2.0-dev
root @ laptop: ~ # apt-get install libidn11 libidn11-dev
root @ laptop: ~ # apt-get install expat lib64expat1 lib64expat1-dev libexpat1-dev liblua5.1-expat-dev liblua5.1-expat0

Schritt 1] Wie kompilieren “MU-Conference” —

* Download “MU-Konferenz” von folgender URL – https: / / gna.org / projects / mu-Konferenz /

root @ laptop: / var / src # wget-c http://download.gna.org/mu-conference/mu-conference_0.8.tar.gz
root @ laptop: / var / src # tar xvfz mu-conference_0.8.tar.gz
root @ laptop: / var / src # cd mu-conference_0.8 /
root @ laptop: / var/src/mu-conference_0.8 #

* MU compile-Konferenz

root @ laptop: / var/src/mu-conference_0.8 make #
cd src / make;
make [1]: Leaving directory `/ var/src/mu-conference_0.8/src”
cd jabberd; machen
make [2]: Leaving directory `/ var/src/mu-conference_0.8/src/jabberd”

… ..

root @ laptop: / var/src/mu-conference_0.8 # echo $?
0
root @ laptop: / var/src/mu-conference_0.8 #

Schritt 2] Configure MU-Konferenz —

* Kopieren Sie nun die “MU-Konferenz” Binär-zu Jabberd2 Installations-Verzeichnis —

root @ laptop: ~ # cp / var/src/mu-conference_0.8/src/mu-conference / usr/local/jabberd-2.2.9/bin /
root @ laptop: ~ # chown jabber: jabber / usr/local/jabberd-2.2.9/bin/mu-conference
root @ laptop: ~ # ls-l / usr/local/jabberd-2.2.9/bin/mu-conference
-rwxr-xr-x 1 Jabber Jabber 191904 2009-10-12 18:59 / usr/local/jabberd-2.2.9/bin/mu-conference
root @ laptop: ~ #

root @ laptop: ~ # / usr/local/jabberd-2.2.9/bin/mu-conference-help
Jabber Component Runtime – 0.2.4
(c) 2003-2004 Paul Curtis

/ usr/local/jabberd-2.2.9/bin/mu-conference: ungültige Option – ‘-‘
Nutzung: mu-Konferenz [-B] [-s] [-h] [-d LEVEL]-c FILE
B-Put der Dämon im Hintergrund
-s Karte Debugmeldungen auf stderr
-h Print this help
d-LEVEL Festlegen der Debug-Ausgabe
-c FILE Legen Sie die Konfigurationsdatei, obligatorische Argument
root @ laptop: ~ #

* Spool-Verzeichnis erstellen “MU-Konferenz”. Die mu-Konferenz Komponente erfordert ein Spool-Verzeichnis auf, in dem Konferenzraum Informationen zu speichern.

root @ laptop: ~ # mkdir / usr/local/jabberd-2.2.9/var/spool
root @ laptop: ~ # chown jabber: jabber / usr/local/jabberd-2.2.9/var/spool

HINWEIS ~ “jabber: jabber” user / group Namen Jabberd2 Server.

* Kopieren Sie die Konfigurationsdatei von “MU-Konferenz” Jabberd2 Installations-Verzeichnis und bearbeiten Sie diese Einstellung —

root @ laptop: ~ # cp / var/src/mu-conference_0.8/muc-default.xml / usr/local/jabberd-2.2.9/etc/mu-conference.xml
root @ laptop: ~ # chown jabber: jabber / usr/local/jabberd-2.2.9/etc/mu-conference.xml
root @ laptop: ~ #

root @ laptop: ~ # vi / usr/local/jabberd-2.2.9/etc/mu-conference.xml

<name> conf.laptop.ubuntu.me </ name>
<host> conf.laptop.ubuntu.me </ host>
<ip> localhost </ ip>
<port> 5347 </ port>
<secret> secret </ secret>

<spool> / usr/local/jabberd-2.2.9/var/spool </ spool>
<logdir> / usr/local/jabberd-2.2.9/var/log </ logdir>
<pidfile> / usr/local/jabberd-2.2.9/var/run/mu-conference.pid </ pidfile>

<loglevel> 255 </ loglevel>

<sadmin>
<user> admin@laptop.ubuntu.me </ user>
</ sadmin>


… ..
root @ laptop: ~ #

* Jetzt starten Sie den Jabberd2-Server und starten Sie dann “MU-Konferenz” …

root @ laptop: ~ # su-l jabber-s / bin / bash-c “/ usr/local/jabberd-2.2.9/bin/mu-conference-B-c / usr/local/jabberd-2.2.9 / etc / mu-conference.xml ”
root @ laptop: ~ #

* Bitte obigen Artikel, init Startskript bedeutet ‘check / etc/init.d/jabberd2’ werden mu Start-Konferenz.

root @ laptop: ~ # tail-f / usr/local/jabberd-2.2.9/var/log/mu-conference.log
Mon Oct 12 19:19:40 2009 main.c: 168 (main): Jabber Component Runtime – 0.2.4 ab.
Mon Oct 12 19:19:40 2009 MU-Konferenz: [conference.c: 1076 (Konferenz)] mu-Konferenz geladen – Service ID: conf.laptop.ubuntu.me

Mon Oct 12 19:19:40 2009 MU-Konferenz: [conference.c: 1157 (Konferenz)] Adding sadmin admin@laptop.ubuntu.me
Mon Oct 12 19:19:40 2009 MU-Konferenz: [xdb.c: 319 (xdb_rooms_get)] gebeten, ab xdb erhalten
Mon Oct 12 19:19:40 2009 MU-Konferenz: [xdb.c: 418 (xdb_rooms_get)] Skipping .. keine Ergebnisse
Mon Oct 12 19:19:40 2009 main.c: 219 (main): Main-Schleife ab.
Mon Oct 12 19:19:40 2009 jcr_base_connect.c: 34 (jcr_socket_connect): Der Versuch, Verbindung zu localhost: 5347
Mon Oct 12 19:19:40 2009 jcr_base_connect.c: 87 (jcr_send_start_stream): Öffnen von XML-Stream: sent 173 bytes
Mon Oct 12 19:19:40 2009 jcr_main_stream_error.c: 50 (jcr_main_new_stream): Server-Stream verbunden.
Mon Oct 12 19:19:40 2009 jcr_deliver.c: 51 (jcr_queue_deliver): Packet Delivery Thread gestartet.

Fertig!

Schritt 3] Test “MU-Conference” —

* In “PSI”-IM-Client, lese “General”-Menü und klicken Sie dann auf “Service Discovery” und überprüfen Sie die Raum-Liste …
* In “Pidgin” IM-Client, lese “Extras” und klicken Sie auf ‘Room List’ Abschnitt.

Sobald Sie entdeckte die “mu-Konferenz”-Server. Bitte klicken Sie auf “+ Add Chat” von “Menü” Freunde “von Pidgin. Im Falle von PSI klicken Sie auf ‘Join Gruppenchat’ aus dem Menüpunkt “Allgemein”, um “Seminar / Zimmer” und nehmen dann die “Confernece Room ‘.

Genießen,
Arun Bagul

Wie konfiguriert man Jabber (jabberd2) mit MySQL-Datenbank als PAM auth

Wie konfiguriert man Jabber (jabberd2) mit MySQL-Datenbank als PAM auth

Einführung —

XMPP-Protokoll basiert jabberd2 Instants Messaging (IM)-Server. Jabberd2 ist hoch skalierbar, leistungsstarken Serverlösungen jabber. Die Schönheit der jabberd2 Architektur liegt in der Tatsache, dass die Komponenten-Architektur verteilt in sechs Komponenten, von denen jeder kommuniziert über TCP / IP.

1) Router – ist das Rückgrat der Jabber-Server. Es nimmt die Verbindungen von jabberd Komponenten und übergibt XML-Pakete zwischen den Komponenten
2) Server to Server (S2S) – Komponente wickelt die Kommunikation mit den externen Servern. S2S geht Pakete zwischen anderen Komponenten und externen Servern, und er führt Dial-Back auf Remote-Jabber-Server zu authentifizieren.

3) Resolve – Handlungen zur Unterstützung der S2S-Komponente. Sie löst Hostnamen für S2S-Authentifizierung als Teil des dialback.
4) Session Manager (SM) – Komponente implementiert Instant-Messaging-Funktionen wie Message-Passing, Präsenz, Dienstplan und Abo etc. + DB-Verbindung
5) Client zum Server (C2S) – Komponente wickelt die Kommunikation mit Jabber-Clients wie Zusammenhang, vorbei Pakete an SM, Benutzer zu authentifizieren und zu registrieren.
6) Jabber-core – Dritter Plug-in-Protokollierung und Kommunikation.

** Um kompilieren / installieren jabberd-2.2.9 benötigen wir folgende Pakete für Debian / Ubuntu (wie auf Redhat / Fedora oder andere OS)

– Libpam0g libpam0g-dev (PAM-Unterstützung)
– OpenSSL libssl-dev (TLS / SSL-Unterstützung)
– Libudns0 libudns-dev (DNS-Resolver-Bibliothek)
– Libidn11 libidn11-dev-libidn libnet-perl (libidn sorgt für die nötige Funktionalität für String-Manipulation jabberd2)
– Mysql-common-perl libdbd-mysql-5.1 mysql-server mysql-client-5.1 libmysqlclient16-dev (MySQL DB-Authentifizierung)

** Jabberd2 unterstützt fünf Authentifizierung (Benutzer)-Mechanismus —

* PAM
* MySQL-Datenbank
* Berkeley DB
* PostgreSQL Datenbank
* SQLite DB
* OpenLDAP

** Im Anschluss werden die Häfen von jabberd2 verwendet —
* Port 5222 – Nicht-SSL-Client-Verbindung
* Port 5223 – SSL-Client-Verbindung
* Port 5269 – Server zu Server Verbindung
* Port 5347 – Router jabberd2

Schritt 1] Neues System für Benutzer und Gruppen für jabberd 2 Server (http://codex.xiaoka.com/wiki/jabberd2:start) —

root @ laptop: ~ # addgroup-System jabber
Hinzufügen Gruppe “jabber ‘(GID 61) …
Getan.
root @ laptop: ~ #

root @ laptop: ~ # adduser-system-home / usr/local/jabberd-2.2.9 /-Shell / bin / false-gid 61 jabber

* Überprüfen Sie Benutzer-und Gruppen-System … (Schritte für Ubuntu)

root @ laptop: ~ # id jabber
uid = 125 (Jabber) gid = 61 (Jabber) groups = 61 (Jabber)
root @ laptop: ~ #

Schritt 2] Download der neuesten Version von jabberd2 —

* Auszug der Quelle dann kompilieren / installieren Sie sie wie folgt mit PAM / MySQL-Datenbank für die Authentifizierung mit SSL gezeigt

root @ laptop: / var / src / # wget-c http://codex.xiaoka.com/pub/jabberd2/releases/jabberd-2.2.9.tar.bz2

root @ laptop: / var / src # tar xvfj jabberd-2.2.9.tar.bz2

root @ laptop: / var / src # cd jabberd-2.2.9

root @ laptop: / var/src/jabberd-2.2.9 #. / configure-prefix = / usr/local/jabberd-2.2.9 /-enable-debug-enable-mysql-enable-ssl-enable-pam-enable -ssl

… ..
checking for Libidn Version> = 0.3.0 … ja
checking for dns_init in ludns … ja
usability … yes checking gsasl.h
Präsenz … yes checking gsasl.h
yes checking for gsasl.h …
checking for gsasl_check_version in lgsasl … ja
checking for GnuSASL Version> = 0.2.27 … nein
configure: error: no SASL-Backend zur Verfügung von: gsasl
root @ laptop: / var/src/jabberd-2.2.9 #

Schritt 3] Facing Problem wie “configure: error: no SASL-Backend zur Verfügung von: gsasl” ~

Sorgen Sie sich nicht die neueste Version der Bibliothek von gsasl URL ~ http://alpha.gnu.org/gnu/gsasl/

* Download der aktuellen Version von GNU SASL (gsasl) …

root @ laptop: / var / src / # wget-c http://alpha.gnu.org/gnu/gsasl/gsasl-0.2.29.tar.gz

* Auszug der Quelle kompilieren Sie dann / install it …

root @ laptop: / var / src # tar xvfz gsasl-0.2.29.tar.gz
root @ laptop: / var / src # cd gsasl-0.2.29 /
root @ laptop: / var/src/gsasl-0.2.29 #. / configure-prefix = / usr / local / gsasl /
root @ laptop: / # make var/src/gsasl-0.2.29
root @ laptop: / var/src/gsasl-0.2.29 # make install
root @ laptop: / var/src/gsasl-0.2.29 #

* Überprüfen Sie die “gsasl”-Version

root @ laptop: / var/src/gsasl-0.2.29 # / usr / local / gsasl / bin / gsasl-Version
gsasl (GNU SASL) 0.2.29
Copyright (C) 2008 Simon Josefsson.
Lizenz GPLv3 +: GNU GPL Version 3 oder höher <http://gnu.org/licenses/gpl.html>
Dies ist freie Software: Sie sind frei zu ändern, und es neu zu verteilen.
Es gibt keine Garantie, soweit dies gesetzlich zulässig ist.

Geschrieben von Simon Josefsson.
root @ laptop: / var/src/gsasl-0.2.29 #

Schritt 4] Zurück zu jabberd2 Quelle und der Kompilierung starten / installieren, wie in unten —

root @ laptop: / var/src/jabberd-2.2.9 #. / configure-prefix = / usr/local/jabberd-2.2.9 /-enable-debug-enable-mysql-enable-ssl-enable-pam-enable -ssl-with-extra-include-path = / usr / local / gsasl / include /-with-extra-library-path = / usr / local / gsasl / lib /
root @ laptop: / # make var/src/jabberd-2.2.9
root @ laptop: / var/src/jabberd-2.2.9 # make install

** Protokoll erstellen und Runtime-Verzeichnisse ~

root @ laptop: / usr/local/jabberd-2.2.9 # mkdir / usr/local/jabberd-2.2.9/var
root @ laptop: / usr/local/jabberd-2.2.9 # mkdir / usr/local/jabberd-2.2.9/var/run

root @ laptop: / # ls-l usr/local/jabberd-2.2.9
insgesamt 20
drwxr-xr-x 2 Jabber Jabber 4096 2009-10-11 18:21 bin
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:21 etc
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:21 lib
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:21 Aktien
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:42 var
root @ laptop: / usr/local/jabberd-2.2.9 #

Schritt 5] jabberd-2.2.9 Konfigurieren ~

* Setup (jabberid@laptop.ubuntu.me) Domain Name (Hostname des Servers), IP-Adresse, Port-und Log-Einstellung im Client (c2s.xml) & Server (sm.xml) Konfigurationsdatei —

HINWEIS ~ Domain Name nicht notwendig zu sein Hostname des Servers ab. Aber es sollte aufgelöst werden kann (DNS) zu einer der IP des Servers ab.

root @ laptop: / # hostname usr/local/jabberd-2.2.9
laptop.ubuntu.me
root @ laptop: / usr/local/jabberd-2.2.9 #

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/sm.xml

<pidfile> / usr/local/jabberd-2.2.9/var/run/sm.pid </ pidfile>

node_id laptop.ubuntu.me </ id>

<ip> 0.0.0.0 </ ip> <! – Standard: 127.0.0.1 ->
<port> 5347 </ port> <! – Standard: 5347 ->

<Logo type=’file’>
<file> / usr/local/jabberd-2.2.9/var/log/sm.log </ file>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/c2s.xml

<pidfile> / usr/local/jabberd-2.2.9/var/run/c2s.pid </ pidfile>

** Um die automatische Registrierung zu ermöglichen (in c2s.xml Datei “Register-enable = ‘true’ erforderlich ist)
<id register-enable=’true’> laptop.ubuntu.me </ id>

<ip> 0.0.0.0 </ ip>
<port> 5222 </ port>

<Logo type=’file’>
<file> / usr/local/jabberd-2.2.9/var/log/c2s.log </ file>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/s2s.xml

<pidfile> / usr/local/jabberd-2.2.9/var/run/s2s.pid </ pidfile>
<Logo type=’file’>
<file> / usr/local/jabberd-2.2.9/var/log/s2s.log </ file>

Schritt 6] jabberd-2.2.9 Konfigurieren für die Speicherung und Authentifizierung 9using MySQL DB) —

* Stellen Sie sicher, dass Datenbank “jabberd2” nicht vorhanden (falls vorhanden db entweder löschen oder zu ändern DB-Name in setup.mysql db-Datei). Ist dies nicht der MySQL DB Export-Dump von jabberd2 Quelle … ..

root @ laptop: / usr/local/jabberd-2.2.9 # mysql-u root-p </ var/src/jabberd-2.2.9/tools/db-setup.mysql
Passwort:
root @ laptop: / usr/local/jabberd-2.2.9 # mysql-u root-p
Passwort:
Willkommen in der MySQL-Monitor. Commands end with; or \ g.
Ihre MySQL-Verbindungs-ID ist 176
Server Version: 5.1.31-1ubuntu2 (Ubuntu)

Type ‘help;’ or ‘\ h’ for help. Type ‘\ c’, um den Puffer.

mysql> SHOW DATABASES;
+————+
| Datenbank |
+————+
| INFORMATION_SCHEMA |
| Jabberd2 |
| Mysql |
+————+
3 rows in set (0.00 sec)

mysql> use jabberd2;
Lesetisch Informationen für den Abschluss der Tabellen-und Spaltennamen
Sie können diese Funktion abschalten, um eine schnellere Inbetriebnahme mit GET-A

Database changed
mysql> show tables;
+——-+
| Tables_in_jabberd2 |
+——-+
| Aktiv |
| Authreg |
| Disco-Artikel |
| Logout |
| Motd-Nachricht |
| Motd-mal |
| Privacy-Standard |
| Privacy-Produkten |
| Private |
| Queue |
| Roster-Gruppen |
| Roster-Artikel |
| Status |
| Reisen-Einstellungen |
| VCard |
+——-+
15 rows in set (0.00 sec)

mysql>

* Erstellung von MySQL-Benutzer für jabberd2 dh “jabberd2 ‘mit Zugang zum DB” jabberd2 —

mysql> GRANT select, insert, delete, update ON jabberd2 .* to ‘jabber’ @ ‘localhost’ identified by ‘mypassword’;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Tschüss
root @ laptop: / usr/local/jabberd-2.2.9 #

* Verifizieren Sie nun Zugriff auf DB ~

root @ laptop: / usr/local/jabberd-2.2.9 # mysql-u-p jabberd2
Passwort:
Willkommen in der MySQL-Monitor. Commands end with; or \ g.
Ihre MySQL-Verbindungs-ID ist 178
Server Version: 5.1.31-1ubuntu2 (Ubuntu)

Type ‘help;’ or ‘\ h’ for help. Type ‘\ c’, um den Puffer.

mysql> SHOW DATABASES;
+——-+
| Datenbank |
+——-+
| INFORMATION_SCHEMA |
| Jabberd2 |
+——-+
2 rows in set (0.00 sec)

mysql> quit
Tschüss
root @ laptop: / usr/local/jabberd-2.2.9 #

Schritt 7] Ändern c2s.xml und sm.xml Konfigurationsdatei für MySQL-DB-Unterstützung —

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/c2s.xml

<! – Authentifizierung / Registrierung Datenbank-Konfiguration ->
<authreg>

<! – Backend-Modul zu verwenden ->
<module> mysql </ module>

<! – MySQL-Modul-Konfiguration ->
<mysql>
<! – Datenbank-Server Host und Port ->
<host> localhost </ host>
<port> 3306 </ port>

<! – Name der Datenbank ->
<dbname> jabberd2 </ dbname>
<! – Datenbank Benutzername und Passwort ->
<user> jabberd2 </ user>
<pass> mypassword </ pass>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/sm.xml

<! – Storage Datenbank-Konfiguration ->
<storage>
<! – Dynamic Storage Module Pfad ->
<path> / usr/local/jabberd-2.2.9/lib/jabberd </ path>

<! – Standardmäßig verwenden wir die SQLite-Treiber für alle Speicher ->
<driver> mysql </ driver>

<! – MySQL-Treiber-Konfiguration ->
<mysql>
<! – Datenbank-Server Host und Port ->
<host> localhost </ host>
<port> 3306 </ port>

<! – Name der Datenbank ->
<dbname> jabberd2 </ dbname>
<! – Datenbank Benutzername und Passwort ->
<user> jabberd2 </ user>
<pass> mypassword </ pass>

** Um die automatische Registrierung zu ermöglichen (in sm.xml-Datei)

<auto-create/>

————

HINWEIS ~ Es reicht nicht aus, um Nutzer auf die “authreg ‘table Da dies nur stellt Benutzern, die C2S-Komponente, aber nicht an die SM-Komponente hinzufügen. Richtigen Einsendungen werden in der “aktive” Tabelle als auch erforderlich. Am besten ist es ein Jabber-Client verwenden, um Benutzer zu registrieren.

Schritt 8] Let’s start jabberd-2-Server (Test-Konfiguration) —

root @ laptop: ~ # su jabber-l-s / bin / bash-c “/ usr/local/jabberd-2.2.9/bin/jabberd-b”
root @ laptop: ~ #

* Prüfen Sie, ob Ports offen sind oder nicht

root @ laptop: ~ # netstat-nlp

Proto Recv-Q Send-Q Local Address Foreign Address State PID / Program name
tcp 0 0 0.0.0.0:5347 0.0.0.0: * LISTEN 31662/router
tcp 0 0 0.0.0.0:5222 0.0.0.0: * LISTEN 13883/c2s
tcp 0 0 127.0.0.1:3306 0.0.0.0: * LISTEN 2892/mysqld
tcp 0 0 0.0.0.0:5269 0.0.0.0: * LISTEN 13886/s2s

… ..

root @ laptop: ~ #

** Jetzt Registrieren Sie den Benutzer “jabberd@laptop.ubuntu.me” und Passwort “secret” mit Jabber IM-Client

root @ laptop: / usr/local/jabberd-2.2.9 # tail-f var/log/c2s.log

Mon Oct 12 00:43:15 2009 [notice] [8] Registrierung gelungen, anfragenden Nutzers Erstellungsjahr: jid = jabberd@laptop.ubuntu.me
Mon Oct 12 00:43:15 2009 [notice] [8] SASL Authentifizierung gelungen: Mechanismus = DIGEST-MD5; authz = jabberd@laptop.ubuntu.me
Mon Oct 12 00:43:15 2009 [notice] [8] gebunden: jid = jabberd@laptop.ubuntu.me / Telepathie
Mon Oct 12 00:44:20 2009 [notice] [9] [192.168.0.1, Port = 48307] in Verbindung zu treten

* Überprüfen DB Eintrag —

mysql> SELECT * FROM aktiv;
+———+——+—-+
| Collection-besitzer | Objekt-Sequenz | Zeit |
+———+——+—-+
| Jabberd@laptop.ubuntu.me | 1 | 1255288395 |
+———+——+—-+
1 row in set (0.00 sec)

mysql> SELECT * FROM authreg;
+—-+——+—-+
| Benutzername | Reich | Passwort |
+—-+——+—-+
| Jabberd | laptop.ubuntu.me | Geheimnis |
+—-+——+—-+
1 row in set (0.00 sec)

mysql>

=> Prüfung erfolgreich abgeschlossen ….

Schritt 9] jabberd2 Konfigurieren für SSL / TLS-Verbindungen —

Let’s konfigurieren jabberd2 für SSL / TLS-Verbindung. Jabberd2 wurde entwickelt, um für die Bereitstellung von SSL / TLS-Verbindungen nicht nur zwischen Jabber-Clients und dem Server, sondern auch zwischen den jabberd-Server-Komponenten (sm, s2s und C2S) und die jabberd Router. Eine einzige SSL-Zertifikat kann für diese beiden Funktionen (und Jabber-Client verwendet werden, um jabberd Komponente Router jabberd) oder zwei separate Tasten verwendet werden.

* Generieren selbst signierten SSL-Zertifikat …

root @ laptop: / usr/local/jabberd-2.2.9 openssl req-new-x509-newkey rsa: 1024-days 365-out-keyout privkey.pem server.pem
Erstellen eines 1024-Bit-RSA-Schlüssel
.++++++
… .. ++++++
schriftlich neuen privaten Schlüssel zu “privkey.pem”
Enter PEM pass phrase:
….
Common Name (eg, YOUR name) []: laptop.ubuntu.me
root @ laptop: / usr/local/jabberd-2.2.9 #

* Entfernen Sie Kontrollwert aus privaten Schlüssel

root @ laptop: / usr/local/jabberd-2.2.9 # openssl rsa-in-out privkey.pem privkey.pem

** Kombinieren Sie die privaten und öffentlichen Schlüssel, und löschen Sie private Schlüssel

root @ laptop: / # cat usr/local/jabberd-2.2.9 privkey.pem>> server.pem

root @ laptop: / # rm usr/local/jabberd-2.2.9 privkey.pem

* Ändern Sie die Berechtigung …

root @ laptop: / usr/local/jabberd-2.2.9 # chown jabber: jabber / usr/local/jabberd-2.2.9/server.pem
root @ laptop: / usr/local/jabberd-2.2.9 # ls-l / usr/local/jabberd-2.2.9
insgesamt 24
drwxr-xr-x 2 Jabber Jabber 4096 2009-10-11 22:17 bin
drwxr-xr-x 3 jabber jabber 4096 2009-10-12 01:03 etc
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 20:16 lib
-rw-r-r-1 jabber jabber 2217 2009-10-12 01:17 server.pem
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 20:16 Aktien
drwxr-xr-x 4 jabber jabber 4096 2009-10-12 00:20 var
root @ laptop: / usr/local/jabberd-2.2.9 #

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/c2s.xml
<ssl-port> 5223 </ ssl-port>
<pemfile> / usr/local/jabberd-2.2.9/server.pem </ pemfile>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/s2s.xml

<pemfile> / usr/local/jabberd-2.2.9/server.pem </ pemfile>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/sm.xml

<pemfile> / usr/local/jabberd-2.2.9/server.pem </ pemfile>

<pemfile> / usr/local/jabberd-2.2.9/server.pem </ pemfile>

** Neu, jetzt den Server neu starten und überprüfen Login …

root @ laptop: / usr/local/jabberd-2.2.9 # tail-f var/log/c2s.log

Mon Oct 12 01:28:57 2009 [notice] Verbindung zum Router eingerichtet
Mon Oct 12 01:28:57 2009 [notice] [0.0.0.0, port = 5222] auf Verbindungen wartet
Mon Oct 12 01:28:57 2009 [notice] [0.0.0.0, port = 5223] Hören für SSL-Verbindungen

* Bei der Registrierung user ~

1) Notwendig SSL / TLS
2) Force alte SSL (Port 5223)

Bitte beiden oben genannten Einstellung aktivieren und deaktivieren Sie “Allow plaintext auth unecrypted Streams

HINWEIS ~ Während loggen Sie sich zuerst Zeit (automatische Registrierung Modus) stellen Sie sicher, aktivieren Sie “Erstellen dieses neue Konto auf dem Server” checkbox in Pidgin (unten)

** Es funktioniert!

Schritt 10] init.d Startskript für jabberd2 und Mu-Konferenz —

root @ laptop: ~ # / etc/init.d/jabberd2 starten
Starten des Chat-Server jabberd2 …
Router 11.095 | 11.099 sm | s2s 11102 | C2S 11.106 | 11.149 mu-conf

Getan.
root @ laptop: ~ # / etc/init.d/jabberd2 Status
Jabberd2 Chat-Server-Status —
Router – 11095 | sm – 11.099 | s2s – 11102 | C2S – 11106 | 11149 mu-conf
root @ laptop: ~ #

* Überprüfen Sie nun Netzwerkeinstellungen …

root @ laptop: ~ # netstat-nlp

Proto Recv-Q Send-Q Local Address Foreign Address State PID / Program name
tcp 0 0 0.0.0.0:5347 0.0.0.0: * LISTEN 11095/router
tcp 0 0 0.0.0.0:5222 0.0.0.0: * LISTEN 11106/c2s
tcp 0 0 0.0.0.0:5223 0.0.0.0: * LISTEN 11106/c2s
tcp 0 0 127.0.0.1:3306 0.0.0.0: * LISTEN 2899/mysqld
tcp 0 0 0.0.0.0:5269 0.0.0.0: * LISTEN 11102/s2s

root @ laptop: ~ # / etc/init.d/jabberd2 stoppen
Stoping die jabberd2 IM Server …
Getan.
root @ laptop: ~ #

** Möchten Sie sehen, das Skript ~

root @ laptop: ~ # cat / etc/init.d/jabberd2
/ Bin / bash

# # Jabberd2 Chat-Server
# # Jabber User / Group – jabber / jabber
# # Befehl zum srart ~ su jabber-l-s / bin / bash-c “$ (base_path) / bin / jabberd-b”
# #
# C2S
Base_path = “/ usr/local/jabberd-2.2.9”
c2s_pid = “$ (base_path) / var/run/c2s.pid”
# S2s
s2s_pid = “$ (base_path) / var/run/s2s.pid”
# Sm
sm_pid = “$ (base_path) / var / run / sm.pid”
# Router
router_pid = “$ (base_path) / var / run / router.pid”
# Mu-Konferenz
mu_conf_pid = “$ (base_path) / var / run / mu-conference.pid”

case “$ 1” in

start)
# # Prüfung, ob jabberd2 läuft oder nicht
if [-f $ (c2s_pid)], dann
c2spid = $ (cat $ (c2s_pid))
echo “jabberd2 IM Server ~ C2S ‘ausgeführt wird (pid $ (c2spid))”
elif [-f $ (s2s_pid)], dann
s2spid = $ (cat $ (s2s_pid))
echo “jabberd2 IM Server ~ s2s ‘ausgeführt wird (pid $ (s2spid))”
elif [-f $ (sm_pid)], dann
smpid = $ (cat $ (sm_pid))
echo “jabberd2 IM Server ~ ‘sm’ ausgeführt wird (pid $ (smpid))”
elif [-f $ (router_pid)], dann
routerpid = $ (cat $ (router_pid))
echo “jabberd2 IM Server ~” Router “ausgeführt wird (pid $ (routerpid))”
sonst
echo “Starting die jabberd2 IM Server …”
jabber su-l-s / bin / bash-c “$ (base_path) / bin / jabberd-b”
jabber su-l-s / bin / bash-c “$ (base_path) / bin / mu-conference-B-c $ (base_path) / etc / mu-conference.xml”> / dev / null 2> & 1
echo “$ router (cat $ (router_pid)) | sm $ (cat $ (sm_pid)) | s2s $ (cat $ (s2s_pid)) | C2S $ (cat $ (c2s_pid)) | mu-conf $ (cat $ ( mu_conf_pid)) ”
echo “…”
echo “Done.”
fi
;;

stop)
echo “stoping die jabberd2 IM Server …”
if [-f $ (sm_pid)], dann
kill -9 $ (cat $ (sm_pid))
fi
if [-f $ (router_pid)], dann
kill -9 $ (cat $ (router_pid))
fi
if [-f $ (c2s_pid)], dann
kill -9 $ (cat $ (c2s_pid))> / dev / null 2> & 1
fi
if [-f $ (s2s_pid)], dann
kill -9 $ (cat $ (s2s_pid)) $ (cat $ (mu_conf_pid))> / dev / null 2> & 1
fi
# #
killall-9-u jabber
rm-f $ (router_pid) $ (sm_pid) $ (s2s_pid) $ (c2s_pid) $ (mu_conf_pid)> / dev / null 2> & 1
echo “Done.”
;;

Status)
echo “jabberd2 Chat-Server-Status -”
if [-f $ (c2s_pid)], dann
c2spid = $ (cat $ (c2s_pid))
fi
if [-f $ (s2s_pid)], dann
s2spid = $ (cat $ (s2s_pid))
fi
if [-f $ (sm_pid)], dann
smpid = $ (cat $ (sm_pid))
fi
if [-f $ (router_pid)], dann
routerpid = $ (cat $ (router_pid))
fi
if [-f $ (router_pid)], dann
als Mitarbeiter = $ (cat $ (mu_conf_pid))
fi
echo “Router – $ (routerpid) | sm – $ (smpid) | s2s – $ (s2spid) | C2S – $ (c2spid) | mu-conf $ (als Mitarbeiter)”
;;
*)
echo “Usage: $ 0 (start | stop | status)”
exit 1
esac
exit 0
# VORBEI
root @ laptop: ~ #

Danke,
Arun Bagul