Nainštalujte si server XMPP (Jabber) s programom Prosody [aktualizované]


Mnoho z nás používa Gtalk o facebook Chat bez toho, aby sme vedeli, že protokol, ktorý používame na komunikáciu, nie je nič iné ako XMPP (Protokol rozšíriteľnej správy a prítomnosti) ktorý je tiež otvorený.

En GNU / Linux máme niekoľko aplikácií na nastavenie vlastného servera XMPP o brebentit ako je tiež známe, niektoré sú pri konfigurácii komplikovanejšie ako iné. Napríklad máme ejabberd, čo je celkom jednoduché a ľahké, ale ak chceme optimalizovať oveľa viac, máme prozódia.

Potom ťa nechám článok Vydaný v GUTL od jedného z našich používateľov (Hugo) a kde nám ukazuje, ako nakonfigurovať náš vlastný server XMPP s prozódia.

Úvod

Pri inštalácii servera XMPP (Jabber) na interné zasielanie správ v lokálnej sieti si mnohí zvolia jabber, ejabberd alebo openfire, ale aj keď sú tieto aplikácie funkčné, môžu vyžadovať veľa zdrojov.

Ak máte malú alebo strednú sieť a chcete iba jednoduchú službu okamžitých správ, našťastie existuje ľahká alternatíva servera s názvom prosody, ktorá je síce programovaná v jazyku LUA, čo je interpretovaný jazyk, ale podľa jeho vývojárov funguje veľmi dobre vďaka luajit.

Tento krátky tutoriál vysvetlí, ako nainštalovať a nakonfigurovať prozódiu na stabilnom Debiane.

Prípravy a inštalácia

Balíky Prozody sa nachádzajú v úložisku Debianu, ale vývojári tohto softvéru pripravili úložisko pre Debian a deriváty obsahujúce posledné balíčky a ďalšie moduly, ktoré môžeme použiť nasledovne:

echo "deb http://packages.prosody.im/debian stabilný hlavný" | sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add - aktualizácia sudo aptitude

Po pridaní úložiska môžeme pokračovať v inštalácii prosody (dodatočné pridanie modulov, ktoré sa majú použiť sasl ako autentifikačný mechanizmus, ak je to potrebné, čo umožňuje integrovať prozódiu s pam, LDAPAtď).

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

Potom pokračujeme v generovaní certifikátov s vlastným podpisom pre našu doménu:

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

Sprievodca nás požiada o sériu údajov, z ktorých najdôležitejší je „Bežný názov (napr. Server FQDN alebo VAŠE meno) “, kam musíme umiestniť našu doménu, pretože ju budeme používať v tejto časti VirtualHost konfiguračný súbor.

Ďalej, ak na serveri, kde inštalujeme prozódiu, sme nakonfigurovali iptables Pri predvolených zásadách odmietnutia musíme otvoriť požadované porty pre našu sieť, napríklad:

sudo iptables -A INPUT -i lo -j AKCEPT sudo iptables -A INPUT -i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m stav --state ZOSTAVENÝ, SÚVISIACE -j AKCEPT sudo iptables -A VSTUP - i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m multiport --portuje 5222,5223,5269 XNUMX XNUMX -m štát - štát NOVÝ -j PRIJAŤ

konfigurácia

Ďalej pokračujeme v úprave niektorých riadkov konfiguračného súboru, ktoré musíme upraviť /etc/prosody/prosody.cfg.lua takže to vyzerá takto:

porty = {5222, 5269} ssl_ports = {5223} admins = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - predvolená možnosť je založená na funkcii select (), namiesto toho libevent používa epoll (), ktorý je efektívnejší a škálovateľnejší. modules_enabled = {"zoznam"; „saslauth“; „tls“; „dialback“; „disk“; "súkromné"; „vcard“; „súkromie“; „kompresia“; „legacyauth“; „verzia“; „uptime“; „čas“; „ping“; "pep"; "Registrovať"; - tento modul nevypínajte, umožňuje nielen registrovať, ale aj meniť heslá „adhoc“; "admin_adhoc"; „posix“; "bosh"; - pridajte tento riadok, ak chcete povoliť jabber cez http}; allow_registration = false; - vypnuté pre zabezpečenie - zmeniť na true, ak chcete povoliť vytváranie účtov zo samotného klienta ssl = {key = "/etc/prosody/certs/localhost.key"; certificate = "/etc/prosody/certs/localhost.cert"; } úložisko = "interné"; - predvolené úložisko je súbor xml - voliteľne môžeme použiť metódu ukladania dát „sql“ - to umožňuje používať ako backend SQLite, MySQL alebo PostgreSQL (aj keď je potrebné pridať určité parametre) authentication = "internal_hashed"; - "internal_plain" môžeme použiť, ak klient nepodporuje SCRAM-SHA-1 - ak chceme na neskoršie použitie LDAP použiť sasl metódu, musíme použiť "cyrus" log = {error = "/ var / log / prosody / prozódia. 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"; }

Po zmene konfiguračného súboru reštartujeme službu:

sudo služba prozódia odpočítať

