如何在Ubuntu 15.10和14.04上安装eJabberd XMPP服务器

时间:2019-05-19 01:26:45  来源:igfitidea点击:

eJabberd是一种健壮、可伸缩和可扩展的XMPP服务器。
eJabberd是用Erlang编程语言编写的。
所有eJabberd特性都可以从任何移动应用程序或web应用程序轻松访问。
在eJabberd中使用web套接字提供了在打开浏览器选项卡时无缝发送和接收消息的能力。

安装eJabberd

eJabberd包在默认系统存储库下可用。
我们只需要使用run below命令来安装eJabberd包。
这也将安装Erlang编程语言包。

$ sudo apt-get install ejabberd

配置eJabberd

对于这个安装,我们在配置中使用域 im.example.com
我们只能为本地系统使用本地主机,但对于远程服务器则使用域或子域。
因此,首先我创建一个主机文件条目来映射im.example.com和eJabberd服务器ip地址。

$ sudo echo "192.168.10.120 im.example.com" >> /etc/hosts

现在需要为域创建管理帐户。
下面的命令将为虚拟主机 localhostim.exmaple.com创建管理帐户。

$ ejabberdctl register admin localhost password
$ ejabberdctl register admin im.example.com password

现在编辑ejb配置文件 /etc/ejabberd/ejabberd.yml
为im.example.com的管理员用户添加acl。

acl:
  admin:
     user:
         - "admin": "localhost"
           **- "admin": "im.example.com"** 

在主机部分添加 im.example.com

hosts:
  - "localhost"
    - "im.example.com"

访问eJabberd web控制面板

完成上述配置之后,使用以下命令重新启动eJabberd服务。

$ sudo service ejabberd restart

在默认端口5280上启动eJabberd管理web面板。

浏览器打开 http://im.example.com:5280/admin

验证设置

为了验证设置,我们将使用XMPP客户机并与两个不同的用户登录,然后尝试在他们之间传递消息。
因此,首先在虚拟主机中创建两个用户帐户。
然后在系统上安装一个XMPP客户机。
对于这个示例,我们将使用Gajim xmpp客户机,我们还可以使用其他替代方案,如Pidgin等。
使用以下命令在两个系统上安装Gajim。

$ sudo apt-get install gajim

现在启动Gajim(从非root帐户)并在两个系统上使用不同的2用户帐户登录到Gajim。

现在,添加其他帐户从行动>>添加联系人菜单选项。
它将向远程用户发送请求。
当远程用户批准或拒绝请求时,eJabberd会通知我们请求的状态。
在批准的请求,远程联系将显示在聊天列表。

最后,我们可以开始在两个帐户之间发送消息。