我从以前的员工那里继承了一个ejabberd安装。基本命令返回
错误命令'xxxx'未知
doc指的是/etc/ejabberd.cfg,它在服务器上不存在。 /opt/ejabberd-15.03/conf/ejabberd.yml
似乎包含所有相关配置,例如LDAP和ssl证书位置。
对于用户来说,一切似乎都运行良好,所以也许我做错了什么。以下是一些示例:
[root@jabber bin]# pwd
/opt/ejabberd-15.03/bin
[root@jabber bin]# ./ejabberdctl create_room SteveTest conference.localhost localhost
错误:命令“create_room”未知。
[root@jabber bin]# ./ejabberdctl muc_online_rooms global
错误:命令“muc_online_rooms”未知。
答案 0 :(得分:0)
doc指的是/etc/ejabberd.cfg,它在服务器上不存在。 /opt/ejabberd-15.03/conf/ejabberd.yml似乎包含所有相关配置,例如LDAP和ssl证书位置。
配置文件的位置特定于ejabberd
的安装方式,因此在/opt/ejabberd-15.03/conf/
中使用它应该没问题。
ejabberd.cfg
与ejabberd.yml
的原因是ejabberd 13.10 introduced YAML as configuration file format(ejabberd.yml
),并且弃用了以前使用过的Erlang术语(ejabberd.cfg
)。来自their documentation:
在以前的ejabberd版本中,配置文件应该用Erlang术语编写。格式仍然受支持,但强烈建议将其转换为新的YAML [...]
当你在没有任何参数的情况下运行ejabberdctl
时,它应该显示所有支持的命令。
您尝试过的内容(create_room
和muc_online_rooms
)不应该在列表中,因为它们是part of the mod_muc_admin
module,而是introduced with ejabberd 15.04,但是您出现了运行较旧的ejabberd 15.03。
要获取这些命令,您可以升级ejabberd
(这是推荐的方法),也可以从包含第三方ejabberd模块的ejabberd-contrib
存储库中获取mod_muc_admin
模块。 mod_muc_admin
在直接包含在ejabberd中之前就是该存储库的一部分。以下是ejabberd-contrib
的最新修订版的链接,其中仍包含模块:https://github.com/processone/ejabberd-contrib/tree/e5336f/mod_muc_admin