在 CentOS 8 上安装 Ejabberd XMPP 服务器 | RHEL 8在 CentOS 8 上安装 Ejabberd XMPP 服务器 | RHEL 8在 CentOS 8 上安装 Ejabberd XMPP 服务器 | RHEL 8在 CentOS 8 上安装 Ejabberd XMPP 服务器 | RHEL 8
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

在 CentOS 8 上安装 Ejabberd XMPP 服务器 | RHEL 8

发表 admin at 2025年2月28日
类别
  • 未分类
标签
コアサーバーV2プランご契約でドメイン更新費用が永久無料

如何在CentOS 8上安装Ejabberd | RHEL 8? Ejabberd 是一个用 Erlang 编写的免费开源 XMPP 服务器。 Ejabberd 专为可扩展性和容错性而设计。它的资源占用量很小,可以在任何类 Unix 操作系统上运行 - Linux、FreeBSD、Solaris、macOS、OpenBSD 等。

Ejabberd 使用的默认数据存储是Mnesia(分布式内部 Erlang 数据库),但您可以使用 SQL 或 NoSQL 数据库服务器。

Ejabberd XMPP 服务器的功能

Ejabberd 具有模块化架构,可实现高度可定制性并轻松访问所需功能,其中包括:

  • 存储转发(离线消息)
  • 联系人列表(花名册)和出席情况
  • 一对一消息传递
  • 用户状态扩展:个人事件协议 (PEP) 和打字指示器
  • 带有 vCard 的用户配置文件
  • 群聊:MUC(多用户聊天)
  • 使用消息归档管理 (MAM) 进行消息归档
  • 消息传递收据(又名 XEP-184)
  • 隐私设置,通过隐私列表和简单的阻止扩展
  • 上次活动
  • 指标和完整的命令行管理
  • 全功能网络支持,带有 BOSH 和网络套接字
  • 移动设备上消息可靠性的流管理(又名 XEP-0198)
    等等。

在 CentOS 8 上安装 Ejabberd XMPP 服务器 | RHEL 8

Ejabberd 打包为 RPM 文件,可以使用 rpm 包管理器轻松下载和安装。如果您热衷于从源代码进行编译,那就去做吧。

第1步:更新系统

像往常一样,您需要在更新的系统上工作:

sudo yum -y update

步骤2:下载并安装Ejabberd RPM包

更新后,下载Ejabberd RPM包。在实际下载之前,您需要检查最新版本。

安装 wget:

sudo yum -y install wget

下载ejabberd:

EJ_VERSION=23.01
wget https://static.process-one.net/ejabberd/downloads/${EJ_VERSION}/ejabberd-${EJ_VERSION}-1.x86_64.rpm

通过运行以下命令安装下载的 RPM 包:

sudo yum localinstall ejabberd-${EJ_VERSION}-1.x86_64.rpm

同意安装提示。

Dependencies resolved.
=====================================================================================================================================================================================================
 Package                                        Architecture                                 Version                                        Repository                                          Size
=====================================================================================================================================================================================================
Installing:
 ejabberd                                       x86_64                                       23.01-1                                        @commandline                                        18 M

Transaction Summary
=====================================================================================================================================================================================================
Install  1 Package

Total size: 18 M
Installed size: 29 M
Is this ok [y/N]: y

这会将 ejabberd 初始化脚本放置在 /etc/init.d/ejabberd 下

  • 创建名为“ejabberd”的系统用户
  • ejabberd应用程序目录是/opt/ejabberd。这是 ejabberd 用户的家。
  • 当ejabberd启动时,系统中启动的进程有beam或beam.smp,还有epmd。

步骤3:在CentOS 8上启动Ejabberd服务 | RHEL 8

现在我们已经完成了安装,我们需要启动该服务并使其在服务器重新启动时自动启动。

找到 ejabberd.service 并将其复制到 /etc/systemd/system

sudo yum -y install mlocate
sudo updatedb
sudo cp $(locate ejabberd.service) /etc/systemd/system

然后重新加载systemd:

sudo systemctl daemon-reload

一旦检测到新的 ejabberd 服务,启动它:

sudo systemctl enable --now ejabberd

您可以确认该服务处于运行状态。

$ systemctl status ejabberd
● ejabberd.service - XMPP Server
   Loaded: loaded (/etc/systemd/system/ejabberd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-01-20 00:54:48 EAT; 4s ago
  Process: 28813 ExecStart=/bin/sh -c /opt/ejabberd-21.12/bin/ejabberdctl start && /opt/ejabberd-21.12/bin/ejabberdctl started (code=exited, status=0/SUCCESS)
    Tasks: 23 (limit: 4991)
   Memory: 67.6M
   CGroup: /system.slice/ejabberd.service
           ├─28842 /opt/ejabberd-21.12/bin/epmd -daemon
           ├─28843 /opt/ejabberd-21.12/bin/beam.smp -K true -P 250000 -- -root /opt/ejabberd-21.12 -progname /opt/ejabberd-21.12/bin/erl -- -home /opt/ejabberd -- -sname ejabberd@localhost -smp en>
           ├─28853 erl_child_setup 65536
           └─28882 /opt/ejabberd-21.12/lib/os_mon-2.4.7/priv/bin/memsup

Jul 20 00:54:46 localhost.localdomain systemd[1]: Starting XMPP Server...
Jul 20 00:54:48 localhost.localdomain systemd[1]: Started XMPP Server.

第 4 步:创建 ejabberd XMPP 管理员帐户。

您需要一个管理员 XMPP 帐户才能访问 Web 管理仪表板。

将工作目录更改为 cd /opt/ejabberd-$ {VER}/bin

cd /opt/ejabberd-*/bin

添加管理员帐户:

将用户名和密码保存在变量中。

username="myadmin"
password="mystrongPassword"

创建管理员用户。

$ sudo ./ejabberdctl register ${username} localhost ${password}
User myadmin@localhost successfully registered

您可能需要将 localhost 替换为您的实际服务器主机名。其他用户帐户应以类似的方式添加。

# ./ejabberdctl register testuser localhost testuserpassword

编辑 ejabberd 配置文件,为您创建的 XMPP 帐户授予管理权限 /opt/ejabberd/conf/ejabberd.yml

$ sudo vi /opt/ejabberd/conf/ejabberd.yml
acl:
   local:
     user_regexp: ""
   loopback:
     ip:
       - "127.0.0.0/8"
       - "::1/128"
       - "::FFFF:127.0.0.1/128"
   admin:
     user:
       - "admin@localhost"
       - "myadmin@localhost"

重新启动 ejabberd 服务。

sudo systemctl restart ejabberd

步骤 5:配置防火墙和访问 UI

允许防火墙上的 Ejabberd UI 端口。

sudo firewall-cmd --add-port=5280/tcp --permanent
sudo firewall-cmd --reload

应可通过 http://ip-address:5280/admin/ 访问网络管理员。使用您喜欢的浏览器打开 URL。使用完整用户名和域名登录,例如 myadmin@localhost。

有关 Ejabberd 管理的进一步阅读,请参阅官方文档。

对于 Ubuntu/Debian 用户,您可以使用指南安装 Ejabberd XMPP 服务器:

  • 如何在 Ubuntu/Debian 上安装 XMPP 服务器
©2015-2025 Norria support@alaica.com