Я пытаюсь настроить Strophe с Ejabberd на Ubuntu 12 (последняя версия Linode), используя внутренний веб-сервер Ejabberd для обслуживания чата.
Тестовые URL-адреса (http://aviezri.org:5280/http-bind и admin) оба работают.
JWChat работает.
Strophe выдает ошибку:
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`
Настройка была простой (хотя на это ушло довольно много времени):
- Устанавливается с помощью sudo apt-get
- Запуск под sudo
- Использование внутреннего сервера, чтобы не возиться с прокси или настраивать PunJab.
- В ejabberd.cfg внесены изменения.
Изменения в ejabberd.cfg:
%% 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, []},
Любая помощь приветствуется.