本文介绍在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/:
当前安装的版本是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的过程全部完成了。
相关主题 |