Øjeblikkelig besked med Prosody på Debian Squeeze

prosodi

Hej venner!. I dag præsenterer jeg en moderne og fleksibel server for dig Jabber / XMPP, skrevet på sproget Lua og tidligere kendt som Lxmppd. Det har kendetegnene ved at være et system med flere platforme med meget lavt ressourceforbrug, let at bruge og udvideligt. Og uden yderligere ado, lad os komme i gang! De kan virke som mange aspekter, men de er virkelig enkle og korte. Vi ser nu:

  • Baseserver
  • Vi installerer nødvendige pakker
  • Lad os lære at konfigurere
  • Vi konfigurerer globale parametre
  • Vi opretter og konfigurerer den virtuelle vært
  • Vi genererer SSL / TLS-certifikater
  • Vi aktiverer værten
  • Vi opretter den første bruger
  • Vi registrerer vores Prosody i en DNS
  • Vi tjekker alt

Baseserver
Det lave ressourceforbrug giver os mulighed for at installere Prosody selv i vores egen arbejdsstation og levere chattjenesten fra den.

Vi installerer nødvendige pakker
For at gøre os bekendt med Prosody skal vi bruge de officielle pakker, der kommer i Squeeze-arkivet:

aptitude installer prosody liblua5.1-sec0

Lad os lære at konfigurere
Lad os læse den medfølgende dokumentation /usr/share/doc/prosody/doc/coding_style.txt, for at gøre os bekendt med det format, der bruges i konfigurationsfilerne. Lad os gå til mappen / etc / prosody og vi viser de eksisterende filer og mapper. Navnene på hver mappe eller fil er intuitive og angiver tydeligt, hvad de bruges til:

  • CERT: Katalog hvor SSL / TLS-certifikaterne og deres private nøgler gemmes.
  • konf. tilgængelig: Katalog, der indeholder konfigurationsfilerne til de virtuelle værter, som vi erklærer tilgængelige. Det fungerer meget lig det, der blev set i tidligere indlæg om webservere, som i tilfældet med Nginx-tilgængelige mapper.
  • conf.d: Mappe, hvor de direkte links fra virtuelle værter er angivet i konf.avil og at vi vil aktivere.
  • prosody.cfg.lua: hovedfil til Prosody-konfigurationen.
  • README: Fil, der giver os et "spor" til at komme videre. Stop ikke med at læse det!

Med det, vi hidtil har læst, kan vi prøve en minimal indledende konfiguration.

Vi konfigurerer de globale parametre
Vi studerer grundigt hovedkonfigurationsfilen/etc/prosody/prosody.cfg.lua, som jeg lavede en gratis oversættelse til, og som vi kan downloade i slutningen. Lad os gemme den oprindelige fil installeret ved hjælp af følgende kommando:

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

Vi tømmer konfigurationsfilen. Med nano, vi redigerer prosody.cfg.lua allerede tømt, og indsæt indholdet af den downloadede eksempelfil. Vi ændrer det efter vores behov og sparer med det sædvanlige ctl + eller. Senere kontrollerer vi syntaxen for konfigurationsfilen:

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 nogen besked, er det, at alt er i orden.

Vi opretter og konfigurerer den virtuelle vært
Filen til vores virtuelle vært, vi opretter den i biblioteket /etc/prosody/conf.avail/med værtsnavnet plus udvidelsen .conf.lua, og vi opretter det fra fileneksempel.com.cfg.lua eksisterende i den mappe:

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 ændrer filen med de korrekte parametre i henhold til vores behov. Vi kan downloade en version, der er i overensstemmelse med dette eksempel i slutningen af ​​indlægget. Glem ikke at slette linjen enabled = false - Fjern denne linje for at aktivere denne vært.

Vi genererer SSL / TLS-certifikater
Når de udfører kommandoen om at generere certifikaterne, beder de os om oplysninger relateret til vores firma.

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

Vi kontrollerer, at certifikaterne blev genereret korrekt af ls-l.

Vi aktiverer værten
For at aktivere værten erklæret i /etc/prosody/conf.avail/web.amigos.cu.cfg.lua, skal vi oprette et symbolsk link til den fil i mappen conf.d. Så skal vi genstarte tjenesten:

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

