Pasang pelayan XMPP (Jabber) dengan Prosody [Dikemas kini]


Ramai di antara kita menggunakan gtalk o Sembang Facebook tanpa mengetahui bahawa protokol yang kita gunakan untuk berkomunikasi tidak lain adalah XMPP (Protokol Pemesejan dan Kehadiran yang Boleh Diperluas) yang terbuka juga.

En GNU / Linux kami mempunyai beberapa aplikasi untuk menubuhkan pelayan kami sendiri XMPP o Jabber seperti yang diketahui juga, ada yang lebih rumit daripada yang lain semasa mengkonfigurasi. Sebagai contoh, kita ada ejabberd, yang cukup sederhana dan ringan, tetapi jika kita ingin mengoptimumkan lebih banyak lagi, kita mempunyai Prosodi.

Kemudian saya tinggalkan awak sebuah artikel diterbitkan di GELAP oleh salah satu pengguna kami (Hugo) dan di mana dia menunjukkan kepada kami cara mengkonfigurasi pelayan kami sendiri XMPP dengan Prosodi.

pengenalan

Semasa memasang pelayan XMPP (Jabber) untuk pemesejan dalaman pada rangkaian tempatan, banyak yang memilih jabber, ejabberd atau openfire, tetapi walaupun berfungsi, aplikasi ini dapat menuntut banyak sumber.

Sekiranya anda mempunyai rangkaian kecil atau sederhana dan anda hanya mahukan khidmat pesanan ringkas, untungnya ada alternatif pelayan ringan yang disebut prosody, yang walaupun diprogramkan dalam LUA yang merupakan bahasa yang ditafsirkan, menurut pembangunnya, ia berfungsi dengan baik ke luajit.

Tutorial ringkas ini akan menerangkan cara memasang dan mengkonfigurasi prosody pada Debian stable.

Penyediaan dan pemasangan

Pakej prosody terletak di repositori Debian, tetapi pembangun perisian ini telah menyediakan repositori untuk Debian dan derivatif yang mengandungi pakej terbaru dan modul tambahan, yang dapat kami gunakan seperti berikut:

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 - kemas kini aptitude sudo

Setelah repositori ditambahkan, kita dapat terus memasang prosody (tambahan menambahkan modul untuk digunakan sasl sebagai mekanisme pengesahan jika perlu, yang memungkinkan untuk menggabungkan prosodi dengan pam, LDAP, dsb.).

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

Kami kemudian menghasilkan sijil yang ditandatangani sendiri untuk domain kami:

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

Ahli sihir akan meminta kami serangkaian data, yang mana yang sangat penting adalah "Nama Umum (misalnya pelayan FQDN atau nama ANDA) "di mana kita harus meletakkan domain kita, kerana kita akan menggunakannya di bahagian VirtualHost fail konfigurasi.

Selain itu, jika di pelayan tempat kita memasang prosody, kita telah mengkonfigurasi iptables Dengan dasar penolakan lalai, kita perlu membuka port yang diperlukan untuk rangkaian kita, misalnya:

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 DITUBUHKAN, BERKAITAN -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 state --state BARU -j TERIMA

konfigurasi

Selanjutnya, kita terus mengubah beberapa baris fail konfigurasi, yang mesti kita edit /etc/prosody/prosody.cfg.lua jadi ia kelihatan seperti ini:

port = {5222, 5269} ssl_ports = {5223} pentadbir = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - pilihan lalai adalah berdasarkan fungsi select (), sebaliknya libevent menggunakan epoll (), yang lebih cekap dan berskala. modules_enabled = {"daftar nama"; "saslauth"; "tls"; "panggilan balik"; "cakera"; "peribadi"; "vcard"; "privasi"; "pemampatan"; "legacyauth"; "versi"; "masa kerja"; "masa"; "ping"; "pep"; "daftar"; - jangan lumpuhkan modul ini, ini bukan sahaja memungkinkan untuk mendaftar tetapi juga menukar kata laluan "adhoc"; "admin_adhoc"; "posix"; "bosh"; - tambahkan baris ini jika anda mahu mengaktifkan jabber melalui http}; allow_registration = false; - dilumpuhkan untuk keselamatan - ubah menjadi benar jika anda ingin membolehkan pembuatan akaun dari pelanggan itu sendiri ssl = {key = "/etc/prosody/certs/localhost.key"; sijil = "/etc/prosody/certs/localhost.cert"; } simpanan = "dalaman"; - storan lalai adalah fail xml - secara opsional kita dapat menggunakan kaedah penyimpanan "sql" - ini memungkinkan menggunakan SQLite, MySQL atau PostgreSQL sebagai backend (walaupun parameter tertentu mesti ditambahkan) autentikasi = "internal_hashed"; - kita dapat menggunakan "internal_plain" jika klien tidak mendukung SCRAM-SHA-1 - jika kita ingin menggunakan kaedah sasl untuk kemudian menggunakan LDAP, kita mesti menggunakan "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"; sijil = "/etc/prosody/certs/mydomain.cu.crt"; }

Setelah fail konfigurasi diubah, kami memulakan semula perkhidmatan:

tolak prosodi perkhidmatan sudo

