ejabberd是一个用Erlang/OTP语言写的自由和开源的即时消息服务器.
ejabberd是跨平台,分布式, 容错, 并基于开放标准的实时通讯系统.
ejabberd的设计坚若磐石,是一个功能服丰富的XMPP服务器.
ejabberd同时适合小规模布署和超大规模布署, 无论它们是否需要可伸缩性.
关键功能
ejabberd是:
- 跨平台的: ejabberd可以运行在Microsoft Windows和Unix派生系统,例如Linux, FreeBSD和NetBSD.
- 分布式的: 你可以在一个集群的机器上运行ejabberd,并且所有的机器都服务于同一个或一些Jabbe域. 当你需要更大容量的时候,你可以简单地增加一个廉价节点到你的集群里. 因此, 你不需要买一个昂贵的高端机器来支持上万个并发用户.
- 容错: 你可以布署一个ejabberd集群,这样一个正常运行的服务的所有必需信息将被复制到所有节点. 这意味着如果其中一个节点崩溃了, 其他节点将无中断的继续运行. 另外, 也可以‘不停机’增加或更换节点.
- 易于管理: ejabberd建立于开源的Erlang. 所以你不需要安装外部服数据库, 外部web服务器, 除此以外因为每个东西都已经包含在里面, 并且处于开箱可用状态. 其他管理上的好处包括:
- 详尽的文档.
- 便捷的安装程序,包括在Linux, Mac OS X, 以及Windows系统下.
- Web管理.
- 共享名册组.
- 命令行管理工具.
- 可外部集成的验证机制.
- 发送匿名消息的能力.
- 国际化: ejabberd领导国际化. 非常适合全球化. 相关功能包括:
- 翻译成25种语言.
- 支持IDNA.
- 开放标准: ejabberd是的一个完全支持XMPP标准的开源Jabber服务器.
- 完全兼容XMPP.
- 基于XML的协议.
- 支持的协议很多.
额外功能
而且, ejabberd广泛支持的其他先进特性:
- 模块化
- 只装在你想要的模块.
- 在你自己的自定义模块扩展ejabberd.
- 安全性
- 支持c2s和s2s连接的SASL和STARTTLS.
- 支持s2s连接的STARTTLS和Dialback.
- 可通过HTTPS安全访问的Web管理.
- 数据库
- 快速布署的内部数据库(Mnesia).
- 原生的MySQL支持.
- 原生的PostgreSQL支持.
- 支持ODBC数据存储.
- 支持Microsoft SQL Server.
- 验证
- 内部验证.
- PAM, LDAP 和 ODBC.
- 外部验证脚本.
- 其他
- 支持虚拟主机.
- XML流压缩 (XEP-0138).
- 统计 (XEP-0039).
- 支持IPv6的c2s和s2s连接.
- 支持集群和HTML日志的多用户聊天模块.
- 基于用户vCards的用户目录.
- 支持基于PubSub的个人事件的发行-订阅组件.
- 支持web客户端: HTTP轮询和HTTP绑定(BOSH)服务.
- IRC网关.
- 组件支持: 安装特定网关之后和外部网络的接口,如 AIM, ICQ 和 MSN.
模块一览
下表列出ejabberd里的所有模块.
模块 | 功能 | 依赖 |
---|---|---|
mod_adhoc | 特定命令 (XEP-0050) | |
mod_announce | 管理公告 | 推荐 mod_adhoc |
mod_caps | 实体能力 (XEP-0115) | |
mod_configure | 使用特定命令配置服务器 | mod_adhoc |
mod_disco | 服务发现 (XEP-0030) | |
mod_echo | XMPP节回音 | |
mod_irc | IRC网关 | |
mod_last | 最后活动 (XEP-0012) | |
mod_last_odbc | 最后活动 (XEP-0012) | 支持的数据库 (*) |
mod_muc | 多用户聊天 (XEP-0045) | |
mod_muc_log | 多用户聊天室记录 | mod_muc |
mod_offline | 离线消息存储 (XEP-0160) | |
mod_offline_odbc | 离线消息存储 (XEP-0160) | 支持的数据库 (*) |
mod_ping | XMPP Ping 和定期保持连接 (XEP-0199) | |
mod_privacy | 禁止通讯 (XMPP IM) | |
mod_privacy_odbc | 禁止通讯 ((XMPP IM) | 支持的数据库 (*) |
mod_private | 私有XML存储 (XEP-0049) | |
mod_private_odbc | 私有XML存储 (XEP-0049) | 支持的数据库 (*) |
mod_proxy65 | SOCKS5字节流 (XEP-0065) | |
mod_pubsub | 发行-订阅 (XEP-0060), PEP (XEP-0163) | mod_caps |
mod_pubsub_odbc | 发行-订阅 (XEP-0060), PEP (XEP-0163) | 支持的数据库 (*) 和 mod_caps |
mod_register | I带内注册 (XEP-0077) | |
mod_roster | 名册管理 (XMPP IM) | |
mod_roster_odbc | 名册管理 (XMPP IM) | 支持的数据库 (*) |
mod_service_log | 拷贝用户消息到日志服务 | |
mod_shared_roster | 共享名册管理 | mod_roster 或 mod_roster_odbc |
mod_sic Server | IP检查 (XEP-0279) | |
mod_stats | 统计信息收集 (XEP-0039) | |
mod_time | 实体时间 (XEP-0202) | |
mod_vcard | 电子名片 (XEP-0054) | |
mod_vcard_ldap | 电子名片 (XEP-0054) | LDAP服务器 |
mod_vcard_odbc | 电子名片 (XEP-0054) | 支持的数据库 (*) |
mod_vcard_xupdate | 基于vCard的头像 (XEP-0153) | mod_vcard 或 mod_vcard_odbc |
mod_version | 软件版本 (XEP-0092) |