Macos Ejabberd无法注册新用户
我在mac上使用最新版本的MacOSMavericks。我下载了适用于mac的ejabberd 13.12,安装了它,并通过终端启动了它。现在我可以在浏览器中打开它了,我正在使用mozilla firefox 26和最新的safari。然后转到管理控制台 一切似乎都很好,我可以用我在jabber安装期间提供的用户名和密码登录。现在我转到访问控制列表,并尝试添加其他用户。问题是我不能 在mozilla中,我收到错误消息,与服务器的连接被重置,而在safari中,我收到空白页。刷新后,新用户不在那里。这是我所说的屏幕: 我错过了什么 编辑: 这是我收到的错误消息:Macos Ejabberd无法注册新用户,macos,xmpp,ejabberd,Macos,Xmpp,Ejabberd,我在mac上使用最新版本的MacOSMavericks。我下载了适用于mac的ejabberd 13.12,安装了它,并通过终端启动了它。现在我可以在浏览器中打开它了,我正在使用mozilla firefox 26和最新的safari。然后转到管理控制台 一切似乎都很好,我可以用我在jabber安装期间提供的用户名和密码登录。现在我转到访问控制列表,并尝试添加其他用户。问题是我不能 在mozilla中,我收到错误消息,与服务器的连接被重置,而在safari中,我收到空白页。刷新后,新用户不在那里
2014-02-05 16:29:39.204 [error] <0.428.0> CRASH REPORT Process <0.428.0> with 0 neighbours crashed with reason: no case clause matching
{error,{aborted,{{case_clause,{user,<<"brad">>,<<"donjohnson">>}},
[{acl,normalize_spec,1,[{file,"src/acl.erl"},{line,222}]},{acl,'-add_list_local/3-fun- 1-',2,[{file,"src/acl.erl"},{line,157}]},{lists,foreach,2,[{file,"lists.erl"},{line,1323}]},
{mnesia_tm,apply_fun,3,[{file,"mnesia_tm.erl"},{line,832}]},
{mnesia_tm,execute_transaction,5,[{file,"mnesia_tm.erl"},{line,812}]},{rpc,'-handle_call_call/6-fun-0-',5,[{file,"rpc.erl"},{line,205}]}]}}} in ejabberd_web_admin:process_admin/2 line 700
有关更多信息,请参阅
此外,我可能会在这里冒险,但您是在尝试将用户添加到服务器还是将用户添加到ACL
如果您只是尝试添加用户,请从虚拟主机->主机->用户区域执行此操作。
如果您确实试图添加ACL,可以尝试在ejabberd.cfg文件中添加它们。有关更多信息,请参阅
此外,我可能会在这里冒险,但您是在尝试将用户添加到服务器还是将用户添加到ACL
如果您只是尝试添加用户,请从虚拟主机->主机->用户区域执行此操作。
如果您实际上正在尝试添加ACL,您可以尝试将它们添加到ejabberd.cfg文件中。正如jokker提到的,您在ACL菜单中,而不是注册菜单中 要修复您在ACL菜单中发布的错误,应修补源代码
--- a/src/ejabberd_web_admin.erl
+++ b/src/ejabberd_web_admin.erl
@@ -1138,7 +1138,7 @@ string_to_spec2(ACLName, Val) ->
jlib:string_to_jid(Val),
case U of
<<"">> -> {ACLName, S};
- _ -> {ACLName, U, S}
+ _ -> {ACLName, {U, S}}
end.
似乎应该修复其他字符串到规范的函数。正如jokker提到的,您在ACL菜单中,而不是寄存器菜单中 要修复您在ACL菜单中发布的错误,应修补源代码
--- a/src/ejabberd_web_admin.erl
+++ b/src/ejabberd_web_admin.erl
@@ -1138,7 +1138,7 @@ string_to_spec2(ACLName, Val) ->
jlib:string_to_jid(Val),
case U of
<<"">> -> {ACLName, S};
- _ -> {ACLName, U, S}
+ _ -> {ACLName, {U, S}}
end.
似乎应该修复其他字符串到规范函数。ejabberd日志文件中是否有任何错误消息?是的,我将用它更新我的问题。因此函数acl:normalize_spec希望得到{user,{Username,Hostname}形式的规则,但它得到的是{user,Username,Hostname}。不知道为什么;希望对ejabberd有更多了解的人能看到这一点并给我们一些启发。ejabberd日志文件中是否有任何错误消息?是的,我将用它更新我的问题。因此函数acl:normalize_spec希望得到一个{user,{Username,Hostname}形式的规则,但它得到的是{user,Username,Hostname}。不知道为什么;希望对艾贾伯德有更多了解的人能看到这一点并启发我们。看来你是对的。我想你已经赢得了你的赏金。因为我对这一切都是新手。你能把你的答案再详细一点吗。什么是ACL,向ACL中添加用户意味着什么?ACL代表访问控制列表,它基本上完全按照它所说的做。它允许您创建列表,控制人们是否以及如何访问您的服务器。例如,当您第一次设置服务器时admin@donjohnson进入控制谁拥有管理员权限的列表。谢谢@jokker,你忽略虚拟主机按钮为我节省了数小时:顺便问一下,有没有办法从web面板管理用户信息,如姓名或头像?@ssantos你没有撒谎!在添加用户之前,我不知道我必须先去那个链接。看来你是对的。我想你已经赢得了你的赏金。因为我对这一切都是新手。你能把你的答案再详细一点吗。什么是ACL,向ACL中添加用户意味着什么?ACL代表访问控制列表,它基本上完全按照它所说的做。它允许您创建列表,控制人们是否以及如何访问您的服务器。例如,当您第一次设置服务器时admin@donjohnson进入控制谁拥有管理员权限的列表。谢谢@jokker,你忽略虚拟主机按钮为我节省了数小时:顺便问一下,有没有办法从web面板管理用户信息,如姓名或头像?@ssantos你没有撒谎!在添加用户之前,我不知道我必须先去那个链接。