Sekarang kita akan terus membuat akaun. Dalam hal ini, seperti dalam file konfigurasi kita menonaktifkan registri dari klien, akun harus dibuat secara manual di server. Kaedah pengesahan yang kami pilih dalam konfigurasi (internal_hashed) menjadikan kata laluan tidak disimpan dengan jelas tetapi dengan mekanisme SCRAM-SHA-1. Sekiranya klien pesanan yang ingin kami gunakan tidak mendukung mekanisme ini, kaedah "internal_plain" dapat digunakan dalam konfigurasi.

Mula-mula kita akan membuat akaun pentadbir perkhidmatan yang kita nyatakan dalam konfigurasi (menyatakannya tidak menunjukkan bahawa mereka dibuat secara automatik):

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

Kita boleh menggunakan perintah yang sama untuk akaun lain yang ingin kita buat.

Akhirnya, kami memastikan bahawa perkhidmatan sedang berjalan:

status prosodyctl sudo

Kita harus mendapat mesej seperti berikut:

Prosody dijalankan dengan PID 1310

Konfigurasi pelanggan

Konfigurasi bergantung pada pelanggan, tetapi secara umum perinciannya mudah. Sebagai contoh, untuk Pidgin:

Tab "Asas"

Nama pengguna: John
Domain: mydomain.cu
Sumber: pc-john

Tab "Lanjutan"

Keselamatan sambungan: Gunakan penyulitan jika boleh
Port sambungan: 5222
Sambung ke Pelayan: myserver.mydomain.cu

Bil

Lebih banyak maklumat boleh didapati (termasuk penggunaan Cyrus SASL dengan LDAP dan bagaimana membuat entri dari DNS) Dalam artikel ini dari Debian Wiki.

Un usuario comenta via DesdeLinux que para detener realmente el servicio ha necesitado ejecutar pkill lua5.1


18 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   KZKG ^ Gaara kata

    Saya suka ... mari kita lihat sama ada saya menukar OpenFire untuk ejabberd atau Prosody ini 🙂

    1.    meriah kata

      Saya sudah melakukan ujian di VirtualBox dengan tepat untuk itu .. kerana jika kami menunggu anda anak saya .. ¬¬

      1.    KZKG ^ Gaara kata

        ^ - ^ U ... hehe ...
        Sekarang saya menghantar tiket ke penyedia Hosting yang menanyakan mengenai rekod DNS yang perlu kita hilangkan 'jabber'.

        1.    meriah kata

          Baik. Jabber, IRC, Facebook, Gtalk, saya tidak tahu bagaimana atau di mana, tetapi berhubung ..

  2.   Ernest Infante kata

    Bagaimana integrasi dengan LDAP Prosody? dan BD?

  3.   Reput87 kata

    beberapa gambar untuk yang kurang berpengetahuan tidak akan buruk ^. ^

  4.   penipu kata

    Di rumah saya mempunyai prosody, saya memasangnya untuk menguji dan saya suka kerana kesederhanaannya. Perincian semasa menghentikan pelayan saya harus melakukan lua5.1 pkill untuk benar-benar menghentikannya.

  5.   auroszx kata

    Wah, ini menarik. Adakah cara orang lain dapat membuat pengguna melalui GUI (boleh menjadi web)? Bagaimana anda akan mendapatkan domain untuk menggunakannya? 😛

    1.    penipu kata

      Anda mengaktifkan pendaftaran dalam konfigurasi dan dari pengguna klien yang sama mereka didaftarkan dengan memeriksa pilihan untuk membuat akaun di pelayan.

      allow_registration = benar;

  6.   ferran kata

    Saya mencari pakej prosody dalam slackware, tutorial yang sangat baik. salam

  7.   Arturo Molina kata

    Bagaimana saya dapat mengesahkan jika pengguna berjaya mengesahkan? atau bagaimana saya dapat mengetahui sama ada pengguna disambungkan ke pelayan?

  8.   @Jlcmux kata

    Saya berjaya 😀 Saya dapat memasang dan mengkonfigurasinya dengan betul. Pasang pelayan pada satu PC dan pelanggan adalah PC yang lain. tapi saya ada masalah. Agar pelanggan mengetahui bahawa pelayan saya dengan domain (medellinlibre.org) adalah TEMPATAN. Saya mesti menambah ke fail host IPDELSERVIDOR medellinlibre.org. Sekiranya tidak, ia tidak bersambung, dengan alasan yang jelas. Soalan saya ialah jika tidak ada cara untuk semua PC di rangkaian mengetahui secara lalai bahawa domain ini ada di LAN pada IP tertentu?

    1.    ltd kata

      keraguan yang sama! tahukah anda pada akhirnya ?? Saya mulakan dengan prosodi ...

    2.    penipu kata

      Sangat mudah, di pidgin tentukan ip pelayan dalam pilihan lanjutan, pilihan lain adalah memasang dns di LAN anda.

  9.   Francisco kata

    Topik ini sangat menarik dan saya ingin tahu sama ada Prosody menyokong soket web. Saya berminat untuk membuat pelanggan web xmpp

    1.    @Jlcmux kata

      Anda dapat melihat ini. http://code.google.com/p/xmppwebchat/

  10.   Inukaze kata

    Hai, tidakkah anda mempunyai versi tutorial dengan konfigurasi yang hanya untuk intranet domestik? Tidak ada domain atau yang serupa dengannya. hampir tidak hanya 1 komputer dengan Liñux adalah pelayan dan komputer lain yang bersambung dengannya

    Hanya untuk dapat berbual antara komputer intranet melalui pidgin.