本文介绍在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 进行如下设置,但用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,输入先前配置的用户名和密码:
下一页面应该显示对Ejabberd Web控制台的访问:
至此,您已经在Ubuntu 20.04上成功安装了Ejabberd XMPP服务器。
相关主题 |