云网牛站
所在位置:首页 > Linux云服务器 > 在RHEL 8系统中安装Ejabberd XMPP Server的方法

在RHEL 8系统中安装Ejabberd XMPP Server的方法

2019-02-09 10:02:42作者:梁叹稿源:云网牛站

本文介绍在RHEL 8操作系统中安装Ejabberd XMPP Server的方法,Ejabberd有提供RPM文件,可以使用rpm包管理器轻松下载和安装。

 

简介

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

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

Ejabberd XMPP服务器的功能:

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

存储转发(离线消息)。

联系人名单(名册)和存在。

一对一的消息传递。

用户状态扩展:个人事件协议(PEP)和输入指示符。

用户个人头像vCards。

群聊:MUC(多用户聊天)。

使用邮件存档管理(MAM)进行邮件存档。

邮件传递收据(又名XEP-184)。

隐私设置,隐私列表和简单的阻止扩展。

最后的活动。

度量标准和完整的命令行管理。

全功能Web支持,带有BOSH和Web套接字。

流媒体上的消息可靠性流管理(又名XEP-0198)。

 

一、更新系统

运行以下命令更新RHEL 8操作系统:

sudo yum -y update

 

二、下载并安装Ejabberd RPM软件包

更新后,下载Ejabberd RPM软件包,地址在https://www.process-one.net/en/ejabberd/downloads/:

在RHEL 8系统中安装Ejabberd XMPP Server的方法

当前安装的版本是18.12.1,在终端中下载:

sudo yum -y install wget

wget https://www.process-one.net/downloads/ejabberd/18.12.1/ejabberd-18.12.1-0.x86_64.rpm

通过运行以下命令安装Downloaded RPM软件包:

sudo yum localinstall ejabberd-18.12.1-0.x86_64.rpm

这将在/etc/init.d/ejabberd下放置ejabberd init脚本:

创建名为ejabberd的系统用户。

ejabberd应用程序目录是/opt/ejabberd,这是ejabberd用户的家。

启动ejabberd时,系统中启动的进程为beam或beam.smp,以及epmd。

 

三、启动Ejabberd服务

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

找到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 XMPP管理员帐户

你需要一个管理XMPP帐户才能访问Web Admin控制面板。

将工作目录更改为cd /opt/ejabberd-18.12.1/bin:

cd /opt/ejabberd-18.12.1/bin

添加管理员帐户:

# ./ejabberdctl register myadmin localhost mystrongPassword

User jmutai@localhost successfully registered

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

./ejabberdctl register testuser localhost testuserpassword

编辑ejabberd配置文件,为你创建的XMPP帐户提供管理权限/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

 

五、配置防火墙和Access UI

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

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

sudo firewall-cmd --reload

可以通过http://ip-address:5280/admin/访问Web Admin,使用浏览器打开URL即可,使用域名的完整用户名登录,例如myadmin@localhost:

在RHEL 8系统中安装Ejabberd XMPP Server的方法

至此,在RHEL 8系统中安装Ejabberd XMPP Server的过程全部完成了。

 

相关主题

在RHEL 8系统中下载及安装Erlang 20.3.8.17的方法

精选文章
热门文章