本文介绍在Ubuntu 18.04、Ubuntu 16.04系统中安装Ejabberd XMPP Server的方法,我们将从二进制安装程序安装ejabberd,它提供了一个功能齐全的ejabberd服务器,而不需要任何额外的依赖项。
简介 Ejabberd设计初衷是容错,易于配置和可扩展性。它能够利用多个集群机器的资源,并且在需要更多容量时可以轻松扩展,通过添加更多虚拟机。 Ejabberd允许使用外部或内部数据库(Mnesia,SQL),LDAP或外部脚本对用户进行身份验证,为了存储持久数据,ejabberd使用Mnesia(分布式内部Erlang数据库),但可以选择其他存储:SQL数据库,如MySQL或PostgreSQL(在Ubuntu 18.04/Ubuntu 16.04上安装PostgreSQL 11的说明),像Riak这样的NoSQL数据库(也用Erlang编写)。
一、下载ejabberd安装程序 ejabberd下载页面在:https://www.process-one.net/en/ejabberd/downloads/,当前最新的版本是ejabberd Community Server 18.12.1。 使用wget下载Debian软件包: wget https://www.process-one.net/downloads/ejabberd/18.12.1/ejabberd_18.12.1-0_amd64.deb
二、在Ubuntu 18.04中安装ejabberd 使用dpkg命令安装下载的软件包: sudo dpkg -i ejabberd_18.12.1-0_amd64.deb 这将在/etc/init.d/ejabberd下放置ejabberd init脚本: 创建名为ejabberd的系统用户 ejabberd应用程序目录是/opt/ejabberd。这是ejabberd用户的家。 启动ejabberd时,系统中启动的进程为beam或beam.smp,以及epmd。
三、启动ejabberd服务 由于Ubuntu 18.04和Ubuntu 16.04使用systemd init系统,我们需要将ejabberd.service复制到/etc/systemd/system目录: sudo updatedb sudo cp $(locate ejabberd.service) /etc/systemd/system 重新加载系统: sudo systemctl daemon-reload 启动该服务并使其在启动时启动: sudo systemctl enable --now ejabberd 通过运行检查状态: systemctl status ejabberd.service
四、创建ejabberd XMPP管理员帐户 你需要一个XMPP帐户并授予他管理权限才能进入ejabberd Web Admin,在ejabberd服务器上注册XMPP帐户。 将ejabberdctl命令位置添加到PATH,找到ejabberdctl: $ locate ejabberdctl | grep bin /opt/ejabberd-18.12.1/bin/ejabberdctl 添加.bashrc文件的路径: vim ~/.bashrc 设置如下,但将/opt/ejabberd-18.12.1/bin/替换为locate找到的版本路径: PATH=$PATH:/opt/ejabberd-18.12.1/bin/ 获取要反映的新路径的文件: source ~/.bashrc 然后添加用户: # ejabberdctl register admin ejabberd.example.com StrongPassword User admin@example.com successfully registered 应使用正确的服务器主机名替换ejabberd.example.com。 编辑ejabberd配置文件,为你创建的XMPP帐户授予管理权限: $ sudo vim /opt/ejabberd/conf/ejabberd.yml acl: admin: user: - "admin": "example.com" access: configure: admin: allow 你可以为许多XMPP帐户以及其他XMPP服务器中的帐户授予管理权限。
五、访问ejabberd Web Admin 可以通过http://ip-address:5280/admin/访问Web Admin,在浏览器中打开URL地址即可:
登录时,请确保输入完整的JID作为用户名: admin@example.com 你还需要输入后缀的原因是ejabberd的虚拟主机支持,你可以在单个实例上管理多个XMPP域。
相关主题 |