Instalirajte XMPP (Jabber) server sa Prosody [Ažurirano]


Mnogi od nas koriste gtalk o Facebook chat a da nismo znali da protokol koji koristimo za komunikaciju nije ništa drugo do XMPP (Proširivi protokol za razmjenu poruka i prisutnost) koja je takođe otvorena.

En GNU / Linux imamo nekoliko aplikacija za postavljanje vlastitog servera XMPP o Jabber kao što je također poznato, neki su kompliciraniji od drugih prilikom konfiguriranja. Na primjer, imamo ejabberd, što je prilično jednostavno i lagano, ali ako želimo optimizirati mnogo više, imamo Prozodija.

Onda te ostavljam članak objavljeno u GUTL od strane jednog od naših korisnika (Hugo) i gdje nam pokazuje kako konfigurirati vlastiti server XMPP con Prozodija.

Uvod

Kada instaliraju XMPP (Jabber) poslužitelj za internu razmjenu poruka na lokalnoj mreži, mnogi biraju jabber, ejabberd ili openfire, ali iako su funkcionalne, ove aplikacije mogu zahtijevati puno resursa.

Ako imate malu ili srednju mrežu i želite samo jednostavnu uslugu razmjene trenutnih poruka, na sreću postoji lagana serverska alternativa koja se naziva prozodija, koja je iako programirana na LUA-i, što je interpretirani jezik, prema riječima njenih programera, ona funkcionira vrlo dobro zahvaljujući do luajit.

Ovaj kratki vodič objasnit će vam kako instalirati i konfigurirati prozodiju na Debian stabilnoj.

Pripreme i ugradnja

Paketi Prosody nalaze se u spremištu Debian, ali programeri ovog softvera pripremili su spremište za Debian i derivate koji sadrže nedavne pakete i dodatne module, koje možemo koristiti na sljedeći način:

odjek "deb http://packages.prosody.im/debian glavni glavni" | sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add - ažuriranje sudo aptitude

Jednom kada je spremište dodano, možemo nastaviti s instaliranjem prozodije (dodatno dodavanjem modula za upotrebu sasl kao mehanizam za provjeru autentičnosti ako je potrebno, koji omogućava integriranje prozodije sa pam, LDAP, itd.).

sudo aptitude instaliraj sasl2-bin libsasl2-modules-ldap prozodija liblua5.1- {sec0, cyrussasl0, event-prosody0}

Zatim nastavljamo s generiranjem samopotpisanih certifikata za našu domenu:

cd / etc / prosody / certs sudo openssl req -new -x509 -days 1095 -nodes -out "mydomain.cu.cert" -keyout "mydomain.cu.key"

Čarobnjak će nas pitati za niz podataka, od kojih je zaista bitan „Uobičajeno ime (npr. Server FQDN ili VAŠE ime) “gdje moramo staviti svoju domenu, jer ćemo je koristiti u odjeljku VirtualHost konfiguracijska datoteka.

Pored toga, ako smo konfigurirali server na kojem instaliramo prozodiju iptables Sa zadanim politikama odbijanja, moramo otvoriti potrebne portove za našu mrežu, na primjer:

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 USTANOVLJENO, POVEZANO -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 država - država NOVO -j PRIHVATI

konfiguracija

Dalje, nastavljamo s modificiranjem nekih redaka konfiguracijske datoteke, za koje moramo urediti /etc/prosody/prosody.cfg.lua pa izgleda ovako:

