在Ubuntu 20.04上安装Ejabberd XMPP服务器
这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。
将指南下载为PDF
关
这是续集。
这是续集。
这是续集。
Ejabberd是一个开源XMPP服务器,旨在提高速度和效率。该工具是从头开始构建的,具有容错能力,易于配置和可扩展性。向上扩展是将虚拟机添加到群集。 Ejabberd支持使用身份验证模块,例如Mnesia,SQL,LDAP或外部脚本。本文介绍了在Ubuntu 20.04上安装Ejabberd XMPP Server所需的步骤。
埃贾伯德 失忆症 (分布式内部Erlang数据库)保留数据,但支持其他数据库系统。这个也是;
- SQL数据库 MySQL,PostgreSQL等
- NoSQL数据库 像Riak(也用Erlang编写)
Ejabberd XMPP服务器的主要功能
Ejabberd采用模块化设计,以确保高度的自定义并轻松访问所需的功能。
- 存储并转发(离线消息)
- 联系人列表和状态
- 一对一消息传递
- 用户状态扩展:个人事件协议(PEP)和输入指示器
- 使用vCard的用户个人资料
- 群组聊天:MUC(多用户聊天)
- 带有消息存档管理(MAM)的消息存档
- 邮件传递确认(aka XEP-184)
- 隐私设置,隐私列表和简单的阻止扩展
- 最后活动
- 指标和完整的命令行管理
- 具有BOSH和Web套接字的全功能Web支持
- 流管理,以确保消息在移动设备上的可靠性(aka XEP-0198)。
步骤1:下载ejabberd二进制文件
ejabberd Community Server二进制文件可用于Linux和Windows。您可以使用通用安装程序脚本或特定于操作系统的二进制程序包。 .deb Debian家庭软件包和 .rpm 适用于Red Hat Linux发行版。
在本地系统Ubuntu 20.04计算机上安装ejabberd Debian软件包。
您可能需要检查 ejabberd下载页面 最新可用版本。在本文更新时,这是20.04。
EJ_VERSION=20.04
wget https://static.process-one.net/ejabberd/downloads/${EJ_VERSION}/ejabberd_${EJ_VERSION}-0_amd64.deb
确认软件包已下载。
$ ls -lh ejabberd_${EJ_VERSION}-0_amd64.deb -rw-r--r-- 1 root root 18M Apr 30 10:06 ejabberd_20.04-0_amd64.deb
步骤2:在Ubuntu 20.04上安装Ejabberd XMPP Server
软件包下载后, 适当 安装它的程序包管理器。
sudo apt install ./ejabberd_${EJ_VERSION}-0_amd64.deb
验证在Ubuntu 20.04上是否成功安装了Ejabberd XMPP服务器。
.....
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'ejabberd' instead of './ejabberd_20.04-0_amd64.deb'
The following NEW packages will be installed:
ejabberd
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/18.5 MB of archives.
After this operation, 28.1 MB of additional disk space will be used.
Get:1 /root/ejabberd_20.04-0_amd64.deb ejabberd amd64 20.04-0 [18.5 MB]
Selecting previously unselected package ejabberd.
(Reading database ... 28241 files and directories currently installed.)
Preparing to unpack .../ejabberd_20.04-0_amd64.deb ...
Unpacking ejabberd (20.04-0) ...
Setting up ejabberd (20.04-0) ...
安装程序将执行一些操作。
- 添加 边缘鸟 系统用户进行应用程序管理
- 为此系统用户创建主目录- / opt / ejabberd
- 启动核心ejabberd服务
$ ls /opt/ejabberd conf database logs $ getent passwd ejabberd ejabberd:x:998:998::/opt/ejabberd:/bin/sh
步骤3:在Ubuntu 20.04上启动ejabberd服务
安装后,您可以在Ubuntu 20.04上启动ejabberd服务。
sudo cp $(sudo find / -name ejabberd.service) /etc/systemd/system
重新加载systemd。
sudo systemctl daemon-reload
启动服务,并使其在启动时启动。
sudo systemctl enable --now ejabberd
确保服务已启动且没有任何错误。
$ systemctl status ejabberd
● ejabberd.service - XMPP Server
Loaded: loaded (/etc/systemd/system/ejabberd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-05-23 11:31:59 CEST; 4s ago
Process: 1478 ExecStart=/bin/sh -c /opt/ejabberd-20.04/bin/ejabberdctl start && /opt/ejabberd-20.04/bin/ejabberdctl started (code=exited, status=0/>
Tasks: 23 (limit: 4567)
Memory: 53.1M
CGroup: /system.slice/ejabberd.service
├─1526 /opt/ejabberd-20.04/bin/epmd -daemon
├─1528 /opt/ejabberd-20.04/bin/beam.smp -K true -P 250000 -- -root /opt/ejabberd-20.04 -progname /opt/ejabberd-20.04/bin/erl -- -home /opt>
├─1539 erl_child_setup 65536
└─1567 /opt/ejabberd-20.04/lib/os_mon-2.4.7/priv/bin/memsup
May 23 11:31:56 ubuntu systemd[1]: Starting XMPP Server...
May 23 11:31:59 ubuntu systemd[1]: Started XMPP Server.
将ejabberdctl命令的位置添加到PATH中
查找ejabberdctl。
$ sudo find / -name ejabberdctl /opt/ejabberd-20.04/bin/ejabberdctl
添加路径 .bashrc
文件。
$ vim ~/.bashrc
进行以下设置,但将/opt/ejabberd-20.04/bin/替换为在find命令中找到的版本路径。
PATH=$PATH:/opt/ejabberd-20.04/bin/
获取具有新路径的文件以进行反映。
source ~/.bashrc
步骤4:将管理员用户添加到Ejabberd
您可以将用户添加到ejabberd以进行管理。
句法:
ejabberdctl register
就我而言,我运行以下命令:
# ejabberdctl register computingforgeeks $(hostname) StrongPassword User [email protected] successfully registered
哪里:
- 电脑运算 要创建的用户名。
- 强密码 与创建的用户关联的密码。
编辑ejabberd配置文件,以赋予您创建的XMPP帐户管理特权。
用户格式:
"[email protected]"
编辑 访问控制列表 添加部分和用户。
$ sudo vim /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:
- "[email protected]"
- "[email protected]"
在Ubuntu上重新启动Ejabberd服务。
sudo systemctl restart ejabberd
您可以根据需要为任意多个XMPP帐户和其他XMPP服务器帐户赋予管理员特权。
步骤5:访问ejabberd网站管理员
必须通过以下网址访问Web管理员:// server_ip_address_or_hostname:5280 / admin /。
检查端口是否绑定。
# ss -tunelp | grep 5280
tcp LISTEN 0 5 *:5280 *:* users:(("beam.smp",pid=3124,fd=47)) uid:998 ino:66294 sk:8 v6only:0 <->
如果您有ufw防火墙,请允许端口5280。
sudo ufw allow 5280
在浏览器中打开ejabberd Web URL。输入您先前设置的用户名和密码。
您应该看到对Ejabberd Web控制台的访问。
我已经在Ubuntu 20.04上成功安装了Ejabberd XMPP服务器。
这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。
将指南下载为PDF
关
这是续集。
这是续集。
这是续集。