ejabberd 不会持久存储名册
Posted
技术标签:
【中文标题】ejabberd 不会持久存储名册【英文标题】:ejabberd doesn't store roster persistently 【发布时间】:2016-01-10 13:25:35 【问题描述】:我正在使用以下图像在 Kubernetes 中运行 ejabberd:https://hub.docker.com/r/jprjr/ejabberd/
我尝试通过从 Pidgin 中删除帐户并再次添加来测试持久性。 Pidgin 不会加载之前添加的花名册。
我尝试了 Mnesia 和 Postgres。 Postgres 数据库似乎没有受到 ejabberd 的影响,但我也没有在日志中发现任何错误。
任何想法,什么可能导致这种行为?
我的配置:
hosts: ["example.com"]
loglevel: 4
hide_sensitive_log_data: true
listen:
- port: 5222
module: ejabberd_c2s
access: c2s
shaper: c2s_shaper
zlib: true
starttls_required: true
starttls: true
certfile: "/etc/ejabberd/ejabberd.pem"
- port: 5269
module: ejabberd_s2s_in
shaper: s2s_shaper
max_stanza_size: 65536
s2s_use_starttls: true
s2s_certfile: "/etc/ejabberd/ejabberd.pem"
transport: tcp
auth_method: [ldap]
ldap_servers: ["ldap.example.com"]
ldap_port: 389
ldap_rootdn: "CN=ejabberd,OU=ServiceAccounts,DC=example,DC=com"
ldap_password: "*********"
ldap_base: "OU=User,DC=example,DC=com"
ldap_uids:
- "sAMAccountName": "%u"
ldap_filter: "(&(objectClass=user)(memberof=CN=ejabberdUsers,CN=Users,DC=example,DC=com))"
# tried with and w/o
# default_db: odbc
# sm_db_type: odbc
# odbc_type: pgsql
# odbc_server: "db.example.com"
# odbc_password: "********"
# odbc_port: 10051
shaper:
normal: 1000
fast: 50000
acl:
admin:
user:
"admin1": "example.com"
"admin2": "example.com"
access:
local:
local: allow
c2s:
blocked: deny
all: allow
【问题讨论】:
您没有显示整个配置文件。我们看不到您是否启用了名册模块以及配置了哪个数据库。请填写并澄清。 【参考方案1】:ejabberd 商店名册持续存在。
您需要在 ejabberd 配置文件中启用 mod_roster 并设置您想要的数据库,例如
mod_roster:
db_type: odbc
您似乎缺少配置以获取有关配置的更多详细信息,请检查这些链接。 https://github.com/processone/ejabberd/blob/master/test/ejabberd_SUITE_data/ejabberd.yml
https://www.process-one.net/docs/ejabberd/guide_en.html
【讨论】:
以上是关于ejabberd 不会持久存储名册的主要内容,如果未能解决你的问题,请参考以下文章