Instant Messaging na may Prosody sa Debian Squeeze

prosody

Kumusta Mga Kaibigan!. Ngayon ipinakita ko sa iyo ang isang moderno at may kakayahang umangkop na server Jabber / XMPP, nakasulat sa wika Lua at dating kilala bilang Lxmppd. Mayroon itong mga katangian ng pagiging isang maramihang mga sistema ng platform, na may napakababang pagkonsumo ng mapagkukunan, madaling gamitin, at napapalawak. At nang walang karagdagang pagtatalo, magsimula tayo sa negosyo! Maaari silang mukhang maraming mga aspeto, ngunit ang mga ito ay simple at maikli. Makikita natin ngayon:

  • Base server
  • Nag-i-install kami ng mga kinakailangang package
  • Alamin nating mag-configure
  • I-configure namin ang mga global na parameter
  • Lumilikha at nag-configure kami ng virtual host
  • Bumubuo kami ng mga sertipiko ng SSL / TLS
  • Pinapagana namin ang host
  • Lumilikha kami ng unang gumagamit
  • Nirerehistro namin ang aming Prosody sa isang DNS
  • Sinusuri namin ang lahat

Base server
Ang mababang paggamit ng mga mapagkukunan ay nagbibigay-daan sa amin upang mai-install ang Prosody kahit sa aming sariling workstation at ibigay ang serbisyong Chat mula rito.

Nag-i-install kami ng mga kinakailangang package
Upang maging pamilyar sa Prosody, gagamitin namin ang mga opisyal na pakete na dumating sa Repository ng Squeeze:

kakayahan i-install ang prosody liblua5.1-sec0

Alamin nating mag-configure
Basahin natin ang kasamang dokumentasyon /usr/share/doc/prosody/doc/coding_style.txt, upang pamilyar ang ating sarili sa format na ginamit sa mga file ng pagsasaayos. Pumunta tayo sa folder / etc / prosody at nakalista kami ng mga mayroon nang mga file at direktoryo. Ang mga pangalan ng bawat folder o file ay madaling maunawaan at malinaw na nagpapahiwatig kung ano ang ginagamit para sa:

  • mga certs: Direktoryo kung saan itatago ang mga sertipiko ng SSL / TLS at ang kanilang mga pribadong key.
  • conf.avail: Direktoryo na naglalaman ng mga file ng pagsasaayos ng mga virtual host na idineklara namin na magagamit. Gumagawa ito ng halos kapareho sa kung ano ang nakita sa mga nakaraang post tungkol sa mga web server, tulad ng sa kaso ng Nginx mga site na magagamit na folder.
  • conf.d: Folder kung saan idineklara ang mga direktang link ng mga virtual host conf.avil at nais naming paganahin.
  • prosody.cfg.lua: pangunahing file ng pagsasaayos ng Prosody.
  • README: File na nagbibigay sa amin ng isang "bakas" upang sumulong. Huwag itigil ang pagbabasa nito!

Sa nabasa natin sa ngayon, maaari naming subukan ang isang kaunting paunang pagsasaayos.

I-configure namin ang mga Global parameter
Maingat naming pinag-aaralan ang pangunahing file ng pagsasaayos/etc/prosody/prosody.cfg.lua, kung saan gumawa ako ng isang libreng pagsasalin at maaari kaming mag-download sa dulo. I-save natin ang orihinal na file na naka-install gamit ang sumusunod na utos:

cp /etc/prosody/prosody.cfg.lua /etc/prosody/prosody.cfg.lua.original

Inaalis namin ang configure file. Kasama ang nano, ini-edit namin ang prosody.cfg.lua na-emptiyo na, at i-paste ang nilalaman ng na-download na halimbawang file. Binabago namin ito ayon sa aming mga pangangailangan, at nagse-save sa dati ctl + o. Mamaya sinusuri namin ang syntax ng config file:

cp / dev / null /etc/prosody/prosody.cfg.lua nano /etc/prosody/prosody.cfg.lua luac -p /etc/prosdy/prosody.cfg.lua

At kung hindi ka babalik ng anumang mensahe, maayos ang lahat.

