XMPP (Jabber) serveri installimine teenusega Prosody [Uuendatud]


Paljud meist kasutavad Gtalk o Facebook Vestlus teadmata, et protokoll, mida suhtlemiseks kasutame, pole keegi muu XMPP (Laiendatav sõnumside ja kohaloleku protokoll) mis on samuti avatud.

En GNU / Linux meil on oma serveri seadistamiseks mitu rakendust XMPP o lobisemine nagu on ka teada, on mõned seadistamisel keerukamad kui teised. Näiteks meil on ejabberd, mis on üsna lihtne ja kerge, kuid kui me tahame palju rohkem optimeerida, siis meil on Prosoodia.

Siis ma jätan su maha artikkel avaldatud aastal GUTL üks meie kasutajatest (Hugo) ja kus ta näitab meile, kuidas oma serverit konfigureerida XMPP koos Prosoodia.

Sissejuhatus

XMPP (Jabber) serveri installimisel kohalikus võrgus siseteabe edastamiseks valivad paljud jabberi, ejabberdi või openfire'i, kuid kuigi need on funktsionaalsed, võivad need rakendused nõuda palju ressursse.

Kui teil on väike või keskmine võrk ja soovite lihtsalt lihtsat kiirsuhtlusteenust, on õnneks olemas kerge serverialternatiiv, mida nimetatakse prosodyks, mis on küll programmeeritud LUAs, mis on tõlgendatud keel, kuid töötab selle arendajate sõnul tänu luajitile väga hästi.

See lühike õpetus selgitab, kuidas installida ja konfigureerida prosody Debiani stabiilsesse.

Ettevalmistused ja paigaldus

Prosody paketid asuvad Debiani hoidlas, kuid selle tarkvara arendajad on ette valmistanud Debiani ja viimaste pakette ja lisamooduleid sisaldavate derivaatide hoidla, mida saame kasutada järgmiselt:

kaja "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 sobivuse värskendus

Kui hoidla on lisatud, võime jätkata prosody installimist (lisades täiendavalt ka mooduleid) sasl vajadusel autentimismehhanismina, mis võimaldab prosoodiat integreerida pam, LDAPJne).

sudo aptitude install sasl2-bin libsasl2-modules-ldap prosody liblua5.1- {sec0, cyrussasl0, event-prosody0}

Seejärel jätkame oma domeeni enda allkirjastatud sertifikaatide loomist:

cd / etc / prosody / certs sudo openssl req -new -x509 -days 1095 -node -out "mydomain.cu.cert" -keyout "mydomain.cu.key"

Nõustaja küsib meilt rea andmeid, millest tõeliselt oluline on „Üldnimi (nt server KKK või SINU nimi) ”, kuhu peame oma domeeni panema, nagu me seda jaotises kasutame VirtualHost konfiguratsioonifail.

Lisaks, kui serverisse, kuhu me installime prosody, oleme konfigureerinud iptables vaikimisi keelamispoliitikaga peame avama oma võrgu jaoks vajalikud pordid, näiteks:

sudo iptables -A SISEND -i lo -j VÕTTA vastu sudo iptables -A SISEND -i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m olek - riik ESTABLISHED, SEOTUD -j VÕTAKE vastu sudo iptables -A SISEND - i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m multiport --dports 5222,5223,5269 -m state - osariik NEW -j ACCEPT

konfiguratsioon

Järgmisena muudame konfiguratsioonifaili mõningaid ridu, mida peame muutma /etc/prosody/prosody.cfg.lua nii et see näeb välja selline:

ports = {5222, 5269} ssl_ports = {5223} admins = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - vaikevalik põhineb funktsioonil select (), libevent kasutab selle asemel tõhusamat ja skaleeritavat epoll (). modules_enabled = {"nimekiri"; "saslauth"; "tls"; "tagasihelistamine"; "ketas"; "privaatne"; "vcard"; "privaatsus"; "kokkusurumine"; "pärandauth"; "versioon"; "uptime"; "aeg"; "ping"; "pep"; "Registreeri"; - ärge keelake seda moodulit, see võimaldab mitte ainult registreerida, vaid ka muuta "adhoc" paroole; "admin_adhoc"; "posix"; "bosh"; - lisage see rida, kui soovite lubada jabberi üle http}; luba_registreerimine = vale; - turvalisuse tõttu keelatud - muutke väärtuseks Tõene, kui soovite lubada klientide endi kontode loomise ssl = {key = "/etc/prosody/certs/localhost.key"; sertifikaat = "/etc/prosody/certs/localhost.cert"; } storage = "sisemine"; - vaikimisi salvestusruum on xml-fail - soovi korral võime kasutada ka "sql" salvestusmeetodit - see võimaldab kasutada taustaprogrammina SQLite'i, MySQL-i või PostgreSQL-i (kuigi teatud parameetrid tuleb lisada) authentication = "internal_hashed"; - saame kasutada "internal_plain", kui klient ei toeta SCRAM-SHA-1 - kui soovime kasutada LDAP-i hilisemaks kasutamiseks sasl-meetodit, peame kasutama logi "cyrus" = / prosoodia. eksimine "; 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"; sertifikaat = "/etc/prosody/certs/mydomain.cu.crt"; }

Kui konfiguratsioonifail on muudetud, taaskäivitame teenuse:

