使用Prosody安裝XMPP(Jabber)服務器[更新]


我們許多人使用 Gtalk的 o Facebook的聊天室 不知道我們用來通訊的協議就是 XMPP (可擴展消息傳遞和狀態協議) 這也是開放的。

En GNU / Linux的 我們有幾個應用程序來設置我們自己的服務器 XMPP o 嘰里咕嚕 眾所周知,配置時有些複雜。 例如,我們有 雅柏,它非常簡單輕巧,但是如果我們想進行更多優化,我們可以 韻律.

那我就離開你 一篇文章 出版於 古特 由我們的一位用戶(Hugo)展示,他向我們展示瞭如何配置我們自己的服務器 XMPP韻律.

介紹

在本地網絡上安裝用於內部消息傳遞的XMPP(Jabber)服務器時,許多人選擇了jabber,ejabberd或openfire,但是儘管功能正常,但這些應用程序可能需要大量資源。

如果您的網絡是小型或中型的,並且只希望使用簡單的即時消息傳遞服務,那麼幸運的是,有一個名為prosody的輕量級服務器替代方案,儘管它是使用LUA(一種解釋性語言)進行編程的,但根據其開發人員的說法,它工作得很好拉伊吉特。

這個簡短的教程將說明如何在Debian穩定版上安裝和配置韻律。

準備和安裝

韻律軟件包位於Debian存儲庫中,但是該軟件的開發人員已經為Debian及其衍生軟件準備了一個存儲庫,其中包含最新的軟件包和其他模塊,我們可以按以下方式使用它們:

迴聲“ deb http://packages.prosody.im/debian穩定主” sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key添加-sudo aptitude更新

添加存儲庫後,我們就可以繼續安裝韻律(另外添加要使用的模塊 sasl 作為必要的身份驗證機制,可以將韻律與 pam, LDAP等)。

sudo aptitude install 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”

該嚮導將詢問我們一系列數據,其中最重要的是“公用名(例如,服務器 全稱 或您的名字)“我們必須將域名放在何處,因為我們將在本節中使用它 虛擬主機 配置文件。

另外,如果在我們安裝韻律的服務器上,我們已經配置 iptables 使用默認的拒絕策略,我們需要為網絡打開所需的端口,例如:

sudo iptables -A輸入-i lo -j接受sudo iptables -A輸入-i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m狀態-狀態已建立,相關-j接受sudo iptables -A輸入-我eth1 -s 192.168.0.0/24 -p tcp -m tcp -m multiport --dports 5222,5223,5269 -m state --state NEW -j ACCEPT

組態

接下來,我們繼續修改配置文件的某些行,我們必須對其進行編輯 /etc/prosody/prosody.cfg.lua 所以看起來像這樣:

