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
Páči sa mi to ... pozrime sa, či raz a navždy zmením OpenFire za ejabberd alebo túto Prosody 🙂
Práve na to už robím testy vo VirtualBoxe .. pretože ak na teba počkáme, môj syn .. ¬¬
^ - ^ U ... hehe ...
Teraz posielam lístok poskytovateľovi hostingu so žiadosťou o záznam DNS, ktorý je potrebné na odstránenie „jabbera“ .____
Dobre. Jabber, IRC, Facebook, Gtalk, neviem ako ani kde, ale pripoj sa ..
Aká je integrácia Prosyody s LDAP? a BD?
Postup je nasledovný: http://blog.marc-seeger.de/2009/12/30/setting-up-prosody-to-authenticate-against-ldap/
pár obrázkov pre tých menej znalých by nebolo zlé ^. ^
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.
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? 😛
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;
Hľadám balíčky prozody v slackware, vynikajúci návod. Na zdravie
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?
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?
rovnaká pochybnosť! vedeli ste na konci ?? Začínam s prozódiou ...
Veľmi jednoduché, v rozšírení pidgin zadajte IP servera, ďalšou možnosťou je pripojenie dns do vašej LAN.
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.
Toto ste mohli vidieť. http://code.google.com/p/xmppwebchat/
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.