sudo teenuse prosoodia lahutab

Nüüd jätkame kontode loomist. Sellisel juhul, nagu konfiguratsioonifailis, keelame registri klientidelt, tuleb kontod serveris käsitsi luua. Konfiguratsioonis (internal_hashed) valitud autentimismeetod muudab paroolid salvestamata selgeks, vaid koos mehhanismiga SCRAM-SHA-1. Kui sõnumside klient, mida kavatseme kasutada, seda mehhanismi ei toeta, võiks konfiguratsioonis kasutada meetodit "internal_plain".

Kõigepealt loome teenuse administraatorite kontod, mille deklareerime konfiguratsioonis (nende deklareerimine ei tähenda, et need luuakse automaatselt):

sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu

Saame sama käsku kasutada ka kõigi teiste kontode jaoks, mida soovime luua.

Lõpuks kontrollime, kas teenus töötab:

sudo prosodyctl staatus

Peaksime saama järgmise sõnumi:

Prosody töötab PID 1310-ga

Kliendi konfiguratsioon

Konfiguratsioon sõltub kliendist, kuid üldiselt on üksikasjad lihtsad. Näiteks selleks Pidžin:

Vahekaart "Põhiline"

Kasutajanimi: John
Domeen: mydomain.cu
Allikas: pc-John

Vahekaart "Täpsem"

Ühenduse turvalisus: Võimalusel kasutage krüptimist
Ühendusport: 5222
Serveriga ühenduse loomine: myserver.mydomain.cu

Arveid

Lisateavet leiate (sealhulgas Cyrus SASLi kasutamine koos LDAP ja kuidas kirjed luua DNS) In see artikkel Debiani vikist.

Un usuario comenta via DesdeLinux que para detener realmente el servicio ha necesitado ejecutar pkill lua5.1


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   KZKG ^ Gaara DIJO

    Mulle meeldib ... vaatame, kas ma ükskord muudan OpenFire'i ejabberdi või selle Prosody asemel 🙂

    1.    elav DIJO

      Ma juba teen teste VirtualBoxis just selleks .. sest kui me teid ootame, siis mu poeg .. ¬¬

      1.    KZKG ^ Gaara DIJO

        ^ - ^ U ... hehe ...
        Nüüd saadan pileti hostimisteenuse pakkujale ja küsin DNS-i kirje kohta, mille peame eemaldama.

        1.    elav DIJO

          Okei. Jabber, IRC, Facebook, Gtalk, ma ei tea, kuidas ja kus, aga ühendage ..

  2.   Ernest Infante DIJO

    Kuidas on Prosody integreerimine LDAP-ga? ja BD?

  3.   Mädaneb87 DIJO

    paar pilti vähemteadvatele poleks halb ^. ^

  4.   dhunter DIJO

    Kodus on mul prosoodia, installisin selle testimiseks ja mulle meeldis see oma lihtsuse poolest. Üks detail serveri peatamisel pean selle tõkestamiseks tegema pkill lua5.1.

  5.   auroszx DIJO

    Vot, see on huvitav. Kas on mingeid viise, kuidas teised inimesed saavad kasutajaliidese kaudu GUI-d luua (võiks olla veeb)? Kuidas saaksite domeeni selle kasutamiseks hankida? 😛

    1.    dhunter DIJO

      Registreerimise lubate konfiguratsioonis ja samast jabber-kliendist, kus nad on registreeritud, märkides serveris konto loomise võimaluse.

      luba_registreerimine = tõene;

  6.   ferran DIJO

    Ma otsin prosoodia pakette nuhkvaras, suurepärane õpetus. Terviseks

  7.   Arturo Molina DIJO

    Kuidas kontrollida, kas kasutajal õnnestus autentida? või kuidas ma saan teada, kas kasutaja on serveriga ühendatud?

  8.   @Jlcux DIJO

    Mul õnnestus 😀 Sain selle õigesti installida ja konfigureerida. Installige server ühte arvutisse ja klient on teine ​​arvuti. aga mul on probleem. Selleks, et klient teaks, et minu domeeniga server (medellinlibre.org) on ​​KOHALIK. Pean lisama hostifaili IPDELSERVIDOR medellinlibre.org. Kui ei, siis see ilmselgetel põhjustel ei ühenda. Minu küsimus on, kas kõik võrgus olevad arvutid ei saa vaikimisi teada, et see domeen on antud IP-l LAN-is?

    1.    DIJO

      sama kahtlus! kas teadsite lõpus ?? Alustan prosoodiaga ...

    2.    dhunter DIJO

      Väga lihtne, pidginis täpsustage serveri IP täpsemate suvanditena, teine ​​võimalus on ühendada LAN oma LAN-iga.

  9.   Francisco DIJO

    See teema on väga huvitav ja tahtsin teada, kas Prosody toetab veebipesasid. Mind huvitab xmpp-veebikliendi loomine

  10.   Inukaze DIJO

    Tere, kas teil pole õpetuse versiooni konfiguratsiooniga, mis on mõeldud ainult siseriiklikule sisevõrgule? Domeeni ega muud sellist pole. vaevalt nii, et ainult üks Liñuxiga arvuti on server ja teised sellega ühendatud arvutid

    Ainult selleks, et pidgini kaudu saaksite sisevõrgus olevate arvutite vahel vestelda.