LINUX.ORG.RU
ФорумAdmin

[FreeBSD]ejabberd c odbc


0

1

С нативной бд всё работает отлично, пытаюсь завести с мускулом:

# cd /usr/ports/lang/erlang-lite
# make config
Включаю Enable ODBC
# make install clean

# cd /usr/ports/net-im/ejabberd
# make config
Включаю Enable ODBC support    
# make install clean

Конфиг такой:

{auth_method, odbc}.
{odbc_server, {mysql, "localhost", "ejabberd", "ejabberd", "пароль"}}.
{modules,
 [
  %% ...
  {mod_last_odbc,     []},
  {mod_offline_odbc,  [{access_max_user_messages, max_user_offline_messages}]},
  {mod_privacy_odbc,  []},
  {mod_private_odbc,  []},
  {mod_pubsub_odbc,   [...]},
  {mod_roster_odbc,   []},
  {mod_vcard_odbc,    []},
 ]}.
MySQL стоит давно и нормально, бд со схемой создал (точнее даже скопировал с другого сервера).

В итоге залогиниться нельзя, в логе:

** Reason for termination = 
** {'module could not be loaded',
       [{ejabberd_odbc,escape,[«growl»]},
...
ЧЯДНТ? Вроде ж всё на месте. erlang-mysql и libiodbc стоят.

Решилось маниакальным прописыванием WITH_ODBC во всех мэйкфалйах и вообще выпиливанием из них проверок условий и насильным втыканием этого одбц. Теперь так:

=ERROR REPORT==== 2012-02-29 21:38:42 ===
Error in process <0.2317.0> on node 'ejabberd@localhost' with exit value: {{badmatch,<<0 bytes>>},[{mysql_conn,greeting,2},{mysql_conn,mysql_init,5},{mysql_conn,init,7}]}

А потом ещё гора

=INFO REPORT==== 2012-02-29 21:41:08 ===
I(<0.1553.0>:ejabberd_odbc:216) : mysql connection failed:
** Reason: "timed out"
** Retry after: 30 seconds

От гугла толку мало, только куча таких-же вопросов без ответа. Мускул работает нормально, данные для доступа правильные (а иначе другие ошибки бы были), разрешения у юзера есть.

Kalashnikov ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.