Direktemeldinger med Prosody på Debian Squeeze

prosodi

Hei venner!. I dag presenterer jeg en moderne og fleksibel server for deg Jabber / XMPP, skrevet på språket Lua og tidligere kjent som Lxmppd. Det har egenskapene til å være et system med flere plattformer, med veldig lavt ressursforbruk, lett å bruke og utvidbart. Og uten videre, la oss komme i gang! De kan virke som mange aspekter, men de er enkle og korte. Vi får se nå:

  • Baseserver
  • Vi installerer nødvendige pakker
  • La oss lære å konfigurere
  • Vi konfigurerer globale parametere
  • Vi oppretter og konfigurerer den virtuelle verten
  • Vi genererer SSL / TLS-sertifikater
  • Vi aktiverer verten
  • Vi oppretter den første brukeren
  • Vi registrerer Prosody i en DNS
  • Vi sjekker alt

Baseserver
Det lave ressursforbruket gjør at vi kan installere Prosody selv i vår egen arbeidsstasjon og tilby chattjenesten fra den.

Vi installerer nødvendige pakker
For å bli kjent med Prosody, skal vi bruke de offisielle pakkene som kommer i Squeeze-depotet:

aptitude installer prosody liblua5.1-sec0

La oss lære å konfigurere
La oss lese den medfølgende dokumentasjonen /usr/share/doc/prosody/doc/coding_style.txt, for å gjøre oss kjent med formatet som brukes i konfigurasjonsfilene. La oss gå til mappen / etc / prosody og vi lister opp eksisterende filer og kataloger. Navnene på hver mappe eller fil er intuitive og angir tydelig hva de brukes til:

  • sertifikater: Katalog der SSL / TLS-sertifikatene og deres private nøkler blir lagret.
  • konf. tilgjengelig: Katalog som inneholder konfigurasjonsfilene til de virtuelle vertene som vi erklærer tilgjengelige. Det fungerer veldig likt det som ble sett i tidligere innlegg relatert til webservere, som i tilfelle nettsteder-tilgjengelig mappe til Nginx.
  • konf. d: Mappe der de direkte koblingene til virtuelle verter er deklarert i conf.avil og som vi ønsker å aktivere.
  • prosody.cfg.lua: hovedfil av Prosody-konfigurasjonen.
  • README: Fil som gir oss en "ledetråd" for å komme videre. Ikke slutt å lese den!

Med det vi har lest så langt, kan vi prøve en minimal innledende konfigurasjon.

Vi konfigurerer de globale parametrene
Vi studerer hovedkonfigurasjonsfilen nøye/etc/prosody/prosody.cfg.lua, som jeg laget en gratis oversettelse for, og som vi kan laste ned til slutt. La oss lagre den opprinnelige filen som er installert ved hjelp av følgende kommando:

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

Vi tømmer konfigurasjonsfilen. Med nano, redigerer vi prosody.cfg.lua allerede tømt, og lim inn innholdet i den nedlastede eksempelfilen. Vi endrer det etter våre behov, og sparer med det vanlige ctl + eller. Senere sjekker vi syntaksen til konfigurasjonsfilen:

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

Og hvis du ikke returnerer noen melding, er det at alt er bra.

Vi oppretter og konfigurerer den virtuelle verten
Filen til vår virtuelle vert, vi lager den i katalogen /etc/prosody/conf.avail/med vertsnavnet, pluss utvidelsen .conf.lua, og vi oppretter den fra fileneksempel.com.cfg.lua eksisterende i den mappen:

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

Vi endrer filen med de riktige parametrene i henhold til våre behov. Vi kan laste ned en versjon som er i samsvar med dette eksemplet på slutten av innlegget. Ikke glem å slette linjen enabled = false - Fjern denne linjen for å aktivere denne verten.

Vi genererer SSL / TLS-sertifikater
Når de utfører kommandoen for å generere sertifikatene, vil de be oss om informasjon relatert til vårt firma.

cd / etc / prosody / certs openssl req -nye -x509-dager 365 -noder -out "web.amigos.cu.crt" -keyout "web.amigos.cu.key"

Vi sjekker at sertifikatene ble generert riktig av ls-l.