Tip: Åbn en dedikeret konsol for at se Prosody-logbeskeder ved hjælp af kommandoen hale -f /var/log/prosody/prosody.log. Hvis den sidste linje siger "Demoniseret med succes til PID ####", så fungerer alt til Kilo!. Hvis du tilfældigvis får en fejlmeddelelse, er du muligvis nødt til at dræbe processen manuelt "Lua" at den kører FØR genstart af Prosody. At kende pid del Lua, løbps -e | grep lua. For at dræbe processen, dræb-dræb #pid del lua.

Vi opretter den første bruger
For at oprette brugere bruger vi kommandoen prosodyktl som følger:

prosodyctl adduser admin@web.amigos.cu

Kommandoen vil bede os om "Adgangskode" bruger. Bemærk, at vi opretter brugeren "Admin", som vi erklærer som Prosody-administrator i den globale konfigurationsfil prosody.cfg.lua.

VI ANBEFALER IKKE at bruge kommandoen prosodyktl at stoppe, starte eller genstarte tjenesten, men gør det ved traditionelle metoder som:

/etc/init.d/prosody {start | stop | genstart | genindlæs} påkald-rc.d prosody {start | stop | genstart | genindlæs} service prosody {start | stop | genstart | genindlæs}

Vi registrerer vores Prosody i en DNS
Chat-tjenesten er stærkt afhængig af DNS-tjenesten. Hver bruger identificeres af sin adresse eller JID i vejen for bruger @ domæne, hvor domænet angiver den server, som kontoen er gemt på. For at brugeren kan oprette forbindelse og logge ind, er det nødvendigt at finde serverens IP-adresse. Tilsvarende skal eksterne servere kontakte bruger @ domæne at sende dig en besked. Derfor er det nødvendigt, at Prosody-serveren har en posttype A i DNS-serveren på vores LAN. For eksempel:

192.168.10.20 IN Til web.amigos.cu.

Vi tjekker alt
Vi har allerede vores Prosody-server kørende. Lad os chatte så! Installer Pidgin eller Psi, eller vælg den valgte XMPP-klient, og opret forbindelse til serveren. Hvis det lykkes, er det fordi han fulgte indholdet af denne artikel til punkt og prikke. Hvis ikke, spørg, det er hvad blogs som dette blev lavet til. Ahhh, hvis du vil chatte fra en konsol, skal du installere Finch.

Vi lavede en pakke med dokumentationen fra det officielle Prosody-sted, som vi håber vil være nyttigt. De, der ønsker at downloade pakkerne direkte fra Prosody-arkivet, skal besøge Prosody pakke arkiv.

Til alle, held og lykke og glad chat!

