使用Prosody安装XMPP(Jabber)服务器[更新]


我们许多人使用 Gtalk的 o Facebook聊天 不知道我们用来通讯的协议就是 XMPP (可扩展消息传递和状态协议) 这也是开放的。

En GNU / Linux的 我们有几个应用程序来设置我们自己的服务器 XMPP o 叽里咕噜 众所周知,配置时有些复杂。 例如,我们有 雅柏,它非常简单轻巧,但是如果我们想进行更多优化,我们可以 韵律.

那我就离开你 一篇文章 出版于 古特 由我们的一位用户(Hugo)展示,他向我们展示了如何配置我们自己的服务器 XMPP韵律.

简介

在本地网络上安装用于内部消息传递的XMPP(Jabber)服务器时,许多人选择了jabber,ejabberd或openfire,但是尽管功能正常,但这些应用程序可能需要大量资源。

如果您的网络是小型或中型的,而您只需要简单的即时消息服务,那么幸运的是,有一个名为prosody的轻量级服务器替代方案,尽管它是用LUA(一种解释性语言)进行编程的,但根据其开发人员的说法,它工作得很好拉伊吉特。

这个简短的教程将说明如何在Debian稳定版上安装和配置韵律。

准备和安装

Prosody软件包位于Debian存储库中,但是该软件的开发人员已经为Debian及其衍生产品准备了一个存储库,其中包含最新的软件包和其他模块,我们可以按以下方式使用它们:

回声“ deb http://packages.prosody.im/debian稳定主” sudo tee -a /etc/apt/sources.list wget http://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key添加-sudo aptitude更新

添加存储库后,我们就可以继续安装韵律(另外添加要使用的模块 sasl 作为必要的身份验证机制,可以将韵律与 pam, LDAP的等)。

sudo aptitude install sasl2-bin libsasl2-modules-ldap prosody liblua5.1- {sec0,cyrussasl0,event-prosody0}

然后,我们继续为我们的域生成自签名证书:

cd / etc / prosody / certs sudo openssl req -new -x509 -days 1095 -nodes -out“ mydomain.cu.cert” -keyout“ mydomain.cu.key”

该向导将要求我们提供一系列数据,其中最重要的是“公用名(例如,服务器 FQDN 或您的名字)“我们必须将域名放在何处,因为我们将在本节中使用它 虚拟主机 配置文件。

另外,如果在我们安装韵律的服务器上,我们已经配置 iptables 使用默认的拒绝策略,我们需要为网络打开所需的端口,例如:

sudo iptables -A输入-i lo -j接受sudo iptables -A输入-i eth1 -s 192.168.0.0/24 -p tcp -m tcp -m状态-状态已建立,相关-j接受sudo iptables -A输入-我eth1 -s 192.168.0.0/24 -p tcp -m tcp -m multiport --dports 5222,5223,5269 -m state --state NEW -j ACCEPT

组态

接下来,我们继续修改配置文件的某些行,我们必须对其进行编辑 /etc/prosody/prosody.cfg.lua 所以看起来像这样:

ports = {5222,5269} ssl_ports = {5223}管理员= {“ juan@mydomain.cu”,“ pedro@mydomain.cu”} use_libevent = true; -默认选项基于select()函数,而libevent使用epoll(),后者效率更高且可扩展。 modules_enabled = {“名册”; “ saslauth”; “ tls”; “回拨”; “磁盘”; “私人的”; “ vcard”; “隐私”; “压缩”; “ legacyauth”; “版”; “正常运行时间”; “时间”; “ ping”; “ pep”; “寄存器”; -不要禁用该模块,它不仅允许注册,还可以更改“临时”密码; “ admin_adhoc”; “ posix”; “波什”; -如果要通过http启用jabber,请添加此行; allow_registration = false; -出于安全原因禁用-如果要启用从客户端本身创建帐户的权限,请更改为true ssl = {key =“ /etc/prosody/certs/localhost.key”; 证书=“ /etc/prosody/certs/localhost.cert”; } storage =“内部”; -默认存储是xml文件-可选地,我们可以使用“ sql”存储方法-这允许使用SQLite,MySQL或PostgreSQL作为后端(尽管必须添加某些参数)authentication =“ internal_hashed”; -如果客户端不支持SCRAM-SHA-1,则可以使用“ internal_plain”-如果要使用sasl方法稍后再使用LDAP,则必须使用“ cyrus” log = {error =“ / var / log / prosody /韵律。 信息=“ /var/log/prosody/prosody.log”; } pidfile =“ /var/run/prosody/prosody.pid”; VirtualHost“ localhost” VirtualHost“ mydomain.cu” ssl = {key =“ /etc/prosody/certs/mydomain.cu.key”; 证书=“ /etc/prosody/certs/mydomain.cu.crt”; }

修改配置文件后,我们将重新启动服务:

sudo服务韵律减去

现在,我们将继续创建帐户。 在这种情况下,就像在配置文件中一样,我们从客户端禁用了注册,因此必须在服务器上手动创建帐户。 我们在配置中选择的身份验证方法(internal_hashed)使密码不是以明文形式保存,而是通过以下机制进行保存: SCRAM-SHA-1。 如果我们打算使用的消息传递客户端不支持此机制,则可以在配置中使用“ internal_plain”方法。

首先,我们将创建我们在配置中声明的服务管理员的帐户(声明它们并不意味着它们是自动创建的):

sudo prosodyctl adduser juan@mydomain.cu sudo prosodyctl adduser pedro@mydomain.cu

我们可以对要创建的任何其他帐户使用相同的命令。

最后,我们检查服务是否正在运行:

sudo prosodyctl状态

我们应该收到类似以下的消息:

Prosody与PID 1310一起运行

客户端配置

配置取决于客户端,但是总体而言,细节很简单。 例如,对于 洋泾浜:

“基本”标签

用户名: 约翰
域名: mydomain.cu
资源: -

“高级”标签

连接安全性: 尽可能使用加密
连接端口: 5222
连接到服务器: myserver.mydomain.cu

笔记

可以找到更多信息(包括将Cyrus SASL与 LDAP的 以及如何从中创建条目 DNS)在 本文 来自Debian Wiki。

用户评论通过 DesdeLinux 要真正停止您需要执行的服务 pkill lua5.1


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   KZKG ^ Gaara

    我喜欢...让我们一劳永逸地将OpenFire更改为ejabberd或此Prosody🙂

    1.    拉夫

      我已经在VirtualBox中正好为此进行测试..因为如果我们等你,我的儿子..

      1.    KZKG ^ Gaara

        ^-^ U ...呵呵...
        现在,我向主机提供商发送了一张票,询问我们需要删除“ jabber”的DNS记录。______

        1.    拉夫

          好的。 Jabber,IRC,Facebook,Gtalk,我不知道如何或在哪里,但可以连接..

  2.   埃内斯托·方特

    如何与Prosody的LDAP集成? 和BD?

  3.   腐烂87

    知识较少的几张图像也不错^。^

  4.   猎人

    在家里我有韵律,我安装了它进行测试,并且我喜欢它的简单性。 停止服务器时的详细信息,我必须执行pkill lua5.1才能真正停止它。

  5.   奥罗斯

    哇,这很有趣。 有没有其他人可以通过GUI(可以是Web)创建用户的方法? 您将如何获得域名使用权? 😛

    1.    猎人

      您可以在配置中启用注册,并通过选择在服务器上创建帐户的选项从同一jabber客户端进行注册。

      allow_registration = TRUE;

  6.   费兰

    我正在slackware中寻找韵律软件包,出色的教程。 干杯

  7.   阿图罗·莫利纳(Arturo Molina)

    如何验证用户是否进行了身份验证? 或如何知道用户是否连接到服务器?

  8.   @jlcmux

    我成功了😀我能够正确安装和配置它。 将服务器安装在一台PC上,客户端是另一台PC。 但是我有问题为了使客户端知道我的域(medellinlibre.org)服务器是LOCAL。 我必须将IPDELSERVIDOR medellinlibre.org添加到主机文件。 如果不是,则出于明显原因,它不会连接。 我的问题是,默认情况下是否无法让网络上的所有PC都知道该域位于LAN上的给定IP?

    1.    有限公司

      同样的疑问! 您最后知道吗? 我从韵律开始...

    2.    猎人

      很简单,在pidgin中的高级选项中指定服务器的ip,另一个选项是在您的LAN上安装dns。

  9.   旧金山

    这个话题非常有趣,我想知道Prosody是否支持websockets,我有兴趣制作一个xmpp Web客户端。

    1.    @jlcmux

      你可以看到这个。 http://code.google.com/p/xmppwebchat/

  10.   犬风

    嗨,您是否有本教程的版本,其配置仅适用于国内Intranet?没有域或类似名称。 几乎没有,只有一台装有Liñux的计算机是服务器,而其他连接到该计算机的计算机

    它仅是为了能够通过pidgin在Intranet计算机之间进行聊天。