ports = {5222,5269} ssl_ports = {5223}管理員= {“ juan@mydomain.cu”,“ pedro@mydomain.cu”} use_libevent = true; -默認選項基於select()函數,而libevent使用epoll(),後者效率更高且可擴展。 modules_enabled = {“名冊”; “ saslauth”; “ tls”; “回撥”; “磁盤”; “私人的”; “ vcard”; “隱私”; “壓縮”; “ legacyauth”; “版”; “正常運行時間”; “時間”; “ ping”; “ pep”; “寄存器”; -不要禁用該模塊,它不僅允許註冊,還可以更改“臨時”密碼; “ admin_adhoc”; “ posix”; “波什”; -如果要通過http啟用jabber,請添加此行; allow_registration = false; -出於安全原因禁用-如果要啟用從客戶端本身創建帳戶的權限,請更改為true ssl = {key =“ /etc/prosody/certs/localhost.key”; 證書=“ /etc/prosody/certs/localhost.cert”; } storage =“內部”; -默認存儲是xml文件-可選地,我們可以使用“ sql”存儲方法-這允許使用SQLite,MySQL或PostgreSQL作為後端(儘管必須添加某些參數)authentication =“ internal_hashed”; -如果客戶端不支持SCRAM-SHA-1,則可以使用“ internal_plain”-如果要使用sasl方法稍後再使用LDAP,則必須使用“ cyrus” log = {error =“ / var / log / prosody / prosody。呃 ”; 信息=“ /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一起運行

客戶端配置

配置取決於客戶端,但是總體而言,細節很簡單。 例如,對於 洋涇浜:

“基本”標籤

用戶名: 約翰
域名: mydomain.cu
資源: -

“高級”標籤

連接安全性: 盡可能使用加密
連接端口: 5222
連接到服務器: myserver.mydomain.cu

筆記

可以找到更多信息(包括將Cyrus SASL與 LDAP 以及如何從中創建條目 DNS)在 本文 來自Debian Wiki。

用戶評論透過 DesdeLinux 要真正停止您需要執行的服務 pkill lua5.1


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   KZKG ^ Gaara 他說:

    我喜歡...讓我們一勞永逸地將OpenFire更改為ejabberd或此Prosody🙂

    1.    拉夫 他說:

      我已經在VirtualBox中正好為此進行測試..因為如果我們等你,我的兒子..

      1.    KZKG ^ Gaara 他說:

        ^-^ U ...呵呵...
        現在,我向主機提供商發送了一張票,詢問我們需要刪除“ jabber”的DNS記錄。______

        1.    拉夫 他說:

          好的。 Jabber,IRC,Facebook,Gtalk,我不知道如何或在哪裡,但可以連接..

  2.   埃內斯托·因凡特(Ernesto Infante) 他說:

    如何與Prosody的LDAP集成? 和BD?

  3.   腐爛87 他說:

    知識較少的幾張圖像也不錯^。^

  4.   獵人 他說:

    在家裡我有韻律,我安裝了它進行測試,並且我喜歡它的簡單性。 停止服務器時的詳細信息,我必須執行pkill lua5.1才能真正停止它。

  5.   奧羅斯 他說:

    哇,這很有趣。 其他人是否可以通過GUI(可以是Web)創建用戶? 您將如何獲得域名使用權? 😛

    1.    獵人 他說:

      您可以在配置中啟用註冊,並通過選中在服務器上創建帳戶的選項從同一客戶端jabber進行註冊。

      允許註冊=真;

  6.   費蘭 他說:

    我正在slackware中尋找韻律軟件包,出色的教程。 乾杯

  7.   阿圖羅·莫利納(Arturo Molina) 他說:

    如何驗證用戶是否進行了身份驗證? 或如何知道用戶是否連接到服務器?

  8.   @jlcmux 他說:

    我成功了😀我能夠正確安裝和配置它。 將服務器安裝在一台PC上,客戶端是另一台PC。 但是我有問題為了使客戶端知道我的域(medellinlibre.org)服務器是LOCAL。 我必須將IPDELSERVIDOR medellinlibre.org添加到主機文件。 如果不是,則出於明顯原因,它不會連接。 我的問題是,默認情況下是否無法讓網絡上的所有PC都知道該域位於LAN上的給定IP?

    1.    LTD 他說:

      同樣的疑問! 您最後知道嗎? 我從韻律開始...

    2.    獵人 他說:

      很簡單,在pidgin中的高級選項中指定服務器的ip,另一個選項是在您的LAN上安裝dns。

  9.   舊金山 他說:

    這個話題非常有趣,我想知道Prosody是否支持websockets,我有興趣製作一個xmpp Web客戶端。

    1.    @jlcmux 他說:

      你可以看到這個。 http://code.google.com/p/xmppwebchat/

  10.   犬風 他說:

    嗨,您是否擁有本教程的版本,且其配置僅適用於國內Intranet?沒有域或類似名稱。 幾乎沒有,只有一台裝有Liñux的計算機是服務器,而其他連接到該計算機的計算機

    只能通過pidgin在Intranet上的計算機之間聊天。