Download eksempler på filer

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   eliotime3000 sagde han

    Godt forslag. Lad os se, om jeg tager mig tid til at oprette en chat-klient.

    1.    Elav sagde han

      En anden XMPP-klient? Mand, jeg synes ikke det er nødvendigt, medmindre du gør det for at lære og sætte det som dit mål. De er allerede Pidgin, Kopete, KDE-Telephaty, Empathy, PSI ... alligevel.

      1.    djæger sagde han

        Så meget som en anden klient tror jeg ikke, men det ville være sjovt at lege med XMPP API og sende meddelelser fra applikationer.

      2.    rådner87 sagde han

        Det ville være fint, hvis du f.eks. Har brug for at lave en slags chat til et internt netværk eller lignende

      3.    braybaut sagde han

        Hvis det er sandt, men denne tutorial bruges til at implementere en XMPP-klient i gratis netværk

        1.    djæger sagde han

          Denne tutorial er til serveren, der er allerede et par gratis klienter.

      4.    eliotime3000 sagde han

        For Windows ville det tjene meget (i fravær af den mytiske Messenger, ville det være godt at lave en bedre, ikke?).

  2.   Federico A. Valdes Toujague sagde han

    Tak alle sammen for dine kommentarer. Min drøm er at have en webklient til at chatte på mit LAN. Jeg installerede ejabberd med JwChat, og da grænsefladen i Squeeze var klæbrig (og grim og buggy), prøvede jeg det ikke engang. Jeg har prøvet Yaws-webserveren og dens Yaws-chat-webklient og kunne ikke få den til at fungere korrekt. De downloadede PHPFreeChat og intet. Med Lenys Drupal 6 forsøgte jeg at konfigurere plugins til chatten og blev træt dengang for flere år siden. Jeg drømmer om ikke at være afhængig af installationen af ​​klienter og ikke chatte med en browser mere. Udfordringen er lanceret.

    1.    eliotime3000 sagde han

      Du er velkommen, ven. Lad os se, om jeg kan afslutte download af Wheezy DVD1 for at lave en tutorial om, hvordan jeg installerer ZPanelX i den nye version af Debian Stable (jeg håber, at ZPanel-udviklerne ikke opgiver Ubuntu 12.04 LTS-understøttelsen, for ellers kunne jeg ikke lave en automatiseret installation af det kontrolpanel, som jeg fandt godt, da jeg testede det på Windows).

  3.   Nyt for Debian sagde han

    Hej, hvis jeg installerede Debian 7 for lidt siden. Men jeg har ikke internet, det fortæller mig, at jeg mangler firmwaren. Det er et usb tp-link tl-wn321g. Kan jeg downloade det fra Windows? Beklager at spørge her er, at jeg ikke ønsker at registrere mig i noget debianforum, og jeg kender heller ikke engelsk meget godt.

    1.    eliotime3000 sagde han

      Hvis TP-Link har Altheros-chipsættet, skal det genkende det uden komplikationer.

      Find ud af, om din TP-Link USB-model har Altheros-chipsættet, samt skriv ned hardware-id'et.

    2.    kommentator sagde han

      Hvis du vil downloade iso her, er de debian isos, men de leveres med ikke-gratis drivere og firmware.

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

  4.   rådner87 sagde han

    Jeg vil gerne have en god tuto på stjerne hehehe

    1.    Julio Cesar sagde han

      Jeg anbefaler, at du starter med at bruge Trixbox CE eller Elastix, begge er baseret på Asterisk

      http://www.elastix.org/

      http://www.trixbox.com/

  5.   MSX sagde han

    Meget god guide, meget tak 🙂

  6.   alejandrodez sagde han

    Fremragende, mange tak, det har været meget nyttigt.

  7.   @Jlcmux sagde han

    Jeg vil teste det i Mesh Free Network, som vi implementerer i min by. Så fortæller jeg dig, hvordan jeg har det med dette.

    Skål.!

  8.   @Jlcmux sagde han

    Hvilken skam. Jeg blev i det sidste trin. Hvor konfigurerer jeg DNS? Hvilken skam at være den eneste, der spørger dette haha

  9.   Piccolo Lenz McKay sagde han

    Jeg har nogle meget interessante spørgsmål:

    Har du kendt, eller er der erfaring med en installation i produktion af prosody til 3000 brugere, hvor der samtidig er mindst 1000 chatter på samme tid?

    Støtte til: filoverførsel, VIP, og er dette den vigtigste samtalelog?

    MILJØ: 3 tusind brugere med deaktiveret webreg og scripts via server påkrævet gennem cgi rejer til brugerregistrering og manipulation i en 8-core DELL T110 med 8 GB RAM til eksklusiv brug eller til ejabberd i lenny med ported erland og ejabberd

    Bolden svulmer op, efter at have plads til mange problemer i ejabberd, finder jeg dette, i sandhed får dette mig til at føle, at jeg spildte min tid ..

    1.    Federico A. Valdes Toujague sagde han

      Med venlig hilsen PICCORO Lenz McKAY !!!. Se, jeg anbefaler, at du besøger Prosodys officielle hjemmeside http://prosody.im, og udvid oplysningerne. Jeg har ingen erfaring med over 1000 klienter, der chatter på samme tid med Prosody. Og jeg tror ikke, du har spildt din tid med Ejabberd. Det er en beslutning, du tog i Lenys tid. Forresten indrømmer jeg, at Ejabberd var den første, jeg installerede på min forretningsplan, hvor måske 50 eller 60 brugere chattede i fællesskab. Serveren vidste det ikke engang, og at den kun havde 512 megabyte RAM. 🙂 Og ja, jeg havde svært ved at konfigurere det ordentligt. Prosody er meget enkel, men jeg inviterer dig til at finde ud af mere om dens potentialer. Det er ikke, at jeg tvivler på ham, men at jeg ikke har den erfaring, du har brug for.