首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BOSH模块未启动: Ejabberd / Strophe安装问题

BOSH模块未启动: Ejabberd / Strophe安装问题
EN

Stack Overflow用户
提问于 2013-02-26 22:59:56
回答 1查看 6.6K关注 0票数 8

我试图在Ubuntu 12 (Linode最新版本)上使用内部的Ejabberd the服务器设置Strophe来提供聊天服务。

测试urls (http-bindadmin)都可以工作。

JWChat工作。

Strophe抛出一个错误:

代码语言:javascript
复制
In Strophe:
RECV: <body xmlns='http://jabber.org/protocol/httpbind' type='terminate' condition='internal-server-error'>BOSH module not started</body>

In ejabberd.log:  
E(<0.468.0>:ejabberd_http_bind:1236) : 
You are trying to use BOSH (HTTP Bind) in host "admin", but the module mod_http_bind is not started in that host. 
Configure your BOSH client to connect to the correct host, or add your desired host`

安装过程很简单(虽然需要很长时间才能完成):

  1. 使用sudo apt-get安装
  2. 在sudo下运行
  3. 使用内部服务器,以避免干扰代理或设置PunJab。
  4. 在ejabberd.cfg中做了修改。

对ejabberd.cfg的更改:

代码语言:javascript
复制
%% In listening ports, amended the following lines:  
{ request_handlers,  [   
   {["pub"], mod_http_fileserver},   
   {["http-bind"], mod_http_bind}  
]},  

%% In modules, added the following:  
{ mod_http_fileserver, [   
   {docroot, "/var/lib/ejabberd/www"},   
   {accesslog, "/var/log/ejabberd/access.log"}   
]},  
{mod_http_bind,  []},

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-27 08:56:59

答案是相当明显的。

Strophe需要以下格式的用户名:

用户名@主机 例如:admin@example.com

否则,它假设用户名实际上是主机,并且由于这样的主机不存在,它引发一个错误,即mod_http_bind is not started in that host

这个错误充其量是误导性的,但它在技术上确实解释了这个问题。

我只是尝试用用户名登录,这个用户名在JWChat中工作得很好,因此出现了这个问题。

如果这不起作用,需要验证的其他一些事情的清单如下:

  1. 确保您的域被添加到/etc/主机 127.0.0.1 localhost.localdomain本地主机12.34.56.78 squire.example.com乡绅
  2. 确保将域添加到/etc/ejabberd/ejabberd.cfg% Hostname Hostname {host、"example.com“、"98.765.43.21”、"localhost"}。
  3. 确保您的用户名存在并已注册: 注册用户名example.com密码 如果用户是管理员,则包括在ejabberd.cfg注释:它必须被注册! %%管理用户{acl,admin,{ user,"","localhost"}}。{acl,admin,{user,"admin","example.com"}}。
  4. 检查服务器是否正在运行: a. sudo ejabberdctl状态b. http://example.com:5280/admin c. http://example.com:5280/http-bind
  5. 如果存在问题,请使用这两种方法重新启动(我知道理论上不需要这两种方法。在实践中,有时使用一种或另一种是不正确的。) sudo /etc/init.d/ejabberd重新启动sudo ejabberdctl重新启动
  6. 检查日志- /var/log/ejabberd/ejabberd.log (see here)。
  7. 安装JWChat并尝试它(或者,如果您有JWChat,安装Strophe)。 下面的简短教程是非常宝贵的,请准确地遵循它:http://www.ejabberd.im/jwchat-localserver
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15101140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档