portovi = {5222, 5269} ssl_ports = {5223} admins = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - zadana opcija temelji se na funkciji select (), umjesto toga libevent koristi epoll (), koja je učinkovitija i skalabilna. modules_enabled = {"spisak"; "saslauth"; "tls"; "dialback"; "disk"; "privatno"; "vcard"; "privatnost"; "kompresija"; "legacyauth"; "verzija"; "radno vrijeme"; "vrijeme"; "ping"; "pep"; "registar"; - nemojte onemogućiti ovaj modul, on omogućava ne samo registraciju već i promjenu "adhoc" lozinki; "admin_adhoc"; "posix"; "bosh"; - dodajte ovaj red ako želite omogućiti jabber preko http}; allow_registration = false; - onemogućeno zbog sigurnosti - promijenite na true ako želite omogućiti stvaranje računa od samog klijenta ssl = {key = "/etc/prosody/certs/localhost.key"; certifikat = "/etc/prosody/certs/localhost.cert"; } skladište = "interno"; - zadana memorija je xml datoteka - opcionalno možemo koristiti metodu "sql" memorije - to omogućava upotrebu SQLite, MySQL ili PostgreSQL kao pozadine (iako se moraju dodati određeni parametri) authentication = "internal_hashed"; - možemo koristiti "internal_plain" ako klijent ne podržava SCRAM-SHA-1 - ako želimo koristiti metodu sasl da bismo kasnije koristili LDAP, moramo koristiti "cyrus" log = {error = "/ var / log / prosody / prozodija. greška "; 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"; certifikat = "/etc/prosody/certs/mydomain.cu.crt"; }

Nakon što je konfiguracijska datoteka izmijenjena, ponovo pokrećemo uslugu:

sudo usluga prozodija oduzmi

Sada ćemo nastaviti s izradom računa. U ovom slučaju, kao što u konfiguracijskoj datoteci onemogućujemo registraciju od klijenata, računi će se morati ručno kreirati na serveru. Metoda provjere autentičnosti koju odaberemo u konfiguraciji (internal_hashed) omogućuje da se lozinke ne spremaju jasno, već s mehanizmom SCRAM-SHA-1. Ako klijent za razmjenu poruka koji namjeravamo koristiti ne podržava ovaj mehanizam, u konfiguraciji se može koristiti metoda "internal_plain".

Prvo ćemo stvoriti račune administratora usluge koje deklariramo u konfiguraciji (njihovo objavljivanje ne znači da se automatski kreiraju):

sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu

Istu naredbu možemo koristiti za bilo koji drugi račun koji želimo stvoriti.

Na kraju provjeravamo radi li usluga:

sudo prosodyctl status

Trebali bismo dobiti poruku poput ove:

Prosody radi sa PID 1310

Konfiguracija klijenta

Konfiguracija ovisi o klijentu, ali općenito detalji su jednostavni. Na primjer, za Pidgin:

Kartica "Osnovno"

Korisničko ime: Huan
Domain: mydomain.cu
Resurs: pc-john

Kartica "Napredno"

Sigurnost veze: Koristite šifriranje ako je moguće
Priključni port: 5222
Povežite se sa serverom: myserver.mydomain.cu

Notas

Možete pronaći više informacija (uključujući upotrebu Cyrus SASL sa LDAP i kako kreirati unose iz DNS) en Ovaj članak s Debian Wiki-a.

Korisnik komentariše putem DesdeLinux da biste zaista zaustavili uslugu koju ste trebali izvršiti pkill lua5.1


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   KZKG ^ Gaara rekao je

    Sviđa mi se ... da vidimo hoću li jednom zauvijek promijeniti OpenFire za ejabberd ili ovaj Prosody Pros

    1.    živahno rekao je

      Već radim testove u VirtualBoxu upravo za to .. jer ako te čekamo sine moj .. ¬¬

      1.    KZKG ^ Gaara rekao je

        ^ - ^ U ... hehe ...
        Sada šaljem kartu dobavljaču hostinga sa pitanjem o DNS zapisu koji treba ukloniti 'jabber.'______

        1.    živahno rekao je

          U redu. Jabber, IRC, Facebook, Gtalk, ne znam kako i gdje, ali povežite se ..

  2.   Ernest Infante rekao je

    Kakva je integracija s LDAP-om prozodije? i BD?

  3.   rots87 rekao je

    par slika za manje upućene ne bi bilo loše ^. ^

  4.   dhunter rekao je

    Kod kuće imam prozodiju, instalirao sam je za testiranje i svidjela mi se zbog jednostavnosti. Detalji prilikom zaustavljanja servera moram napraviti pkill lua5.1 da bih ga stvarno zaustavio.

  5.   auroszx rekao je

    Wow, ovo je zanimljivo. Postoji li način na koji drugi ljudi mogu stvoriti korisnike putem GUI-ja (može biti web)? Kako biste dobili domen da biste ga koristili? 😛

    1.    dhunter rekao je

      Omogućite registraciju u konfiguraciji i iz istog klijentskog jabbera oni su registrirani provjerom opcije za kreiranje računa na poslužitelju.

      allow_registration = istina;

  6.   ferran rekao je

    Tražim prozodijske pakete u slackwareu, odličan vodič. pozdrav

  7.   Arturo Molina rekao je

    Kako mogu provjeriti je li korisnik uspio provjeriti autentičnost? ili kako mogu znati da li je korisnik povezan sa serverom?

  8.   @Jlcmux rekao je

    Uspio sam 😀 Mogao sam ga pravilno instalirati i konfigurirati. Instalirajte server na jedan PC, a klijent je drugi PC. ali imam problem. Da bi klijent znao da je moj poslužitelj s domenom (medellinlibre.org) LOKALNI. Moram dodati u datoteku domaćina IPDELSERVIDOR medellinlibre.org. Ako nije, neće se povezati iz očiglednih razloga. Moje pitanje je ako ne postoji mogućnost da svi računari na mreži podrazumevano znaju da je ta domena na LAN-u sa datom IP-om?

    1.    ltd rekao je

      ista sumnja! jesi li znao na kraju ?? Počinjem s prozodijom ...

    2.    dhunter rekao je

      Vrlo jednostavno, u pidgin navedite ip servera u naprednim opcijama, druga opcija je montiranje dns-a na vaš LAN.

  9.   Francisco rekao je

    Ova je tema vrlo zanimljiva i želio sam znati podržava li Prosody websockets. Zanima me izrada xmpp web klijenta

    1.    @Jlcmux rekao je
  10.   Inukaze rekao je

    Bok, zar nemate verziju vodiča s konfiguracijom koja je samo za domaći intranet? Nema domene ili slično. jedva da samo jedan računar sa Liñuxom bude server i ostali računari koji se na njega povezuju

    Jedino što možete da razgovarate između računara na intranetu putem pidgina.