Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Ejabberd无法注册新用户_Macos_Xmpp_Ejabberd - Fatal编程技术网

Macos Ejabberd无法注册新用户

Macos Ejabberd无法注册新用户,macos,xmpp,ejabberd,Macos,Xmpp,Ejabberd,我在mac上使用最新版本的MacOSMavericks。我下载了适用于mac的ejabberd 13.12,安装了它,并通过终端启动了它。现在我可以在浏览器中打开它了,我正在使用mozilla firefox 26和最新的safari。然后转到管理控制台 一切似乎都很好,我可以用我在jabber安装期间提供的用户名和密码登录。现在我转到访问控制列表,并尝试添加其他用户。问题是我不能 在mozilla中,我收到错误消息,与服务器的连接被重置,而在safari中,我收到空白页。刷新后,新用户不在那里

我在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你没有撒谎!在添加用户之前,我不知道我必须先去那个链接。