Çoğumuz kullanırız Gtalk o Facebook Sohbet iletişim kurmak için kullandığımız protokolün başka bir şey olmadığını bilmeden XMPP (Genişletilebilir Mesajlaşma ve İletişim Protokolü) bu da açık.
En GNU / Linux kendi sunucumuzu kurmak için birkaç uygulamamız var XMPP o hızlı konuşmak bilindiği gibi, yapılandırırken bazıları diğerlerinden daha karmaşıktır. Örneğin, bizde Ejabberd, bu oldukça basit ve hafif, ancak daha fazlasını optimize etmek istiyorsak ölçü.
Sonra seni terk ediyorum bir makale yayınlanan GTL kullanıcılarımızdan biri (Hugo) tarafından ve bize kendi sunucumuzu nasıl yapılandıracağımızı XMPP ile ölçü.
Giriş
Yerel bir ağda dahili mesajlaşma için bir XMPP (Jabber) sunucusu kurarken, çoğu jabber, ejabberd veya openfire'ı seçer, ancak işlevsel olmasına rağmen bu uygulamalar çok fazla kaynak gerektirebilir.
Küçük veya orta ölçekli bir ağınız varsa ve sadece basit bir anlık mesajlaşma servisi istiyorsanız neyse ki, yorumlanmış bir dil olan LUA'da programlanmış olmasına rağmen geliştiricilerine göre çok iyi çalışan prosody adlı hafif bir sunucu alternatifi var luajit'e.
Bu kısa öğretici, Debian kararlılığına prozodinin nasıl kurulacağını ve yapılandırılacağını açıklayacaktır.
Hazırlıklar ve kurulum
Prosody paketleri Debian deposunda bulunur, ancak bu yazılımın geliştiricileri Debian ve en son paketleri ve aşağıdaki gibi kullanabileceğimiz ek modülleri içeren türevler için bir depo hazırladılar:
echo "deb http://packages.prosody.im/debian kararlı ana" | sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key eklentisi - sudo aptitude güncellemesi
Depo eklendikten sonra, prosody kurulumuna geçebiliriz (ek olarak kullanılacak modüller ekleyebiliriz) sasl
gerekirse, prozodiyi entegre etmeye izin veren bir doğrulama mekanizması olarak pam
, LDAPGibi).
sudo aptitude install sasl2-bin libsasl2-modüller-ldap prosody liblua5.1- {sec0, cyrussasl0, event-prosody0}
Ardından, alanımız için kendinden imzalı sertifikalar oluşturmaya devam ediyoruz:
cd / etc / prosody / certs sudo openssl req -new -x509 -days 1095 -nodes -out "mydomain.cu.cert" -keyout "mydomain.cu.key"
Sihirbaz bizden bir dizi veri isteyecektir, bunlardan gerçekten önemli olanı "Ortak Ad (ör. Sunucu FQDN veya SİZİN adınız) ”bölümünde kullanacağımız için alanımızı koymamız gereken yer Sanal Ana Bilgisayar yapılandırma dosyası.
Ek olarak, prozodiyi kurduğumuz sunucuda yapılandırmışsak iptables
Varsayılan reddetme politikaları ile, ağımız için gerekli bağlantı noktalarını açmamız gerekir, örneğin:
sudo iptables -A GİRİŞ -i lo -j KABUL sudo iptables -A GİRİŞ -i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m durum --state TAHMİN EDİLDİ, İLGİLİ -j KABUL sudo iptables -A GİRİŞ - i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m multiport --dports 5222,5223,5269 -m state --state YENİ -j KABUL
yapılandırma
Ardından, düzenlememiz gereken yapılandırma dosyasının bazı satırlarını değiştirmeye devam ediyoruz. /etc/prosody/prosody.cfg.lua
bu yüzden şuna benziyor:
-
bağlantı noktaları = {5222, 5269} ssl_ports = {5223} admins = {"juan@mydomain.cu", "pedro@mydomain.cu"} use_libevent = true; - varsayılan seçenek select () işlevine dayanır, bunun yerine libevent daha verimli ve ölçeklenebilir olan epoll () işlevini kullanır. module_enabled = {"görev listesi"; "saslauth"; "tls"; "çevirme"; "disk"; "özel"; "vcard"; "gizlilik"; "sıkıştırma"; "legacyauth"; "versiyon"; "çalışma süresi"; "zaman"; "ping"; "moral"; "Kayıt ol"; - bu modülü devre dışı bırakmayın, yalnızca kaydolmaya değil aynı zamanda "adhoc" parolaları değiştirmeye de izin verir; "admin_adhoc"; "posix"; "bosh"; - jabber'ı http} üzerinden etkinleştirmek istiyorsanız bu satırı ekleyin; allow_registration = false; - güvenlik için devre dışı - hesapların müşterinin kendisinden oluşturulmasını etkinleştirmek istiyorsanız true olarak değiştirin ssl = {key = "/etc/prosody/certs/localhost.key"; sertifika = "/etc/prosody/certs/localhost.cert"; } depolama = "dahili"; - varsayılan depolama bir xml dosyasıdır - isteğe bağlı olarak "sql" depolama yöntemini kullanabiliriz - bu, arka uç olarak SQLite, MySQL veya PostgreSQL kullanımına izin verir (belirli parametrelerin eklenmesi gerekmesine rağmen) authentication = "internal_hashed"; - istemci SCRAM-SHA-1'i desteklemiyorsa "internal_plain" kullanabiliriz - daha sonra LDAP kullanmak için sasl yöntemini kullanmak istiyorsak, "cyrus" log = {error = "/ var / log / prosody kullanmalıyız / prosody. err "; info = "/var/log/prosody/prosody.log"; } pidfile = "/var/run/prosody/prosody.pid"; VirtualHost "localhost" VirtualHost "alanadim.cu" ssl = {key = "/etc/prosody/certs/mydomain.cu.key"; sertifika = "/etc/prosody/certs/mydomain.cu.crt"; }
Yapılandırma dosyası değiştirildikten sonra hizmeti yeniden başlatırız:
sudo hizmet prosody çıkarma
Şimdi hesapları oluşturmaya devam edeceğiz. Bu durumda, konfigürasyon dosyasında olduğu gibi, kayıt defterini istemcilerden devre dışı bıraktığımızda, hesapların sunucuda manuel olarak oluşturulması gerekecektir. Yapılandırmada seçtiğimiz kimlik doğrulama yöntemi (internal_hashed), şifrelerin net değil mekanizma ile kaydedilmesini sağlar. SCRAM-SHA-1
. Kullanmayı planladığımız mesajlaşma istemcisi bu mekanizmayı desteklemiyorsa, konfigürasyonda "internal_plain" yöntemi kullanılabilir.
Öncelikle, yapılandırmada belirttiğimiz hizmetin yöneticilerinin hesaplarını oluşturacağız (bunları beyan etmek, bunların otomatik olarak oluşturulduğu anlamına gelmez):
sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu
Oluşturmak istediğimiz diğer hesaplar için aynı komutu kullanabiliriz.
Son olarak, hizmetin çalışıp çalışmadığını kontrol ediyoruz:
sudo prosodyctl durumu
Aşağıdaki gibi bir mesaj almalıyız:
Prosody, PID 1310 ile çalışıyor
İstemci yapılandırması
Yapılandırma müşteriye bağlıdır, ancak genel olarak ayrıntılar basittir. Örneğin, Sorumluluk:
"Temel" sekmesi
Kullanıcı Adı: John
domain: mydomain.cu
Kaynak: pc juan
"Gelişmiş sekme
Bağlantı güvenliği: Mümkünse şifreleme kullanın
Bağlantı noktası: 5222
Sunucuya bağlan: myserver.mydomain.cu
Fatura
Daha fazla bilgi bulunabilir (Cyrus SASL'nin kullanımı dahil) LDAP ve nasıl giriş oluşturulur DNS) In Bu makalenin Debian Wiki'den.
Bir kullanıcı aracılığıyla yorum yapar DesdeLinux yürütmeniz gereken hizmeti gerçekten durdurmak için pkill lua5.1
Hoşuma gitti ... Bakalım ejabberd için OpenFire'ı mı yoksa bu Prosody'yi mi değiştireceğim?
Ben zaten bunun için VirtualBox'ta testleri yapıyorum .. çünkü eğer seni beklersek oğlum .. ¬¬
^ - ^ U ... hehe ...
Şimdi Barındırma sağlayıcısına, 'jabber'ı kaldırmamız gereken DNS kaydını soran bir bilet gönderiyorum. ________
Tamam. Jabber, IRC, Facebook, Gtalk, nasıl ve nerede bilmiyorum ama bağlanın ..
Prosody'nin LDAP'si ile entegrasyon nasıl? ve BD?
İşte bunu nasıl yapacağınız: http://blog.marc-seeger.de/2009/12/30/setting-up-prosody-to-authenticate-against-ldap/
daha az bilgili için birkaç resim fena olmaz ^. ^
Evde aruz var, test etmek için kurdum ve basitliğinden dolayı beğendim. Sunucuyu durdururken bir ayrıntı, onu gerçekten durdurmak için bir pkill lua5.1 yapmam gerekiyor.
Vay canına, bu ilginç. Başkalarının GUI aracılığıyla kullanıcı oluşturmasının bir yolu var mı (web olabilir)? Kullanmak için bir alan adı almaya nasıl devam edersiniz? 😛
Yapılandırmada ve kayıtlı oldukları jabber istemcisinden sunucuda hesap oluşturma seçeneğini işaretleyerek kaydı etkinleştirirsiniz.
allow_registration = doğru;
Slackware'de prozodi paketleri arıyorum, mükemmel öğretici. Saygılarımızla
Bir kullanıcının kimlik doğrulamayı başardığını nasıl doğrulayabilirim? veya bir kullanıcının sunucuya bağlı olup olmadığını nasıl bilebilirim?
Başardım 😀 Doğru şekilde kurup yapılandırabildim. Sunucuyu bir bilgisayara kurun ve istemci başka bir bilgisayardır. ama bir sorunum var. Müşterinin etki alanına sahip sunucumun (medellinlibre.org) YEREL olduğunu bilmesi için. IPDELSERVIDOR medellinlibre.org ana bilgisayar dosyasına eklemeliyim. Değilse, bariz nedenlerden dolayı bağlanmaz. Sorum şu ki, ağdaki tüm bilgisayarların bu etki alanının belirli bir IP'de LAN üzerinde olduğunu varsayılan olarak bilmesinin bir yolu yoksa?
aynı şüphe! sonunda biliyor muydun? Aruz ile başlıyorum ...
Çok basit, pidgin'de gelişmiş seçeneklerde sunucunun ipini belirtin, diğer seçenek LAN'ınıza bir dns bağlamaktır.
Bu konu çok ilginç ve Prosody'nin web soketlerini destekleyip desteklemediğini öğrenmek istedim. Bir xmpp web istemcisi yapmakla ilgileniyorum
Bunu görebilirsin. http://code.google.com/p/xmppwebchat/
Merhaba, eğiticinin yalnızca yerel intranet için yapılandırılmış bir sürümüne sahip değil misiniz? Etki alanı veya benzeri bir şey yok. ancak Liñux'lu yalnızca 1 bilgisayar bir sunucu ve ona bağlanan diğer bilgisayarlar
Sadece intranet bilgisayarları arasında pidgin üzerinden sohbet edebilmektir.