พวกเราหลายคนใช้ Gtalk o Facebook Chat โดยไม่รู้ว่าโปรโตคอลที่เราใช้สื่อสารนั้นไม่มีใครอื่นนอกจาก XMPP (โปรโตคอลการส่งข้อความและการแสดงตนที่ขยายได้) ซึ่งเปิดให้บริการเช่นกัน
En GNU / Linux เรามีแอพพลิเคชั่นมากมายสำหรับตั้งค่าเซิร์ฟเวอร์ของเราเอง XMPP o ส่งเสียงเจี๊ยวจ๊าว ตามที่ทราบกันดีว่าบางอย่างซับซ้อนกว่าที่อื่นเมื่อกำหนดค่า ตัวอย่างเช่นเรามี กระหึ่มซึ่งค่อนข้างง่ายและเบา แต่ถ้าเราต้องการเพิ่มประสิทธิภาพให้มากขึ้นเรามี ฉันทลักษณ์.
แล้วฉันจะปล่อยให้คุณ บทความ ตีพิมพ์ใน ลำไส้ โดยผู้ใช้คนหนึ่งของเรา (Hugo) และเขาแสดงให้เราเห็นถึงวิธีกำหนดค่าเซิร์ฟเวอร์ของเราเอง XMPP กับ ฉันทลักษณ์.
การแนะนำ
เมื่อติดตั้งเซิร์ฟเวอร์ XMPP (Jabber) สำหรับการส่งข้อความภายในบนเครือข่ายท้องถิ่นหลายคนเลือก jabber, ejabberd หรือ openfire แต่ถึงแม้ว่าจะใช้งานได้ แต่แอปพลิเคชันเหล่านี้ก็สามารถต้องการทรัพยากรจำนวนมากได้
หากคุณมีเครือข่ายขนาดเล็กหรือขนาดกลางและต้องการเพียงบริการส่งข้อความโต้ตอบแบบทันทีโชคดีที่มีทางเลือกเซิร์ฟเวอร์ที่มีน้ำหนักเบาเรียกว่าฉันทลักษณ์ซึ่งแม้ว่าจะมีการตั้งโปรแกรมใน LUA ซึ่งเป็นภาษาที่ตีความได้ แต่ผู้พัฒนาก็ใช้งานได้ดีมาก ถึง luajit
บทช่วยสอนสั้น ๆ นี้จะอธิบายวิธีการติดตั้งและกำหนดค่าฉันทลักษณ์บน Debian เสถียร
การเตรียมการและการติดตั้ง
แพ็คเกจ Prosody อยู่ในที่เก็บ Debian แต่ผู้พัฒนาซอฟต์แวร์นี้ได้เตรียมที่เก็บสำหรับ Debian และอนุพันธ์ที่มีแพ็คเกจล่าสุดและโมดูลเพิ่มเติมซึ่งเราสามารถใช้ได้ดังนี้:
echo "deb http://packages.prosody.im/debian เสถียร main" | sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add - อัปเดตความถนัด sudo
เมื่อเพิ่มที่เก็บแล้วเราสามารถดำเนินการติดตั้งฉันทลักษณ์ได้ (เพิ่มโมดูลที่จะใช้เพิ่มเติม sasl
เป็นกลไกการพิสูจน์ตัวตนหากจำเป็นซึ่งช่วยให้สามารถรวมฉันทลักษณ์เข้ากับ pam
, LDAPฯลฯ )
sudo aptitude ติดตั้ง sasl2-bin libsasl2-modules-ldap prosody liblua5.1- {sec0, cyrussasl0, event-prosody0}
จากนั้นเราจะดำเนินการสร้างใบรับรองที่ลงชื่อด้วยตนเองสำหรับโดเมนของเรา:
cd / etc / prosody / certs sudo openssl req -new -x509 -days 1095 -nodes -out "mydomain.cu.cert" -keyout "mydomain.cu.key"
วิซาร์ดจะถามเราชุดข้อมูลซึ่งข้อมูลที่จำเป็นจริงๆคือ“ ชื่อสามัญ (เช่นเซิร์ฟเวอร์ เอฟคิวดีเอ็น หรือชื่อของคุณ)” ที่เราต้องใส่โดเมนของเราตามที่เราจะใช้ในส่วนนี้ VirtualHost ไฟล์กำหนดค่า
นอกจากนี้หากบนเซิร์ฟเวอร์ที่เราติดตั้งฉันทลักษณ์ที่เราได้กำหนดค่าไว้ iptables
ด้วยนโยบายการปฏิเสธเริ่มต้นเราจำเป็นต้องเปิดพอร์ตที่จำเป็นสำหรับเครือข่ายของเราตัวอย่างเช่น:
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 ESTABLISHED, RELATED -j ACCEPT sudo iptables -A INPUT - ฉัน eth1 -s 192.168.0.0/24 -p tcp -m tcp -m multiport --dports 5222,5223,5269 -m รัฐ - รัฐใหม่ -j ยอมรับ
องค์ประกอบ
ต่อไปเราจะดำเนินการแก้ไขบางบรรทัดของไฟล์การกำหนดค่าซึ่งเราต้องแก้ไข /etc/prosody/prosody.cfg.lua
จึงมีลักษณะดังนี้:
-
พอร์ต = {5222, 5269} ssl_ports = {5223} admins = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - ตัวเลือกเริ่มต้นจะขึ้นอยู่กับฟังก์ชั่น select () แทนที่จะใช้ตัวเลือก epoll () ซึ่งมีประสิทธิภาพและปรับขนาดได้มากกว่า module_enabled = {"บัญชีรายชื่อ"; "saslauth"; "tls"; "dialback"; "ดิสก์"; "เอกชน"; "vcard"; "ความเป็นส่วนตัว"; "การบีบอัด"; "legacyauth"; "รุ่น"; "เวลาทำงาน"; "เวลา"; "ปิง"; "ห้าวหาญ"; "ลงทะเบียน"; - อย่าปิดใช้งานโมดูลนี้ไม่เพียง แต่อนุญาตให้ลงทะเบียน แต่ยังเปลี่ยนรหัสผ่าน "adhoc" ด้วย "admin_adhoc"; "posix"; "bosh"; - เพิ่มบรรทัดนี้หากคุณต้องการเปิดใช้งาน jabber ผ่าน http}; allow_registration = เท็จ; - ปิดใช้งานเพื่อความปลอดภัย - เปลี่ยนเป็น true หากคุณต้องการเปิดใช้งานการสร้างบัญชีจากไคลเอนต์เอง ssl = {key = "/etc/prosody/certs/localhost.key"; ใบรับรอง = "/etc/prosody/certs/localhost.cert"; } ที่เก็บข้อมูล = "ภายใน"; - ที่เก็บข้อมูลเริ่มต้นคือไฟล์ xml - ทางเลือกที่เราสามารถใช้วิธีการจัดเก็บ "sql" - ซึ่งอนุญาตให้ใช้ SQLite, MySQL หรือ PostgreSQL เป็นแบ็กเอนด์ (แม้ว่าจะต้องเพิ่มพารามิเตอร์บางอย่างก็ตาม) การพิสูจน์ตัวตน = "internal_hashed"; - เราสามารถใช้ "internal_plain" ได้หากไคลเอนต์ไม่รองรับ SCRAM-SHA-1 - ถ้าเราต้องการใช้วิธี sasl เพื่อใช้ LDAP ในภายหลังเราต้องใช้ "cyrus" log = {error = "/ var / log / prosody / ฉันทลักษณ์. err "; ข้อมูล = "/var/log/prosody/prosody.log"; } pidfile = "/var/run/prosody/prosody.pid"; VirtualHost "localhost" VirtualHost "mydomain.cu" ssl = {key = "/etc/prosody/certs/mydomain.cu.key"; ใบรับรอง = "/etc/prosody/certs/mydomain.cu.crt"; }
เมื่อแก้ไขไฟล์การกำหนดค่าแล้วเราจะเริ่มบริการใหม่:
sudo บริการฉันทลักษณ์ลบ
ตอนนี้เราจะดำเนินการสร้างบัญชี ในกรณีนี้เนื่องจากในไฟล์คอนฟิกูเรชันเราปิดการใช้งานรีจิสทรีจากไคลเอนต์บัญชีจะต้องถูกสร้างขึ้นด้วยตนเองบนเซิร์ฟเวอร์ วิธีการพิสูจน์ตัวตนที่เราเลือกในการกำหนดค่า (internal_hashed) ทำให้รหัสผ่านไม่ได้รับการบันทึกอย่างชัดเจน แต่ด้วยกลไก SCRAM-SHA-1
. หากไคลเอ็นต์การส่งข้อความที่เราตั้งใจจะใช้ไม่รองรับกลไกนี้สามารถใช้เมธอด "internal_plain" ในการกำหนดค่า
ขั้นแรกเราจะสร้างบัญชีของผู้ดูแลระบบของบริการที่เราประกาศในการกำหนดค่า (การประกาศไม่ได้หมายความว่าบัญชีเหล่านี้ถูกสร้างขึ้นโดยอัตโนมัติ):
sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu
เราสามารถใช้คำสั่งเดียวกันสำหรับบัญชีอื่น ๆ ที่เราต้องการสร้าง
สุดท้ายเราตรวจสอบว่าบริการกำลังทำงานอยู่:
สถานะ sudo prosodyctl
เราควรได้รับข้อความดังต่อไปนี้:
Prosody ทำงานด้วย PID 1310
การกำหนดค่าไคลเอนต์
การกำหนดค่าขึ้นอยู่กับไคลเอนต์ แต่โดยทั่วไปแล้วรายละเอียดจะง่าย ตัวอย่างเช่นสำหรับ ภาษาอังกฤษของจีนบ๋อยฝรั่ง:
แท็บ "พื้นฐาน"
Nombre de usuario: จอห์น
โดเมน: mydomain.cu
ทรัพยากร: PC-juan
แท็บ "ขั้นสูง"
ความปลอดภัยในการเชื่อมต่อ: ใช้การเข้ารหัสถ้าเป็นไปได้
พอร์ตเชื่อมต่อ: 5222
เชื่อมต่อกับเซิร์ฟเวอร์: myserver.mydomain.cu
บันทึก
สามารถดูข้อมูลเพิ่มเติมได้ (รวมถึงการใช้ Cyrus SASL ด้วย LDAP และวิธีสร้างรายการจาก DNS) ใน บทความนี้ จาก Debian Wiki
ผู้ใช้แสดงความคิดเห็นผ่านทาง DesdeLinux เพื่อหยุดบริการที่คุณต้องดำเนินการจริงๆ pkill lua5.1
ฉันชอบมัน ... มาดูกันว่าฉันเปลี่ยน OpenFire เป็น ejabberd หรือ Prosody นี้สักครั้งหรือไม่🙂
ฉันกำลังทำการทดสอบใน VirtualBox อย่างแม่นยำอยู่แล้ว .. เพราะถ้าเรารอคุณลูกชายของฉัน .. ¬¬
^ - ^ อุ ... ฮิฮิ ...
ตอนนี้ฉันส่งตั๋วไปยังผู้ให้บริการโฮสติ้งเพื่อถามเกี่ยวกับระเบียน DNS เราจำเป็นต้องลบ 'jabber'
ตกลง. Jabber, IRC, Facebook, Gtalk ไม่รู้วิธีหรือที่ไหน แต่เชื่อมต่อ ..
การรวมกับ LDAP ของฉันทลักษณ์เป็นอย่างไร? และ BD?
วิธีการทำมีดังนี้ http://blog.marc-seeger.de/2009/12/30/setting-up-prosody-to-authenticate-against-ldap/
สักภาพสำหรับผู้มีความรู้น้อยก็ไม่เลวนะครับ ^. ^
ที่บ้านฉันมีฉันทลักษณ์ฉันติดตั้งเพื่อทดสอบและฉันชอบมันเพราะมันเรียบง่าย รายละเอียดเมื่อหยุดเซิร์ฟเวอร์ฉันต้องทำ pkill lua5.1 เพื่อหยุดมันจริงๆ
ว้าวนี้น่าสนใจ มีวิธีที่คนอื่นสามารถสร้างผู้ใช้ผ่าน GUI (อาจเป็นเว็บ) ได้หรือไม่? คุณจะไปรับโดเมนเพื่อใช้งานได้อย่างไร? 😛
คุณเปิดใช้งานการลงทะเบียนใน config และจาก jabber ไคลเอนต์เดียวกันที่ลงทะเบียนโดยตรวจสอบตัวเลือกเพื่อสร้างบัญชีบนเซิร์ฟเวอร์
allow_registration = จริง;
ฉันกำลังมองหาแพ็คเกจฉันทลักษณ์ใน slackware บทช่วยสอนที่ยอดเยี่ยม ไชโย
ฉันจะตรวจสอบได้อย่างไรว่าผู้ใช้สามารถตรวจสอบสิทธิ์ได้หรือไม่? หรือฉันจะรู้ได้อย่างไรว่าผู้ใช้เชื่อมต่อกับเซิร์ฟเวอร์?
ฉันทำสำเร็จ😀ฉันสามารถติดตั้งและกำหนดค่าได้อย่างถูกต้อง ติดตั้งเซิร์ฟเวอร์บนพีซีเครื่องหนึ่งและไคลเอนต์เป็นพีซีเครื่องอื่น แต่ฉันมีปัญหา เพื่อให้ไคลเอ็นต์ทราบว่าเซิร์ฟเวอร์ของฉันที่มีโดเมน (medellinlibre.org) เป็น LOCAL ฉันต้องเพิ่มลงในไฟล์โฮสต์ IPDELSERVIDOR medellinlibre.org ถ้าไม่เช่นนั้นจะไม่เชื่อมต่อด้วยเหตุผลที่ชัดเจน คำถามของฉันคือถ้าไม่มีวิธีใดที่พีซีทั้งหมดในเครือข่ายจะรู้โดยค่าเริ่มต้นว่าโดเมนนี้อยู่บน LAN ที่ IP ที่กำหนด?
สงสัยเหมือนกัน! ตอนท้ายรู้ไหม ?? ฉันเริ่มต้นด้วยฉันทลักษณ์ ...
ง่ายมากใน pidgin ระบุ ip ของเซิร์ฟเวอร์ในตัวเลือกขั้นสูงตัวเลือกอื่นคือการเมานต์ DNS บน LAN ของคุณ
หัวข้อนี้น่าสนใจมากและฉันอยากรู้ว่า Prosody รองรับ websockets หรือไม่ฉันสนใจที่จะสร้างเว็บไคลเอนต์ xmpp
คุณสามารถเห็นสิ่งนี้ http://code.google.com/p/xmppwebchat/
สวัสดีคุณไม่มีเวอร์ชันของบทช่วยสอนที่มีการกำหนดค่าสำหรับอินทราเน็ตในประเทศเท่านั้นไม่มีโดเมนหรืออะไรทำนองนั้น แทบจะไม่ถึงขนาดมีคอมพิวเตอร์ 1 เครื่องที่มีLiñuxเป็นเซิร์ฟเวอร์และคอมพิวเตอร์เครื่องอื่น ๆ ที่เชื่อมต่อ
เป็นเพียงการสนทนาระหว่างคอมพิวเตอร์บนอินทราเน็ตผ่านพิดจินเท่านั้น