如何在 Ubuntu 18.04 上设置 Prosody XMPP 服务器

Prosody 是一个用 Lua 编写的免费开源 XMPP 服务器。 它又快又轻。 XMPP 是一个很棒的即时消息协议。 本教程将向您展示如何在 Ubuntu 18.04 上安装和配置 Prosody XMPP 服务器。 完成本教程后,您将拥有自己的聊天服务器。

第 1 步:在 Ubuntu 18.04 上安装 Prosody

Prosody 包含在默认的 Ubuntu 存储库中,但它已经过时了。 Prosody 团队维护一个包存储库。 如果要获取最新版本,则需要使用以下命令添加 Prosody 存储库。

echo 'deb https://packages.prosody.im/debian bionic main' | sudo tee /etc/apt/sources.list.d/prosody.list

然后运行以下命令下载并导入 Prosody 公钥,它允许 APT 包管理器验证从该存储库下载的包的完整性。

wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -

接下来,更新本地包索引并安装最新版本的 Prosody。

sudo apt update  sudo apt install prosody

安装后,Prosody 将自动启动。 您可以通过以下方式检查其状态:

systemctl status prosody

输出:

 prosody.service - Prosody XMPP Server    Loaded: loaded (/lib/systemd/system/prosody.service; enabled; vendor preset: enabled)    Active: active (running) since Sun 2020-04-19 13:58:40 UTC; 16s ago      Docs: https://prosody.im/doc  Main PID: 1894 (lua5.2)     Tasks: 1 (limit: 1108)    CGroup: /system.slice/prosody.service            └─1894 lua5.2 /usr/bin/prosody -F  Apr 19 13:58:40 localhost systemd[1]: Started Prosody XMPP Server. 

如果它没有运行,你可以用

sudo systemctl start prosody 

要在系统启动时启用自动启动,请运行

sudo systemctl enable prosody

步骤 2:在防火墙中打开端口

默认情况下,它侦听公共 IP 地址的 TCP 端口 5269 和 5222,如以下命令所示。 (如果你的 Ubuntu 没有 netstat 命令,你可以用 sudo apt install net-tools.)

sudo netstat -lnptu | grep lua
  • 端口 5222 用于客户端到服务器的连接。
  • 端口 5269 用于服务器到服务器的连接。

如果您在 Ubuntu 上启用了 UFW 防火墙,那么您需要使用以下命令打开上述端口。

sudo ufw allow 5222,5269/tcp

步骤 3:配置 Prosody XMPP 服务器

使用命令行文本编辑器(例如 Nano)编辑主配置文件。

sudo nano /etc/prosody/prosody.cfg.lua

module_enabled {...} 部分,您可以取消注释一行以启用特定模块,或注释掉一行以禁用特定模块。 每个模块都有一个说明,告诉您它的作用。 您可能想要启用 BOSH 模块,它代表 同向流 手表 同步的 HTTP。 它允许通过 HTTP 进行 XMPP 通信。