Marami sa atin ang gumagamit gtalk o Facebook Chat nang hindi alam na ang protokol na ginagamit namin upang makipag-usap ay walang iba kundi ang XMPP (Extensible Messaging at Presence Protocol) na bukas din.
En GNU / Linux marami kaming mga application upang mai-set up ang aming sariling server XMPP o Jabber tulad ng nalalaman din, ilang mas kumplikado kaysa sa iba kapag nag-configure. Halimbawa, mayroon kaming ejabberd, na kung saan ay medyo simple at magaan, ngunit kung nais naming i-optimize ang higit pa, mayroon kaming Prosody.
Tapos iniiwan kita isang artikulo nai-publish sa GUTL ng isa sa aming mga gumagamit (Hugo) at kung saan ipinakita niya sa amin kung paano i-configure ang aming sariling server XMPP sa Prosody.
Pagpapakilala
Kapag nag-install ng isang server ng XMPP (Jabber) para sa panloob na pagmemensahe sa isang lokal na network, marami ang pumili ng jabber, ejabberd o openfire, ngunit kahit na gumagana, ang mga application na ito ay maaaring mangailangan ng maraming mga mapagkukunan.
Kung mayroon kang isang maliit o katamtamang network at nais mo lamang ng isang simpleng serbisyo sa instant na pagmemensahe, sa kabutihang palad mayroong isang magaan na kahalili ng server na tinatawag na prosody, na kahit na ito ay na-program sa LUA na isang naisaling wika, ayon sa mga nag-develop nito gumagana ito nang mahusay kay luajit.
Ang maikling tutorial na ito ay magpapaliwanag kung paano mag-install at mag-configure ng prosody sa Debian stable.
Paghahanda at pag-install
Ang mga package ng prosody ay nasa repository ng Debian, ngunit ang mga tagabuo ng software na ito ay naghanda ng isang lalagyan para sa Debian at mga derivatives na naglalaman ng mga kamakailang mga pakete at karagdagang mga module, na maaari naming gamitin tulad ng sumusunod:
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 - pag-update ng sudo aptitude
Kapag naidagdag na ang imbakan, maaari kaming magpatuloy upang mag-install ng prosody (bilang karagdagan pagdaragdag ng mga module na gagamitin sasl
bilang isang mekanismo ng pagpapatotoo kung kinakailangan, na nagbibigay-daan upang isama ang prosody pam
, LDAP, atbp.).
sudo aptitude i-install ang sasl2-bin libsasl2-modules-ldap prosody liblua5.1- {sec0, cyrussasl0, event-prosody0}
Pagkatapos ay nagpapatuloy kaming bumuo ng mga self-sign na sertipiko para sa aming domain:
cd / etc / prosody / certs sudo openssl req -new -x509 -day 1095 -nodes -out "mydomain.cu.cert" -keyout "mydomain.cu.key"
Tatanungin kami ng wizard ng isang serye ng data, kung saan ang talagang mahalaga ay "Karaniwang Pangalan (hal. Server FQDN o IYONG pangalan) "kung saan kailangan naming ilagay ang aming domain, dahil gagamitin namin ito sa seksyon VirtualHost file ng pagsasaayos.
Bilang karagdagan, kung sa server kung saan kami nag-i-install ng prosody ay na-configure namin iptables
na may mga default na patakaran sa pagtanggi, kailangan naming buksan ang mga kinakailangang port para sa aming network, halimbawa:
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 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 estado - estado ng BAGONG -j ACCEPT
configuration
Susunod, nagpapatuloy kaming baguhin ang ilang mga linya ng file ng pagsasaayos, kung saan dapat naming i-edit /etc/prosody/prosody.cfg.lua
kaya ganito ang hitsura:
-
ports = {5222, 5269} ssl_ports = {5223} admin = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - ang default na pagpipilian ay batay sa piling function na (), sa halip ang libevent ay gumagamit ng epoll (), na mas mahusay at masusukat. modules_enified = {"roster"; "saslauth"; "tls"; "dialback"; "disk"; "pribado"; "vcard"; "privacy"; "compression"; "legacyauth"; "bersyon"; "uptime"; "oras"; "ping"; "pep"; "magparehistro"; - huwag paganahin ang modyul na ito, pinapayagan nito hindi lamang upang magparehistro ngunit upang baguhin din ang mga "adhoc" na password; "admin_adhoc"; "posix"; "bosh"; - idagdag ang linyang ito kung nais mong paganahin ang jabber sa paglipas ng http}; allow_registro = false; - hindi pinagana para sa seguridad - baguhin sa totoo kung nais mong paganahin ang paglikha ng mga account mula sa kliyente mismo ssl = {key = "/etc/prosody/certs/localhost.key"; sertipiko = "/etc/prosody/certs/localhost.cert"; } imbakan = "panloob"; - ang default na imbakan ay isang xml file - opsyonal na maaari nating gamitin ang paraan ng pag-iimbak ng "sql" - pinapayagan nito ang paggamit ng SQLite, MySQL o PostgreSQL bilang backend (bagaman ang ilang mga parameter ay dapat idagdag) pagpapatotoo = "panloob na_hash"; - maaari naming gamitin ang "panloob na_plain" kung hindi sinusuportahan ng kliyente ang SCRAM-SHA-1 - kung nais naming gamitin ang pamamaraan ng sasl upang magamit sa paglaon ang LDAP, dapat naming gamitin ang "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"; sertipiko = "/etc/prosody/certs/mydomain.cu.crt"; }
Kapag nabago ang config file, i-restart namin ang serbisyo:
sudo serbisyo prosody ibawas
Ngayon ay magpapatuloy kami upang likhain ang mga account. Sa kasong ito, tulad ng sa pagsasaayos ng file hindi namin pinagana ang pagpapatala mula sa mga kliyente, ang mga account ay kailangang nilikha nang manu-mano sa server. Ang pamamaraan ng pagpapatotoo na pinili namin sa pagsasaayos (panloob na_hash) ay gumagawa na ang mga password ay hindi nai-save nang malinaw ngunit may mekanismo SCRAM-SHA-1
. Kung ang client ng pagmemensahe na nais naming gamitin ay hindi sumusuporta sa mekanismong ito, maaaring magamit ang configure na "internal_plain" sa pagsasaayos.
Lilikha muna namin ang mga account ng mga administrador ng serbisyo na idineklara namin sa pagsasaayos (ang pagdeklara sa kanila ay hindi nangangahulugang awtomatiko silang nilikha):
sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu
Maaari naming gamitin ang parehong utos para sa anumang iba pang account na nais naming likhain.
Panghuli, sinusuri namin na tumatakbo ang serbisyo:
sudo prosodyctl katayuan
Dapat kaming makakuha ng isang mensahe tulad ng sumusunod:
Tumatakbo ang prosody kasama ang PID 1310
Ang pagsasaayos ng kliyente
Ang pagsasaayos ay nakasalalay sa bawat kliyente, ngunit sa pangkalahatan ang mga detalye ay simple. Halimbawa, para sa magkakahalong salita:
Tab na "Pangunahin"
Username: John
Domain: mydomain.cu
Mapagkukunan: pc-john
Tab na "advanced"
Seguridad sa koneksyon: Gumamit ng pag-encrypt kung maaari
Port ng koneksyon: 5222
Kumonekta sa Server: myserver.mydomain.cu
tala
Makakakita ng mas maraming impormasyon (kasama ang paggamit ng Cyrus SASL sa LDAP at kung paano lumikha ng mga entry mula sa DNS) Sa Ang artikulong ito mula sa Debian Wiki.
Un usuario comenta via DesdeLinux que para detener realmente el servicio ha necesitado ejecutar pkill lua5.1
Gusto ko ito ... tingnan natin kung minsan at para sa lahat binago ko ang OpenFire para sa ejabberd o ang Prosody na ito 🙂
Ginagawa ko na ang mga pagsubok sa VirtualBox nang tiyak para doon .. sapagkat kung hihintayin ka namin anak ko .. ¬¬
^ - ^ U ... hehe ...
Nagpadala ako ngayon ng isang tiket sa provider ng Hosting na nagtatanong tungkol sa rekord ng DNS na kailangan naming alisin ang 'jabber .'______
Sige. Jabber, IRC, Facebook, Gtalk, hindi ko alam kung paano o saan, ngunit kumonekta ..
Paano ang pagsasama sa LDAP ng Prosody? at ang BD?
Narito kung paano ito gawin: http://blog.marc-seeger.de/2009/12/30/setting-up-prosody-to-authenticate-against-ldap/
ang isang pares ng mga imahe para sa mas kaunting kaalaman ay hindi magiging masama ^. ^
Sa bahay mayroon akong prosody, na-install ko ito upang subukan at nagustuhan ko ito para sa pagiging simple nito. Isang detalye kapag pinahinto ang server kailangan kong gawin ang isang pkill lua5.1 upang talaga itong ihinto.
Wow, nakakainteres ito. Mayroon bang isang paraan na ang ibang mga tao ay maaaring lumikha ng mga gumagamit sa pamamagitan ng isang GUI (maaaring maging web)? Paano ka makakakuha ng isang domain upang magamit ito? 😛
Pinapagana mo ang pagpaparehistro sa config at mula sa parehong client jabber nakarehistro sila sa pamamagitan ng pag-check sa pagpipilian upang lumikha ng account sa server.
allow_registro = totoo;
Naghahanap ako ng mga prosody packages sa slackware, mahusay na tutorial. Cheers
Paano ko mave-verify kung pinatunayan ng isang gumagamit? o paano ko malalaman kung ang isang gumagamit ay konektado sa server?
Nagtagumpay ako 😀 Na-install ko at na-configure ito nang tama. I-install ang server sa isang PC at ang client ay isa pang PC. pero may problema ako. Upang malaman ng kliyente na ang aking server na may domain (medellinlibre.org) ay LOKAL. Dapat kong idagdag sa file ng mga host na IPDELSERVIDOR medellinlibre.org. Kung hindi, hindi ito kumokonekta, para sa halatang mga kadahilanan. Ang aking katanungan ay kung walang paraan para sa lahat ng mga PC sa network na malaman sa pamamagitan ng default na ang domain na ito ay nasa LAN sa isang naibigay na IP?
parehong pag-aalinlangan! alam mo ba sa huli ?? Nagsisimula ako sa prosody ...
Napakasimple, sa pidgin tukuyin ang ip ng server sa mga advanced na pagpipilian, ang iba pang pagpipilian ay i-mount ang isang dns sa iyong LAN.
Ang paksang ito ay napaka-kagiliw-giliw at nais kong malaman kung sinusuportahan ng Prosody ang mga websockets. Interesado akong gumawa ng isang xmpp web client
Maaari mo itong makita. http://code.google.com/p/xmppwebchat/
Kumusta, wala ka bang isang bersyon ng tutorial na may isang pagsasaayos na para lamang sa isang domestic intranet? Walang domain o anumang katulad nito. mahirap na sa 1 computer lamang na may Liñux ang isang server at ang iba pang mga computer na kumonekta dito
Ito lamang ang makapag-chat sa pagitan ng mga intranet computer sa pamamagitan ng pidgin.