Teraz pokračujeme k vytváraniu účtov. V tomto prípade, rovnako ako v konfiguračnom súbore, ktorý deaktivujeme register od klientov, bude potrebné vytvoriť účty ručne na serveri. Metóda autentifikácie, ktorú zvolíme v konfigurácii (internal_hashed), zabezpečí, že heslá sa neukladajú jasne, ale s mechanizmom SCRAM-SHA-1. Ak klient pre zasielanie správ, ktorý chceme použiť, tento mechanizmus nepodporuje, v konfigurácii by sa mohla použiť metóda „internal_plain“.

Najskôr vytvoríme účty správcov služby, ktoré deklarujeme v konfigurácii (ich vyhlásenie neznamená, že sú vytvárané automaticky):

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

Rovnaký príkaz môžeme použiť pre akýkoľvek iný účet, ktorý si chceme vytvoriť.

Nakoniec skontrolujeme, či je služba spustená:

stav sudo prosodyctl

Mali by sme dostať správu, ako je táto:

Prozódia pracuje s PID 1310

Konfigurácia klienta

Konfigurácia závisí od klienta, ale podrobnosti sú spravidla jednoduché. Napríklad pre Pidgin:

Karta „Základné“

Užívateľské meno: John
domain: mydomain.cu
Zdroj: pc-john

Karta „Rozšírené“

Zabezpečenie pripojenia: Ak je to možné, použite šifrovanie
Pripojovací port: 5222
Pripojiť k serveru: myserver.mydomain.cu

Poznámky

Viac informácií možno nájsť (vrátane použitia Cyrus SASL s LDAP a ako vytvárať záznamy z DNS) V tento článok z Debianu Wiki.

Používateľ komentuje prostredníctvom DesdeLinux že na skutočné zastavenie služby, ktorú ste museli vykonať pkill lua5.1


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   KZKG ^ Gaara dijo

    Páči sa mi to ... pozrime sa, či raz a navždy zmením OpenFire za ejabberd alebo túto Prosody 🙂

    1.    živý dijo

      Práve na to už robím testy vo VirtualBoxe .. pretože ak na teba počkáme, môj syn .. ¬¬

      1.    KZKG ^ Gaara dijo

        ^ - ^ U ... hehe ...
        Teraz posielam lístok poskytovateľovi hostingu so žiadosťou o záznam DNS, ktorý je potrebné na odstránenie „jabbera“ .____

        1.    živý dijo

          Dobre. Jabber, IRC, Facebook, Gtalk, neviem ako ani kde, ale pripoj sa ..

  2.   Ernest Infante dijo

    Aká je integrácia Prosyody s LDAP? a BD?

  3.   Hnije87 dijo

    pár obrázkov pre tých menej znalých by nebolo zlé ^. ^

  4.   lovec dijo

    Doma mám prozódiu, nainštaloval som ju na testovanie a páčila sa mi pre jej jednoduchosť. Detail pri zastavení servera musím urobiť pkill lua5.1, aby som to skutočne zastavil.

  5.   auroszx dijo

    Páni, toto je zaujímavé. Existuje spôsob, ako môžu iní ľudia vytvárať používateľov prostredníctvom grafického používateľského rozhrania (môže to byť web)? Ako by ste postupovali pri získaní domény na používanie? 😛

    1.    lovec dijo

      Registráciu povolíte v konfigurácii a od rovnakého klienta jabber sa zaregistrujú začiarknutím možnosti vytvoriť účet na serveri.

      allow_registration = true;

  6.   Ferran dijo

    Hľadám balíčky prozody v slackware, vynikajúci návod. Na zdravie

  7.   Arturo Molina dijo

    Ako môžem overiť, či sa používateľovi podarilo overiť totožnosť? alebo ako môžem zistiť, či je používateľ pripojený k serveru?

  8.   @Jlcmux dijo

    Podarilo sa mi 😀 Dokázal som to správne nainštalovať a nakonfigurovať. Nainštalujte server na jeden počítač a klientom je iný počítač. ale mam problem. Aby klient vedel, že môj server s doménou (medellinlibre.org) je LOKÁLNY. Musím pridať do súboru hostiteľov IPDELSERVIDOR medellinlibre.org. Ak nie, zo zrejmých dôvodov sa nespája. Moja otázka je, či neexistuje spôsob, aby všetky počítače v sieti štandardne vedeli, že táto doména je pri danej IP v LAN?

    1.    ltd dijo

      rovnaká pochybnosť! vedeli ste na konci ?? Začínam s prozódiou ...

    2.    lovec dijo

      Veľmi jednoduché, v rozšírení pidgin zadajte IP servera, ďalšou možnosťou je pripojenie dns do vašej LAN.

  9.   Francisco dijo

    Táto téma je veľmi zaujímavá a chcel som vedieť, či Prosody podporuje webové zásuvky. Mám záujem o vytvorenie webového klienta xmpp.

  10.   Inukaze dijo

    Ahoj, nemáte verziu tohto tutoriálu s konfiguráciou, ktorá je určená iba pre domáci intranet? Žiadna doména ani nič podobné. sotva tak, že iba 1 počítač s Liñux je server a ostatné počítače, ktoré sa k nemu pripájajú

    Je to iba schopnosť chatovať medzi intranetovými počítačmi prostredníctvom pidginu.