安装window10的ejabberd版本20.04,不能成功安装
查看日志,显示如下
由于运行安装脚本失败,该脚本目测为:postinstall.cmd
通过排查:在执行该语句出现问题:
也就是不能启动ejabberd。
曾经一次偶然机会发现erlang版本的20的使用mysql库(开源的)会出现问题,排查原因竟然是crypto库出现问题,
window10执行不了,换个更老的crypto版本,mysql库是运行成功的,说明erlang20版本的crypto库在window10执行不了。
目前erlang的最新版本为23.1,其crypto库(crypto-4.8)在window10下是可以运行的。为了解决ejabberd启动问题,可以考虑换crypto库。
在ejabberd的安装路径找到crypto库,将其删除,添加erlang 23.1的crypto-4.8到ejabberd的安装库里面,这样依然还是不行的,估计是crypto库要求的erlang版本不能太低,将erlang23.1的bin路径下文件全部覆盖拷贝到ejabberd的bin路径下。
测试是否可以启动ejabberd:
方法1:
点击桌面的Start ejabberd快捷方式(安装之后,即使安装失败,等待最后也是有这个快捷方式的)
方法2:
假设安装路径为D:/ejabberd
cd D:/ejabberd/bin
ejabberdctl starte
ejabberdctl started
if errorlevel 1 (echo "fail") else echo "success"
显示fail,表面启动失败,显示success表明启动成功
如果顺利,ejabberd是启动成功的
然而,依然存在另外一个问题,
如图:
安装脚本跳过了用户的注册,也就是说,目前是启动成功的,但是没有任何一个注册成功的用户,需要注册
执行语句:
注册用户的指令:ejabberdctl register 用户 域名 密码
另外一个问题又出现,如图
不能注册,能不能给更多的信息。。。
最后百度下,有些说是权限不足。。。
设置依然失败,直到遇见:
解决方案:
在ejabberd.yml配置下,存在host,注册用户,只能用在配置表里面的域名
因此,更改用户域名为配置表里面的域名即可
点击桌面快捷方式启动服务器,登录成功