Viele von uns benutzen Gtalk o Facebook Chat ohne zu wissen, dass das Protokoll, mit dem wir kommunizieren, kein anderes ist als XMPP (Erweiterbares Messaging- und Präsenzprotokoll) das ist auch offen.
En GNU / Linux Wir haben mehrere Anwendungen, um unseren eigenen Server einzurichten XMPP o quasseln wie es auch bekannt ist, sind einige bei der Konfiguration komplizierter als andere. Zum Beispiel haben wir Ejabberd, das ist ganz einfach und leicht, aber wenn wir viel mehr optimieren wollen, haben wir Prosodie.
Dann verlasse ich dich ein Artikel veröffentlicht in GUTL von einem unserer Benutzer (Hugo) und wo er uns zeigt, wie wir unseren eigenen Server konfigurieren XMPP mit Prosodie.
Einführung
Bei der Installation eines XMPP-Servers (Jabber) für interne Nachrichten in einem lokalen Netzwerk wählen viele Jabber, Ejabberd oder Openfire. Obwohl diese Anwendungen funktionsfähig sind, können sie eine Menge Ressourcen erfordern.
Wenn Sie ein kleines oder mittleres Netzwerk haben und nur einen einfachen Instant Messaging-Dienst möchten, gibt es glücklicherweise eine leichtgewichtige Serveralternative namens Prosody, die, obwohl sie in LUA programmiert ist, einer interpretierten Sprache, laut ihren Entwicklern sehr gut funktioniert, danke zu luajit.
In diesem kurzen Tutorial wird erklärt, wie Prosodie auf Debian Stable installiert und konfiguriert wird.
Vorbereitungen und Installation
Prosody-Pakete befinden sich im Debian-Repository, aber die Entwickler dieser Software haben ein Repository für Debian und Derivate vorbereitet, das aktuelle Pakete und zusätzliche Module enthält, die wir wie folgt verwenden können:
echo "deb http://packages.prosody.im/debian Stable Main" | sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add - sudo aptitude update
Sobald das Repository hinzugefügt wurde, können wir mit der Installation der Prosodie fortfahren (zusätzlich werden zu verwendende Module hinzugefügt sasl
bei Bedarf als Authentifizierungsmechanismus, der die Integration von Prosodie in ermöglicht pam
, LDAPUsw.).
sudo aptitude installiere sasl2-bin libsasl2-modules-ldap prosody liblua5.1- {sec0, cyrussasl0, event-prosody0}
Anschließend generieren wir selbstsignierte Zertifikate für unsere Domain:
cd / etc / prosody / certs sudo openssl req -new -x509 -days 1095 -nodes -out "mydomain.cu.cert" -keyout "mydomain.cu.key"
Der Assistent fragt uns nach einer Reihe von Daten, von denen der wirklich wichtige „Common Name (z. B. Server) ist FQDN oder IHR Name) “, wo wir unsere Domain platzieren müssen, da wir sie im Abschnitt verwenden werden VirtualHost Konfigurationsdatei.
Außerdem haben wir auf dem Server, auf dem wir Prosody installieren, konfiguriert iptables
Bei Standard-Verweigerungsrichtlinien müssen wir die erforderlichen Ports für unser Netzwerk öffnen, zum Beispiel:
sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A INPUT -i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m state --state ESTABLISHED, RELATED -j ACCEPT sudo iptables -A INPUT - i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m Multiport --dports 5222,5223,5269 -m state --state NEW -j ACCEPT
Konfiguration
Als Nächstes ändern wir einige Zeilen der Konfigurationsdatei, für die wir sie bearbeiten müssen /etc/prosody/prosody.cfg.lua
so sieht es also aus:
-
ports = {5222, 5269} ssl_ports = {5223} admins = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - Die Standardoption basiert auf der Funktion select (). Stattdessen verwendet libevent epoll (), das effizienter und skalierbarer ist. modules_enabled = {"Dienstplan"; "saslauth"; "tls"; "Dialback"; "Scheibe"; "Privat"; "vcard"; "Privatsphäre"; "Kompression"; "Legacyauth"; "Ausführung"; "Betriebszeit"; "Zeit"; "Klingeln"; "Pep"; "registrieren"; - Deaktivieren Sie dieses Modul nicht, es ermöglicht nicht nur die Registrierung, sondern auch das Ändern von "Ad-hoc" -Kennwörtern. "admin_adhoc"; "posix"; "bosh"; - Fügen Sie diese Zeile hinzu, wenn Sie Jabber über http} aktivieren möchten. allow_registration = false; - aus Sicherheitsgründen deaktiviert - Wechseln Sie zu true, wenn Sie die Erstellung von Konten auf dem Client selbst aktivieren möchten. ssl = {key = "/etc/prosody/certs/localhost.key"; certificate = "/etc/prosody/certs/localhost.cert"; } storage = "intern"; - Der Standardspeicher ist eine XML-Datei. Optional können wir die Speichermethode "SQL" verwenden. Dies ermöglicht die Verwendung von SQLite, MySQL oder PostgreSQL als Backend (obwohl bestimmte Parameter hinzugefügt werden müssen). Authentication = "internal_hashed"; - Wir können "internal_plain" verwenden, wenn der Client SCRAM-SHA-1 nicht unterstützt. - Wenn wir die sasl-Methode verwenden möchten, um später LDAP zu verwenden, müssen wir "cyrus" log = {error = "/ var / log / prosody verwenden / prosody. err "; info = "/var/log/prosody/prosody.log"; } pidfile = "/var/run/prosody/prosody.pid"; VirtualHost "localhost" VirtualHost "mydomain.cu" ssl = {key = "/etc/prosody/certs/mydomain.cu.key"; certificate = "/etc/prosody/certs/mydomain.cu.crt"; }}
Sobald die Konfigurationsdatei geändert wurde, starten wir den Dienst neu:
Sudo Service Prosodie subtrahieren
Nun werden wir die Konten erstellen. In diesem Fall müssen, wie in der Konfigurationsdatei, die Registrierung von den Clients deaktiviert werden, die Konten manuell auf dem Server erstellt werden. Die Authentifizierungsmethode, die wir in der Konfiguration auswählen (internal_hashed), bewirkt, dass die Kennwörter nicht klar, sondern mit dem Mechanismus gespeichert werden SCRAM-SHA-1
. Wenn der von uns beabsichtigte Messaging-Client diesen Mechanismus nicht unterstützt, kann in der Konfiguration die Methode "internal_plain" verwendet werden.
Zuerst erstellen wir die Konten der Administratoren des Dienstes, die wir in der Konfiguration deklarieren (ihre Deklaration bedeutet nicht, dass sie automatisch erstellt werden):
sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu
Wir können denselben Befehl für jedes andere Konto verwenden, das wir erstellen möchten.
Schließlich überprüfen wir, ob der Dienst ausgeführt wird:
Sudo Prosodyctl Status
Wir sollten eine Nachricht wie die folgende erhalten:
Prosody läuft mit PID 1310
Client-Konfiguration
Die Konfiguration hängt vom Client ab, aber im Allgemeinen sind die Details einfach. Zum Beispiel für Pidgin:
Registerkarte "Basic"
Benutzername: John
Domain: mydomain.cu
Berufung: PC-Juan
Registerkarte "Erweitert"
Verbindungssicherheit: Verwenden Sie nach Möglichkeit eine Verschlüsselung
Verbindungsport: 5222
Verbinden zum Server: myserver.mydomain.cu
Aufzeichnungen
Weitere Informationen finden Sie (einschließlich der Verwendung von Cyrus SASL mit LDAP und wie man Einträge erstellt aus DNS) in dieser Artikel aus dem Debian Wiki.
Ein Benutzer kommentiert über DesdeLinux das, um den Dienst, den Sie ausführen mussten, wirklich zu stoppen pkill lua5.1
Ich mag es ... mal sehen, ob ich OpenFire ein für alle Mal für ejabberd oder diese Prosodie 🙂 ändere
Genau dafür mache ich schon die Tests in VirtualBox .. denn wenn wir auf dich warten, mein Sohn .. ¬¬
^ - ^ U ... hehe ...
Jetzt sende ich ein Ticket an den Hosting-Anbieter und frage nach dem DNS-Eintrag, den wir zum Entfernen des "Jabbers" benötigen .______
Okay. Jabber, IRC, Facebook, Gtalk, ich weiß nicht wie oder wo, aber verbinde mich ..
Wie ist die Integration der Prosody in LDAP? und der BD?
So geht's: http://blog.marc-seeger.de/2009/12/30/setting-up-prosody-to-authenticate-against-ldap/
ein paar bilder für weniger sachkundige wären nicht schlecht ^. ^
Zu Hause habe ich Prosodie, ich habe es zum Testen installiert und es hat mir wegen seiner Einfachheit gefallen. Ein Detail beim Stoppen des Servers Ich muss ein pkill lua5.1 machen, um es wirklich zu stoppen.
Wow, das ist interessant. Gibt es eine Möglichkeit, wie andere Benutzer über eine GUI Benutzer erstellen können (möglicherweise Web)? Wie würden Sie eine Domain dazu bringen, sie zu nutzen? 😛
Sie aktivieren die Registrierung in der Konfiguration und von demselben Client-Jabber aus werden sie registriert, indem Sie die Option zum Erstellen eines Kontos auf dem Server aktivieren.
allow_registration = wahr;
Ich suche nach Prosodie-Paketen in Slackware, ein exzellentes Tutorial. Prost
Wie kann ich überprüfen, ob ein Benutzer sich authentifizieren konnte? oder wie kann ich wissen, ob ein Benutzer mit dem Server verbunden ist?
Es ist mir gelungen 😀 Ich konnte es richtig installieren und konfigurieren. Installieren Sie den Server auf einem PC und der Client ist ein anderer PC. aber ich habe ein Problem. Damit der Client weiß, dass mein Server mit der Domain (medellinlibre.org) LOCAL ist. Ich muss der Hosts-Datei IPDELSERVIDOR medellinlibre.org hinzufügen. Wenn nicht, wird aus offensichtlichen Gründen keine Verbindung hergestellt. Meine Frage ist, ob es nicht möglich ist, dass alle PCs im Netzwerk standardmäßig wissen, dass sich diese Domäne unter einer bestimmten IP-Adresse im LAN befindet.
gleicher Zweifel! Wusstest du am Ende? Ich fange mit Prosodie an ...
Ganz einfach: Geben Sie im Pidgin die IP-Adresse des Servers in den erweiterten Optionen an. Die andere Option besteht darin, eine DNS in Ihrem LAN bereitzustellen.
Dieses Thema ist sehr interessant und ich wollte wissen, ob Prosody Websockets unterstützt. Ich bin daran interessiert, einen xmpp-Webclient zu erstellen
Sie konnten das sehen. http://code.google.com/p/xmppwebchat/
Hallo, haben Sie keine Version des Tutorials mit einer Konfiguration, die nur für ein inländisches Intranet vorgesehen ist? Keine Domain oder ähnliches. kaum so, dass nur 1 Computer mit Liñux ein Server ist und die anderen Computer, die eine Verbindung herstellen
Es ist nur möglich, über Pidgin zwischen den Computern im Intranet zu chatten.