Lumilikha at nag-configure kami ng Virtual Host
Ang file ng aming virtual host, lilikha namin ito sa direktoryo /etc/prosody/conf.avail/kasama ang hostname, kasama ang extension .conf.lua, at lilikha namin ito mula sa filehalimbawa.com.cfg.lua mayroon nang folder na iyon:

mv /etc/prosody/conf.avail/example.com.cfg.lua /etc/prosody/conf.avail/web.amigos.cu.cfg.lua nano /etc/prosody/conf.avail/web.amigos.cu .cfg.lua

Binabago namin ang file na may tamang mga parameter alinsunod sa aming mga pangangailangan. Maaari kaming mag-download ng isang bersyon na naaayon sa halimbawang ito sa pagtatapos ng post. Huwag kalimutang tanggalin ang linya pinagana = false - Alisin ang linyang ito upang paganahin ang host na ito.

Bumubuo kami ng mga sertipiko ng SSL / TLS
Kapag nagpapatupad ng utos na bumuo ng mga sertipiko, hihilingin sila sa amin para sa impormasyong nauugnay sa aming kumpanya.

cd / etc / prosody / certs openssl req -new -x509 -day 365 -nodes -out "web.amigos.cu.crt" -keyout "web.amigos.cu.key"

Sinusuri namin na ang mga sertipiko ay nabuo nang tama ng ls -l.

Pinapagana namin ang host
Upang paganahin ang host na idineklara sa /etc/prosody/conf.avail/web.amigos.cu.cfg.lua, dapat kaming lumikha ng isang simbolikong link ng file na iyon sa folder conf.d. Pagkatapos ay dapat nating muling simulan ang serbisyo:

ln -s /etc/prosody/conf.avail/web.amigos.cu.cfg.lua /etc/prosody/conf.d/web.amigos.cu.cfg.lua /etc/init.d/prosody restart

Tip: Magbukas ng isang nakalaang console upang matingnan ang mga mensahe ng log ng Prosody gamit ang utos buntot -f /var/log/prosody/prosody.log. Kung sinabi ng huling linya "Matagumpay na na-daemonize sa PID ####", pagkatapos ang Lahat ay gumagana sa Kilo!. Kung nagkakaroon ka ng isang mensahe ng error, maaaring kailangan mong manu-manong patayin ang proseso "Lua" tumatakbo iyon BAGO muling i-restart ang Prosody. Upang malaman ang pid del Lua, patakbops -e | grep lua. Upang patayin ang proseso, patayin -patay #pid del lua.

Lumilikha kami ng unang gumagamit
Upang lumikha ng mga gumagamit ginagamit namin ang utos prosodyctl tulad ng sumusunod:

prosodyctl adduser admin@web.amigos.cu

Hihiling sa amin ng utos para sa "Password" gumagamit Pansinin nilikha namin ang gumagamit "Admin", na idineklara namin bilang Administrator ng Prosody sa pandaigdigang file ng pagsasaayos prosody.cfg.lua.

Inirerekomenda namin na HINDI ginagamit ang utos prosodyctl upang ihinto, simulan, o i-restart ang serbisyo, ngunit gawin ito sa pamamagitan ng tradisyunal na pamamaraan tulad ng:

/etc/init.d/prosody {start | stop | restart | reload} invoke-rc.d prosody {start | stop | restart | reload} service prosody {start | stop | restart | reload}

Nirerehistro namin ang aming Prosody sa isang DNS
Ang serbisyo ng instant na pagmemensahe ay umaasa nang husto sa serbisyo ng DNS. Ang bawat gumagamit ay nakilala sa pamamagitan ng kanyang address o JID sa paraan ng gumagamit @ domain, kung saan ipinapahiwatig ng domain ang server kung saan nakaimbak ang account. Upang makakonekta at mag-log in ang gumagamit, kinakailangan upang mahanap ang IP address ng server. Katulad nito ang mga remote server ay kailangang makipag-ugnay sa gumagamit @ domain upang maipasa sa iyo ang isang mensahe. Samakatuwid, kinakailangan na ang server ng Prosody ay may isang uri ng rekord A sa DNS server ng aming LAN. Halimbawa:

