我正在尝试在我的 Amazon EC2 Ubuntu 实例上设置 ejabberd服务器。 使用 ejabberd 提供的默认数据库,我可以轻松设置我的连接。但是我需要用 MySQL 替换 mnesia DB。我通过互联网找到了一些教程。从那些教程我发现了一个解决方案。我将逐步解释它。
我正在使用 ejabberd 2.1.11 。我在 ejabberd.cfg 文件
上进行了以下更改评论如下:
{auth_method, internal}
{auth_method, odbc}
配置我的MySQL数据库
{odbc_server, {mysql, "localhost", "students", "root", ""}} // No Password set
将 mod_last 更改为 mod_last_odbc
将 mod_offline 更改为 mod_offline_odbc
将 mod_roster 更改为 mod_roster_odbc
将 mod_private 更改为 mod_private_odbc
将 mod_privacy 更改为 mod_privacy_odbc
将 mod_pubsub 更改为 mod_pubsub_odbc
将 mod_vcard 更改为 mod_vcard_odbc
然后我从以下链接安装 ejabberd-mysql驱动程序
http://stefan-strigler.de/2009/01/14/ejabberd-mysql-drivers-for-debian-and-ubuntu/
完成所有这些更改后,我重新启动了 ejabberd服务器。
然后我尝试登录我的 ejabberd服务器。它显示了登录提示。
输入凭据后需要花费很多时间,然后显示身份验证失败。
对此主题的任何帮助表示赞赏。
答案 0 :(得分:2)
让我们深入研究问题
如果这有帮助,请告诉我。
更新: -
ODBC.INI
1 [ejabberd]
2 Driver = MySQL
3 DATABASE = students
4 PWD =
5 SERVER = localhost
6 SOCKET = /tmp/mysql.sock
7 UID = root
答案 1 :(得分:0)
一个很容易错过的主要基本部分是先前存储在mnesia数据库中的数据将不再适用于您的新配置,因此您必须再创建一个这样的管理员用户才能访问您的管理员帐户。 / p>
./ ejabberdctl注册管理员“密码”