Mange af os bruger Gtalk o Facebook Chat uden at vide, at den protokol, vi bruger til at kommunikere, er ingen ringere end XMPP (Protokol til udvidelse af beskeder og tilstedeværelse) som også er åben.
En GNU / Linux vi har flere applikationer til at oprette vores egen server XMPP o Jabber som det også er kendt, nogle mere komplicerede end andre ved konfiguration. For eksempel har vi det ejabberd, hvilket er ret simpelt og let, men hvis vi vil optimere meget mere, har vi det prosody.
Så forlader jeg dig en artikel offentliggjort i GUTL af en af vores brugere (Hugo), og hvor han viser os, hvordan vi konfigurerer vores egen server XMPP med prosody.
Indledning
Når du installerer en XMPP (Jabber) -server til intern besked på et lokalt netværk, vælger mange jabber, ejabberd eller openfire, men selvom de er funktionelle, kan disse applikationer kræve en masse ressourcer.
Hvis du har et lille eller mellemstort netværk og kun ønsker en simpel instant messaging-tjeneste, er der heldigvis et let serveralternativ kaldet prosody, som selv om det er programmeret i LUA, som er et fortolket sprog, ifølge dets udviklere fungerer det meget godt tak til luajit.
Denne korte vejledning forklarer, hvordan man installerer og konfigurerer prosody på Debian-stabil.
Forberedelser og installation
Prosody-pakker findes i Debian-arkivet, men udviklerne af denne software har forberedt et lager til Debian og derivater, der indeholder nylige pakker og yderligere moduler, som vi kan bruge som følger:
ekko "deb http://packages.prosody.im/debian stabil main" | sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add - sudo aptitude opdatering
Når arkivet er tilføjet, kan vi fortsætte med at installere prosody (derudover tilføje moduler til brug sasl
som en godkendelsesmekanisme, hvis det er nødvendigt, som gør det muligt at integrere prosody med pam
, LDAP, Etc.).
sudo aptitude installer sasl2-bin libsasl2-modules-ldap prosody liblua5.1- {sec0, cyrussasl0, event-prosody0}
Vi fortsætter derefter med at generere selvsignerede certifikater til vores domæne:
cd / etc / prosody / certs sudo openssl req -ny -x509-dage 1095 -noder -out "mydomain.cu.cert" -keyout "mydomain.cu.key"
Guiden beder os om en række data, hvoraf den virkelig vigtige er “Almindeligt navn (f.eks. Server FQDN eller DIT navn) ”hvor vi er nødt til at placere vores domæne, da vi vil bruge det i sektionen VirtualHost konfigurationsfil.
Derudover hvis vi er konfigureret på den server, hvor vi installerer prosody iptables
med standardafvisningspolitikker skal vi åbne de nødvendige porte til vores netværk, for eksempel:
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 tilstand --tilstand NY -j ACCEPT
konfiguration
Dernæst fortsætter vi med at ændre nogle linjer i konfigurationsfilen, som vi skal redigere for /etc/prosody/prosody.cfg.lua
så det ser sådan ud:
-
porte = {5222, 5269} ssl_ports = {5223} admins = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - standardindstillingen er baseret på select () -funktionen, i stedet bruger libevent epoll (), som er mere effektiv og skalerbar. modules_enabled = {"liste"; "saslauth"; "tls"; "dialback"; "disk"; "privat"; "vcard"; "privatliv"; "kompression"; "legacyauth"; "version"; "oppetid"; "tid"; "ping"; "pep"; "Tilmeld"; - deaktiver ikke dette modul, det tillader ikke kun at registrere, men også at ændre "adhoc" adgangskoder; "admin_adhoc"; "posix"; "bosh"; - tilføj denne linje, hvis du vil aktivere jabber over http}; allow_registration = false; - deaktiveret for sikkerhed - skift til sandt, hvis du vil aktivere oprettelse af konti fra selve klienten ssl = {key = "/etc/prosody/certs/localhost.key"; certifikat = "/etc/prosody/certs/localhost.cert"; } storage = "intern"; - standardlageret er en xml-fil - valgfrit kan vi bruge "sql" -lagringsmetoden - dette tillader brug af SQLite, MySQL eller PostgreSQL som en backend (selvom visse parametre skal tilføjes) authentication = "internal_hashed"; - vi kan bruge "internal_plain", hvis klienten ikke understøtter SCRAM-SHA-1 - hvis vi vil bruge sasl-metoden til senere at bruge LDAP, skal vi bruge "cyrus" log = {error = "/ var / log / prosody / 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"; certifikat = "/etc/prosody/certs/mydomain.cu.crt"; }
Når konfigurationsfilen er blevet ændret, genstarter vi tjenesten:
træk fra sudo service prosody
Nu fortsætter vi med at oprette kontiene. I dette tilfælde, som i konfigurationsfilen, deaktiverer vi registreringen fra klienterne, skal kontiene oprettes manuelt på serveren. Godkendelsesmetoden, som vi vælger i konfigurationen (internal_hashed), gør, at adgangskoderne ikke gemmes tydeligt, men med mekanismen SCRAM-SHA-1
. Hvis den messaging-klient, vi agter at bruge, ikke understøtter denne mekanisme, kan metoden "intern_plain" bruges i konfigurationen.
Først opretter vi konti for administratorerne af den service, som vi erklærer i konfigurationen (at erklære dem betyder ikke, at de oprettes automatisk):
sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu
Vi kan bruge den samme kommando til enhver anden konto, som vi vil oprette.
Endelig kontrollerer vi, at tjenesten kører:
sudo prosodyctl -status
Vi skulle få en besked som følgende:
Prosody kører med PID 1310
Klientkonfiguration
Konfigurationen afhænger af klienten, men generelt er detaljerne enkle. For eksempel til Pidgin:
Fanen "Grundlæggende"
Brugernavn: John
domæne: mydomain.cu
funktion: pc-john
Fanen "Avanceret"
Forbindelsessikkerhed: Brug om muligt kryptering
Forbindelsesport: 5222
Opret forbindelse til server: myserver.mydomain.cu
noter
Flere oplysninger (inklusive brugen af Cyrus SASL med LDAP og hvordan man opretter poster fra DNS) I denne artikel fra Debian Wiki.
En bruger kommenterer via DesdeLinux for virkelig at stoppe den service, du skulle udføre pkill lua5.1
Jeg kan godt lide det ... lad os se, om jeg en gang for alle ændrer OpenFire til ejabberd eller denne Prosody 🙂
Jeg laver allerede testene i VirtualBox netop for det .. for hvis vi venter på dig min søn .. ¬¬
^ - ^ U ... hehe ...
Nu sender jeg en billet til hostingudbyderen og spørger om DNS-posten, som vi har brug for for at fjerne 'jabber''______.
Okay. Jabber, IRC, Facebook, Gtalk, jeg ved ikke hvordan eller hvor, men forbind ..
Hvordan er integrationen med LDAP af Prosody? og BD?
Sådan gør du det: http://blog.marc-seeger.de/2009/12/30/setting-up-prosody-to-authenticate-against-ldap/
et par billeder for de mindre kyndige ville ikke være dårlige ^. ^
Derhjemme har jeg prosodi, jeg installerede det til at teste, og jeg kunne godt lide det på grund af dets enkelhed. En detalje, når jeg stopper serveren, skal jeg lave en pkill lua5.1 for virkelig at stoppe den.
Wow, dette er interessant. Er der en måde, hvorpå andre mennesker kan oprette brugere via en GUI (kan være web)? Hvordan vil du gå til at få et domæne til at bruge det? 😛
Du aktiverer registreringen i konfigurationen og fra den samme klientjabber registreres de ved at markere muligheden for at oprette konto på serveren.
tillad_registrering = sand;
Jeg leder efter prosodipakker i slackware, fremragende tutorial. Skål
Hvordan kan jeg kontrollere, om en bruger formåede at godkende? eller hvordan kan jeg vide, om en bruger er forbundet til serveren?
Det lykkedes 😀 Jeg var i stand til at installere og konfigurere det korrekt. Installer serveren på en pc, og klienten er en anden pc. men jeg har et problem. For at klienten skal vide, at min server med domænet (medellinlibre.org) er LOKAL. Jeg skal føje til værtsfilen IPDELSERVIDOR medellinlibre.org. Hvis ikke, forbinder det ikke af åbenlyse grunde. Mit spørgsmål er, om der ikke er nogen måde for alle pc'er på netværket at vide som standard, at dette domæne er på LAN ved en given IP?
samme tvivl! vidste du i slutningen ?? Jeg begynder med prosodi ...
Meget simpelt, i pidgin skal du specificere serverens ip i avancerede indstillinger, den anden mulighed er at montere en dns på dit LAN.
Dette emne er meget interessant, og jeg ville gerne vide, om Prosody understøtter websockets. Jeg er interesseret i at oprette en xmpp-webklient
Du kunne se dette. http://code.google.com/p/xmppwebchat/
Hej, har du ikke en version af selvstudiet med en konfiguration, der kun er til et indenlandsk intranet? Intet domæne eller noget lignende. næppe så kun 1 computer med Liñux er en server og de andre computere, der opretter forbindelse til den
Det er udelukkende at kunne chatte mellem intranetcomputere gennem pidgin.