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
Saya suka ... mari kita lihat sama ada saya menukar OpenFire untuk ejabberd atau Prosody ini 🙂
Saya sudah melakukan ujian di VirtualBox dengan tepat untuk itu .. kerana jika kami menunggu anda anak saya .. ¬¬
^ - ^ U ... hehe ...
Sekarang saya menghantar tiket ke penyedia Hosting yang menanyakan mengenai rekod DNS yang perlu kita hilangkan 'jabber'.
Baik. Jabber, IRC, Facebook, Gtalk, saya tidak tahu bagaimana atau di mana, tetapi berhubung ..
Bagaimana integrasi dengan LDAP Prosody? dan BD?
Inilah caranya: http://blog.marc-seeger.de/2009/12/30/setting-up-prosody-to-authenticate-against-ldap/
beberapa gambar untuk yang kurang berpengetahuan tidak akan buruk ^. ^
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.
Wah, ini menarik. Adakah cara orang lain dapat membuat pengguna melalui GUI (boleh menjadi web)? Bagaimana anda akan mendapatkan domain untuk menggunakannya? 😛
Anda mengaktifkan pendaftaran dalam konfigurasi dan dari pengguna klien yang sama mereka didaftarkan dengan memeriksa pilihan untuk membuat akaun di pelayan.
allow_registration = benar;
Saya mencari pakej prosody dalam slackware, tutorial yang sangat baik. salam
Bagaimana saya dapat mengesahkan jika pengguna berjaya mengesahkan? atau bagaimana saya dapat mengetahui sama ada pengguna disambungkan ke pelayan?
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?
keraguan yang sama! tahukah anda pada akhirnya ?? Saya mulakan dengan prosodi ...
Sangat mudah, di pidgin tentukan ip pelayan dalam pilihan lanjutan, pilihan lain adalah memasang dns di LAN anda.
Topik ini sangat menarik dan saya ingin tahu sama ada Prosody menyokong soket web. Saya berminat untuk membuat pelanggan web xmpp
Anda dapat melihat ini. http://code.google.com/p/xmppwebchat/
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.