最近想尝试一下lunix的IM软件,很多年前在FreeBsd下安装过jabber2,但在debian下却找不到jabber,原来jabber早已被思科收购,于是便安装目前流行的XMPP的服务器ejabberd。
开始安装倒很顺利,使用 internal用户认证,也已经可以注册登录,因为想使用Mysql管理所以按照网上说明修改ejabberd.cfg文件:
注释掉: {auth_method, internal}.
取消注释:{auth_method, odbc}.
取消注释并设置数据库名称和密码:
{odbc_server, {mysql, “localhost”, “ejabberd”, “ejabberd”, “ejabberd”}}.
修改模块如下:在原有模块名后面都增加_odbc
{mod_last_odbc, []},
{mod_offline_odbc, []},
{mod_privacy_odbc, []},
{mod_private_odbc, []},
{mod_pubsub_odbc, [ % requires mod_caps …
{mod_roster_odbc, []},
{mod_vcard_odbc, []},
重新启动,服务器未起来,原来是默认安装并没有相应的mysql模块,需要从svn co https://svn.process-one.net/ejabberd-modules/mysql/trunk mysql下载,然后erlc *.erl相应的.erl文件,将编译后文件复制到/usr/lib/ejabberd/ebin文件夹下。
默认的mysql数据库也没有按照,到https://github.com/processone/ejabberd/blob/master/sql/mysql.sql页面将sql内容复制后,通过客户端或者mysql命令行安装,如果mysql版本为5.5版本不支持全文索引,还需要将archive表的引擎改为MyISAM。创建用户并授权,或者使用原先有权限的用户,服务器重启后系统能够正常使用。
比较令人懊恼的是,时间都耽误着那个配置中的server上了,其实那个就是指的服务器地址。
使用ejabberdctl register admin localhost 123456注册用户设置密码,登录服务器网址:5280/admin,一切正常。
客户端找了几个,原先psi已经打不开官方网页,spark无法下载,最后使用的是Pandion,也正常登录。