Vi aktiverer verten
For å aktivere verten erklært i /etc/prosody/conf.avail/web.amigos.cu.cfg.lua, må vi opprette en symbolsk lenke til den filen i mappen konf. d. Da må vi starte tjenesten på nytt:

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

Tips: Åpne en dedikert konsoll for å vise Prosody-loggmeldinger ved hjelp av kommandoen hale -f /var/log/prosody/prosody.log. Hvis den siste linjen sier "Demonisert til PID ####", så fungerer alt til kilo!. Hvis du tilfeldigvis får en feilmelding, kan det hende du må drepe prosessen manuelt "Lua" at den kjører FØR du starter Prosody på nytt. Å vite pid del Lua, løpps -e | grep lua. For å drepe prosessen, drep -drep #pid del lua.

Vi oppretter den første brukeren
For å opprette brukere bruker vi kommandoen prosodyktl som følger:

prosodyctl adduser admin@web.amigos.cu

Kommandoen vil be oss om "Passord" bruker. Legg merke til at vi oppretter brukeren "Admin", som vi erklærer som Prosody-administrator i den globale konfigurasjonsfilen prosody.cfg.lua.

VI ANBEFALER IKKE å bruke kommandoen prosodyktl for å stoppe, starte eller starte tjenesten på nytt, men gjør det ved tradisjonelle metoder som:

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

Vi registrerer Prosody i en DNS
Chat-tjenesten er sterkt avhengig av DNS-tjenesten. Hver bruker identifiseres av adressen eller IADB i veien for bruker @ domene, der domenet angir serveren som kontoen er lagret på. For at brukeren skal kunne koble til og logge på, er det nødvendig å finne IP-adressen til serveren. Tilsvarende må eksterne servere kontakte bruker @ domene for å gi deg en melding. Derfor er det nødvendig at Prosody-serveren har en platetype A i DNS-serveren til vårt LAN. For eksempel:

192.168.10.20 IN Til web.amigos.cu.

Vi sjekker alt
Vi har allerede kjørt Prosody-serveren vår. La oss prate da! Installer Pidgin eller Psi, eller velg XMPP-klienten du ønsker og koble til serveren. Hvis han lykkes, er det fordi han fulgte innholdet i denne artikkelen til punkt og prikke. Hvis ikke, spør, det er det blogger som dette ble laget for. Ahhh, hvis du vil chatte fra en konsoll, installer du Finch.

Vi laget en pakke med dokumentasjonen fra Prosody offisielle side, som vi håper vil være nyttig. De som ønsker å laste ned pakkene direkte fra Prosody-depotet, besøker Oppbevaringssted for prosodipakke.

Til alle lykke til og lykkelig Chat!

