Использование MySQL с Ejabberd

Я пытаюсь интегрировать MySQL в Ejabberd, но я постоянно сталкиваюсь с проблемой с ним. Я работаю в среде AWS EC2, и у меня есть 1 экземпляр EC2, который имеет MySQL, Ejabberd и последний Erlang установленная (Версия 17). Затем я точно выполнил шаги, указанные в этой ссылке: https://www.ejabberd.im/Using%20ejabberd%20with%20MySQL%20native%20driver Однако, когда я файлы представления erlang.log и ejabberd.log, это указывает, что существует проблема отсутствия модуля MySQL:

=CRASH СООБЩАЮТ о ==== 10 июня 2015:: 6:05:28 === незваный гость: начальный вызов: pid application_master:init/4: <0.41.0> registered_name: [] выход исключения: {bad_return, {{ ejabberd_app, запускаются, [нормальный, []]}, {'ВЫХОД', database_module_missing} }} в функции application_master:init/4 (application_master.erl, строка 133) предки: [<0.40.0>] сообщения: [] ссылки: [<0.40.0>, <0.42.0>, <0.7.0>] словарь: [] trap_exit: истинное состояние: выполнение heap_size: 610 stack_size: 27 сокращений: 101 сосед:

Я загрузил и испытал различные модули, но все они перестали работать. Например, Ссылка от этого сообщения в блоге http://stefan-strigler.de/2009/01/14/ejabberd-mysql-drivers-for-debian-and-ubuntu/

Не работает вообще. И когда я./build.sh следующий модуль: https://svn.process-one.net/ejabberd-modules/mysql/trunk/Это ничего не создает внутри ebin/папка его.

Я сделал все, что указано в этом turorial: https://www.ejabberd.im/Using%20ejabberd%20with%20MySQL%20native%20driver за исключением самой первой части (часть драйвера). Можно ли предложить меня, как решить это или какой-либо альтернативный (легкий) способ достигнуть этого?Спасибо.

0
задан 10 June 2015 в 11:50
2 ответа

Может показаться, что виртуальная машина Erlang не может найти или получить доступ к одному из mysql.beam, mysql_auth.beam, mysql_conn.beam или mysql_recv.beam. Убедитесь, что все они находятся в соответствующем каталоге ebin и доступны для чтения, поскольку пользователь ejabberd работает от имени.

0
ответ дан 5 December 2019 в 12:42

Сообщение, на которое вы ссылаетесь, устарело.

Чтобы использовать ejabberd с собственным драйвером Erlang MySQL, теперь это очень просто и довольно просто. Требуется всего два шага:

  1. Убедитесь, что у вас есть ejabberd с включенной поддержкой MySQL. Два способа получить это:

    • Загрузите бинарный установщик или пакет RPM / DEB. Необходимый компонент MySQL включен. Установщик и пакеты могут быть загружены с официальной страницы загрузки ejabberd .
    • Создайте ejabberd из исходного кода и убедитесь, что он настроен с помощью параметра конфигурации - enable-mysql . Вы можете обратиться к документации ejabberd для получения подробной информации о том, как собрать ejabberd: Установка ejabberd из исходного кода .
  2. Создайте схему базы данных MySQL. Последняя версия схемы для MySQL доступна здесь: https://raw.githubusercontent.com/processone/ejabberd/master/sql/mysql.sql

  3. Вам необходимо настроить ejabberd для использования MySQL. Сначала вам нужно настроить базу данных на корневом уровне файла конфигурации, как описано здесь: База данных ejabberd и конфигурация LDAP . После настройки базы данных вы можете выбрать модуль за модулем, какой бэкэнд вы хотите использовать. Для пользовательской базы необходимо определить odbc auth_method . Для других модулей необходимо передать параметр db_type со значением odbc . Вот пример документации для списка контактов mod_roster .

0
ответ дан 5 December 2019 в 12:42

Теги

Похожие вопросы