云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 20.04上安装和配置Ejabberd XMPP服务器

在Ubuntu 20.04上安装和配置Ejabberd XMPP服务器

2020-05-26 17:11:27作者:李泽稿源:云网牛站

本文介绍在Ubuntu 20.04操作系统上安装和配置Ejabberd XMPP服务器所需的步骤。事先声明的注意事项:以下可自行替换${EJ_VERSION}为版本号,下面安装的是ejabberd_20.04-0_amd64.deb版本。

 

步骤1:下载ejabberd二进制文件

ejabberd Community Server二进制文件可用于Linux和Windows中,您可以使用通用安装程序脚本,也可以使用特定于操作系统的二进制软件包,例如Debian系列的.deb软件包和Red Hat系列的Linux发行版的.rpm。

我们将ejabberd Debian软件包安装到我们的本地系统,即Ubuntu 20.04计算机上。

您可能需要检查ejabberd下载页面以获取可用的新版本,地址是https://www.process-one.net/en/ejabberd/downloads/,截止本文更新时为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 May 25 10:06 ejabberd_20.04-0_amd64.deb

 

步骤2:在Ubuntu 20.04上安装Ejabberd XMPP服务器

下载软件包后,您可以使用apt软件包管理器进行安装:

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) ...

安装程序将执行许多操作:

1]、添加ejabberd系统用户以进行应用程序管理。

2]、为此系统用户创建主目录-/opt/ejabberd。

3]、启动核心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

输出的信息包含active (running)即为活动的状态。

下面将ejabberdctl命令位置添加到PATH。

找到ejabberdctl:

$ sudo find / -name ejabberdctl

/opt/ejabberd-20.04/bin/ejabberdctl

将路径添加到您的.bashrc文件:

$ vim ~/.bashrc

参考:什么是bashrc配置文件,如何对其进行编辑

进行如下设置,但用find命令中找到的版本路径替换/opt/ejabberd-20.04/bin/:

PATH=$PATH:/opt/ejabberd-20.04/bin/

源文件以反映新路径:

source ~/.bashrc

 

步骤4:将管理员用户添加到Ejabberd

您可以出于管理目的将用户添加到ejabberd,语法为:

ejabberdctl register <username> <server_hostname>  <user-password>

就我而言,我将运行以下命令:

# ejabberdctl register computingforgeeks $(hostname) StrongPassword

User computingforgeeks@ubuntu successfully registered

注:

computingforgeeks是要创建的用户的名称,也可以取其他名称,如ywnz。

StrongPassword是与创建的用户关联的密码。

编辑ejabberd配置文件,为您创建的XMPP帐户授予管理权限,用户格式为:

"username@servername"

编辑acl部分并添加用户:

$ 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:

   - "admin@ejabberd.example.com"

   - "computingforgeeks@ejabberd.example.com"

在Ubuntu 20.04上重新启动Ejabberd服务:

sudo systemctl restart ejabberd

您可以根据需要向任意多个XMPP帐户以及其他XMPP服务器中的帐户授予管理特权。

 

步骤5:完成配置以访问ejabberd控制中心

可以通过地址http://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控制中心URL,输入先前配置的用户名和密码:

在Ubuntu 20.04上安装和配置Ejabberd XMPP服务器

下一页面应该显示对Ejabberd Web控制台的访问:

在Ubuntu 20.04上安装和配置Ejabberd XMPP服务器

至此,您已经在Ubuntu 20.04上成功安装了Ejabberd XMPP服务器。

 

相关主题

在Ubuntu 18.04/16.04系统中安装Ejabberd XMPP Server的方法

精选文章
热门文章