Last ned eksempelfiler

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   eliotime3000. sa

    Godt forslag. La oss se om jeg har tid til å lage en chat-klient.

    1.    livlig sa

      En annen XMPP-klient? Jeg tror ikke det er nødvendig med mindre du gjør det for å lære og sette det som ditt mål. De er allerede Pidgin, Kopete, KDE-Telephaty, Empathy, PSI ... uansett.

      1.    dhunter sa

        Vel, like mye som en annen klient, tror jeg ikke det, men det ville være gøy å spille med XMPP API og sende meldinger fra applikasjoner.

      2.    råtner87 sa

        Det ville være greit hvis du for eksempel trenger å lage en slags chat for et internt nettverk eller noe lignende

      3.    braybaut sa

        Hvis det er sant, men denne opplæringen brukes til å implementere en XMPP-klient i gratis nettverk

        1.    dhunter sa

          Denne opplæringen er for serveren, det er allerede noen få gratis klienter.

      4.    eliotime3000. sa

        For Windows ville det tjene mye (i fravær av den mytiske Messenger, ville det være bra å lage en bedre, ikke sant?).

  2.   Federico A. Valdes Toujague sa

    Takk alle for kommentarene. Drømmen min er å ha en webklient til å chatte på LAN-nettverket mitt. Jeg installerte ejabberd med JwChat, og siden grensesnittet i Squeeze var klebrig (og stygt og buggy), prøvde jeg det ikke engang. Jeg prøvde Yaws-webserveren og dens Yaws-chat-webklient og kunne ikke få den til å fungere ordentlig. De lastet ned PHPFreeChat og ingenting. Med Lenny's Drupal 6 prøvde jeg å konfigurere plugin-modulene for chatten, og jeg ble lei den gangen, for flere år siden. Jeg drømmer om ikke å være avhengig av installasjonen av klienter og ikke chatte med en nettleser mer. Utfordringen er lansert.

    1.    eliotime3000. sa

      Du er velkommen, kompis. La oss se om jeg kan laste ned Wheezy DVD1 for å gjøre en veiledning om hvordan jeg installerer ZPanelX i den nye versjonen av Debian Stable (jeg håper at ZPanel-utviklerne ikke forlater Ubuntu 12.04 LTS-støtten, for ellers kunne jeg ikke gjøre en automatisert installasjonen av det kontrollpanelet som jeg syntes var bra da jeg testet det på Windows).

  3.   Nyhet for Debian sa

    Hei, hvis jeg installerte Debian 7 for en liten stund siden. Imidlertid har jeg ikke internett, det forteller meg at jeg mangler fastvaren. Det er en usb tp lenke tl-wn321g. Kan jeg laste den ned fra Windows? Beklager å spørre her er at jeg ikke vil registrere meg i noe debianforum, og jeg kan ikke engelsk veldig bra.

    1.    eliotime3000. sa

      Hvis TP-Link har Altheros-brikkesettet, bør den gjenkjenne det uten komplikasjoner.

      Finn ut om TP-Link USB-modellen din har Altheros-brikkesettet, så vel som maskinvare-ID.

    2.    kommentator sa

      Hvis du vil laste ned iso her, er de debian isos, men de kommer med ikke-gratis drivere og firmware.

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

  4.   råtner87 sa

    Jeg vil gjerne ha en god tuto på stjerne hehehe

    1.    Julio Cesar sa

      Jeg anbefaler at du starter med å bruke Trixbox CE eller Elastix begge er basert på Asterisk

      http://www.elastix.org/

      http://www.trixbox.com/

  5.   MSX sa

    Veldig god guide, tusen takk 🙂

  6.   alejandrodez sa

    Utmerket, tusen takk det har vært veldig nyttig.

  7.   @Jlcmux sa

    Jeg vil teste det i Mesh Free Network som vi implementerer i byen min. Så skal jeg fortelle deg hvordan jeg har det med dette.

    Jubel.!

  8.   @Jlcmux sa

    Så synd. Jeg ble i det siste trinnet. Hvor konfigurerer jeg DNS? Så synd å være den eneste som spør dette haha

  9.   Piccolo Lenz McKay sa

    Jeg har noen veldig interessante spørsmål:

    Har du kjent eller er det erfaring for en installasjon i produksjon av prosody for 3000 brukere der det samtidig er koblet til minst 1000 chatter samtidig?

    Støtte for: filoverføring, VIP, og er dette den viktigste samtaleloggen?

    MILJØ: 3 tusen brukere, med deaktivert webreg og skript via server påkalt gjennom cgi reker for brukerregistrering og manipulering, i en 8-kjernet DELL T110 med 8 GB ram for eksklusiv bruk eller for ejabberd i lenny med ported erland og ejabberd

    Ballen svulmer, etter å ha fått plass til mange problemer i ejabberd, finner jeg dette, i sannhet får dette meg til å føle at jeg har kastet bort tiden min ..

    1.    Federico A. Valdes Toujague sa

      Hilsen PICCORO Lenz McKAY !!!. Jeg anbefaler deg å besøke den offisielle nettsiden til Prosody http://prosody.im, og utvid informasjonen. Jeg har ingen erfaring over 1000 klienter som chatter samtidig med Prosody. Og jeg tror ikke du har kastet bort tiden din med Ejabberd. Det er en beslutning du tok på Lennys tid. Forresten innrømmer jeg at Ejabberd var den første jeg installerte på forretningsområdet mitt, der kanskje 50 eller 60 brukere chattet i kor. Serveren visste det ikke engang, og at den bare hadde 512 megabyte RAM. 🙂 Og ja, jeg hadde vanskelig for å sette det opp ordentlig. Prosody er veldig enkel, men jeg inviterer deg til å finne ut mer om potensialene. Det er ikke det at jeg tviler på ham, men at jeg ikke har den erfaringen du trenger.