更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > CentOS 7/RHEL 7上安装和配置Ejabberd XMPP服务器

CentOS 7/RHEL 7上安装和配置Ejabberd XMPP服务器

更新时间:2023-04-07 09:07:01浏览次数:247+次

在本文中,我们将介绍在CentOS 7/RHEL 7 Linux系统上安装和配置Ejabberd XMPP服务器的过程。Ejabberd是一款功能强大、开源的XMPP服务器,它用Erlang编程语言编写,适用于开发语音、即时消息、视频聊天、在线游戏等实时通信应用程序以及更多用例,当前Ejabberd使用Mnesia作为其默认存储引擎,但也可以使用SQL或NoSQL数据库。

在CentOS 7/RHEL 7上安装Ejabberd XMPP服务器的详细步骤

最简单的安装方法是使用.rpm软件包,用户可以按照以下步骤在CentOS 7/RHEL 7系统上安装和配置Ejabberd XMPP服务器。

步骤1:更新系统

确保系统已经更新到最新:

sudo yum -y update

建议在更新后重新启动系统,因为可能会有内核更新:

sudo reboot

步骤2:安装Ejabberd RPM软件包

查看Ejabberd最新发布页面,地址在https://www.process-one.net/en/ejabberd/downloads/,下载RPM软件包以在基于RHEL的系统上运行:

\

在更新本文时,新版本是23.01。让我们使用wget下载它:

EJ_VERSION=23.01

sudo yum -y install wget

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

在系统上本地下载软件包后,使用yum软件包管理器进行安装:

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

会安装ejabberd x86_64 23.01-1 /ejabberd-23.01-1.x86_64 25M软件包,请在出现确认安装的时候,请按y键继续。

这将把ejabberd init脚本放在/etc/init.d/ejabberd下。

创建了一个名为“ejabberd”的系统用户

ejabord应用程序目录为/opt/ejabberd。

当ejabberd启动时,系统中启动的进程是beam或beam.smp,还有epmd。

步骤3:启动Ejabberd服务

接下来,我们在系统上启动并启用ejabberd服务:

sudo systemctl enable --now ejabberd

确认服务是否正在运行:

$ systemctl status ejabberd

ejabberd.service - XMPP Server

Loaded: loaded (/etc/systemd/system/ejabberd.service; enabled; vendor preset: disabled)

在CentOS 7/RHEL 7上配置Ejabberd XMPP服务器的详细步骤

步骤1:添加ejabberd管理员用户帐户

导航到ejabberd bin目录:

cd /opt/ejabberd-*/bin

您需要一个管理员XMPP帐户才能访问Web管理面板:

username="admin"

password="StrongAdminPassword"

使用以下命令创建管理员用户:

$ sudo ./ejabberdctl register ${username} localhost ${password}

User admin@localhost successfully registered

建议将localhost替换为实际的服务器主机名。对于hostname,您还可以使用命令$(hostname -f)值:

# If it fails try FQDN

$ sudo ./ejabberdctl register ${username} $(hostname -f) ${password}

使用类似的方法将其他用户帐户添加到Ejabberd:

sudo ./ejabberdctl register testuser localhost testuserpassword

或:

sudo ./ejabberdctl register testuser $(hostname -f)  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"

建议需要将localhost替换为FQDN。完成后,重新启动ejabberd服务:

sudo systemctl restart ejabberd

步骤2:配置防火墙和Access UI

如果Firewalld处于活动状态,请在防火墙上启用ejabberd UI端口:

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

sudo firewall-cmd --reload

到这里,可以使用http://ip-address:5280/admin/地址格式访问Web管理员了,请在浏览器中打开URL,使用带域名的完整用户名登录,例如username@yourfqdn:

\

至此,配置Ejabberd XMPP服务器全部完成。用户可以随时体验这款功能强大、灵活的XMPP服务器,现在就可以用于各种实时通信应用。