192.168.10.20 SA Isang web.amigos.cu.

Sinusuri namin ang lahat
Mayroon na kaming tumatakbo na aming server ng Prosody. Chat tayo kung ganon! I-install ang Pidgin o Psi, o piliin ang XMPP client na iyong pinili at kumonekta sa server. Kung magtagumpay siya, ito ay dahil sumunod siya sa nilalaman ng artikulong ito sa liham. Kung hindi, tanungin, iyan ang para sa mga blog na tulad nito. Ahhh, kung nais mong makipag-chat mula sa isang console, i-install ang Finch.

Gumawa kami ng isang pakete na may dokumentasyon mula sa opisyal na site ng Prosody na inaasahan naming magiging kapaki-pakinabang. Ang mga nagnanais na mag-download ng mga package nang direkta mula sa lalagyan ng Prosody, bisitahin Repository ng package ng prosody.

Sa lahat, good luck at happy Chat!

Mag-download ng mga sample na file

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   eliotime3000 dijo

    Magandang mungkahi. Tingnan natin kung mayroon akong oras upang gumawa ng isang instant na client ng pagmemensahe.

    1.    masigla dijo

      Isa pang client ng XMPP? Tao, sa palagay ko hindi kinakailangan maliban kung gagawin mo ito upang malaman at itakda ito bilang iyong layunin. Ang mga ito ay Pidgin, Kopete, KDE-Telephaty, Empathy, PSI ... pa rin.

      1.    dhunter dijo

        Sa gayon, kasing dami ng isa pang kliyente sa palagay ko hindi ito magiging masaya kundi maglaro kasama ang XMPP API at magpadala ng mga mensahe mula sa mga application.

      2.    Nabulok87 dijo

        Mabuti kung halimbawa kailangan mong gumawa ng isang uri ng chat para sa isang panloob na network o katulad na bagay

      3.    braybaut dijo

        Kung totoo iyan, ngunit ang tutorial na ito ay ginagamit upang magpatupad ng isang client ng XMPP sa mga Libreng network

        1.    dhunter dijo

          Ang tutorial na ito ay para sa server, mayroon nang ilang mga libreng kliyente.

      4.    eliotime3000 dijo

        Para sa Windows, magsisilbi ito ng marami (sa kawalan ng gawa-gawa na Messenger, makabubuting gumawa ng mas mahusay, di ba?).

  2.   Federico A. Valdes Toujague dijo

    Salamat sa inyong lahat sa inyong mga puna. Pangarap ko na magkaroon ng isang web client upang makipag-chat sa aking LAN. Nag-install ako ng ejabberd sa JwChat at dahil ang interface sa Squeeze ay malagkit (at pangit at maraming surot), hindi ko ito sinubukan. Sinubukan ko ang Yaws web server at ang Yaws-chat web client at hindi ito nakabangon at tumatakbo nang maayos. Na-download nila ang PHPFreeChat at wala. Sa Drupal 6 ni Lenny sinubukan kong i-configure ang mga chat plugin at napagod ako noon, maraming taon na ang nakalilipas. Pangarap kong hindi nakasalalay sa pag-install ng mga kliyente at nakikipag-chat sa isang browser lamang. Ang Hamon ay inilunsad.

    1.    eliotime3000 dijo

      Maligayang pagdating mo, kaibigan. Tingnan natin kung makatapos ako ng pag-download ng Wheezy DVD1 upang gumawa ng isang tutorial sa kung paano i-install ang ZPanelX sa bagong bersyon ng Debian Stable (Inaasahan kong hindi pinabayaan ng mga developer ng ZPanel ang suporta ng Ubuntu 12.04 LTS, dahil kung hindi, hindi ako makakagawa ng isang awtomatiko ang pag-install ng control panel na kung saan nakita kong mahusay kapag sinubukan ko ito sa Windows).

  3.   Bago kay Debian dijo

    Kumusta, kung na-install ko ang Debian 7 kanina pa. Gayunpaman wala akong internet, sinasabi nito sa akin na nawawala ako sa firmware. Ito ay isang usb tp link tl-wn321g. Maaari ko ba itong i-download mula sa Windows? Paumanhin na magtanong dito ay hindi ko nais na magparehistro sa anumang debian forum, hindi ko rin masyadong alam ang Ingles.

    1.    eliotime3000 dijo

      Kung ang TP-Link ay mayroong Altheros chipset, dapat itong makilala ito nang walang mga komplikasyon.

      Alamin kung ang iyong modelo ng TP-Link USB ay mayroong Altheros chipset, pati na rin isulat ang Hardware ID.

    2.    komentarista dijo

      Kung nais mong i-download ang iso dito, sila ay mga debian isos ngunit may kasamang mga hindi libreng driver at firmware.

      http://live.debian.net/cdimage/release/7.0.0+nonfree/i386/iso-hybrid/

  4.   Nabulok87 dijo

    Gusto ko ng magandang tuto sa asterisk hehehe

    1.    Julio Cesar dijo

      Inirerekumenda ko na magsimula ka sa pamamagitan ng paggamit ng Trixbox CE o Elastix pareho ay batay sa Asterisk

      http://www.elastix.org/

      http://www.trixbox.com/

  5.   msx dijo

    Napakagandang gabay, maraming salamat 🙂

  6.   alejandrodez dijo

    Mahusay, maraming salamat, napakakinabangan nito.

  7.   @Jlcmux dijo

    Susubukan ko ito sa Mesh Free Network na ipinapatupad namin sa aking lungsod. Pagkatapos sasabihin ko sa iyo kung paano ko ginagawa ito.

    Cheers.!

  8.   @Jlcmux dijo

    Kawawa naman. Nanatili ako sa huling hakbang. Saan ko mai-configure ang DNS? Nakakahiya maging ako lang ang nagtatanong nito haha

  9.   Piccolo Lenz McKay dijo

    Mayroon akong ilang mga kagiliw-giliw na katanungan:

    Alam mo ba o may karanasan para sa isang pag-install sa paggawa ng prosody para sa 3000 mga gumagamit kung saan may kasabay na konektado hindi bababa sa 1000 na nakikipag-chat nang sabay-sabay?

    Suporta para sa: paglipat ng file, VIP, at ito ang pinakamahalagang log ng pag-uusap?

    KAPALIGIRAN: 3 libong mga gumagamit, na may hindi pinagana ang web reg at mga script sa pamamagitan ng server na tinawag sa pamamagitan ng mga cgi prawns para sa pagpaparehistro at pagmamanipula ng gumagamit, sa isang 8-core DELL T110 na may 8Gb ng ram para sa eksklusibong paggamit o para sa ejabberd sa lenny na may naka-port na erland at ejabberd

    Ang bola ay namamaga, pagkatapos mapaunlakan ang maraming mga problema sa ejabberd, nahanap ko ito, sa totoo lang nararamdaman kong nasayang lang ang oras ko ..

    1.    Federico A. Valdes Toujague dijo

      Ang aking pagbati kay PICCORO Lenz McKAY !!!. Tingnan, inirerekumenda kong bisitahin mo ang opisyal na website ng Prosody http://prosody.im, at palawakin ang impormasyon. Wala akong karanasan sa paglipas ng 1000 mga kliyente na nakikipag-chat nang sabay sa Prosody. At sa palagay ko hindi mo nasayang ang iyong oras sa Ejabberd. Isang pasya ang iyong ginawa noong panahon ni Lenny. Sa pamamagitan ng paraan, kinumpirma ko na si Ejabberd ang una kong na-install sa aking lan sa negosyo, kung saan 50 o 60 mga gumagamit ang nag-chat nang sabay. Hindi alam ng server ang tungkol dito, at mayroon lamang itong 512 megabytes ng RAM. 🙂 At yep, nahihirapan akong i-set up ito ng maayos. Napakadali ng Prosody, ngunit inaanyayahan kita na alamin ang higit pa tungkol sa mga potensyal nito. Hindi sa pag-aalinlangan ko siya, ngunit wala akong karanasan na kailangan mo.