摘要
xmpp是一个应用层协议,主要做网页版即时通讯,是基于RFC3920和RFC3921实现,服务端常见的框架有openfire,tigase,prosody等,这三个都亲自踩过坑,唯有tigase8.0相对牛逼(完善)一些,客户端主要就是strophejs了。tigase是Java基于maven做的,openfire是netty框架,当然这块对于我也是比较难入手,大多是从配置入手。
下载安装
官方安装教程
tigase支持多平台,windows相对简单,源码下载执行即可,当然配置jre以及jdk那是必须的了,这里着重介绍linux的配置运行以及查看log。
- 安装mysql
tigase-8.0依赖mysql版本5.7以上,当然,也可以在安装导向界面选择内置数据库。CentOs Installing MySQL
shell> sudo yum install mysql-community-server
下载源码包到/home
- 解压
tar -zxvf tigase-server-8.0.0-b10083-dist-max.tar.gz
- 进入解压目录
cd tigase-server-<version>
- 配置jdk(JAVA_HOME) 1.8.0以上
- 启动服务
scripts/tigase.sh start etc/tigase.conf
检查端口8080是否开启netstart -apnl|grep 8080
- 浏览器地址栏运行,比如:
127.0.0.1:8080
默认采取http摘要认证,账号密码是admin tigase, 成功登陆以后根据提示设置后台,组件以及数据库。 重启服务
./scripts/tigase.sh stop ./scripts/tigase.sh start etc/tigase.conf
配置
归档配置
message-archive { archive-repo-uri = 'jdbc:mysql://localhost/tigasedb7?user=root&password=root&useUnicode=true&characterEncoding=UTF-8', msg-archive-paths = [ '-/message/result[urn:xmpp:mam:1]' '/message/body', '/message/subject' ], tags-support = true } //session manager sess-man { message-archive { default-store-method = 'message', required-store-method = 'body' }, 'urn:xmpp:mam:1' () {} }
群聊MUC配置
muc { //不设置群密码 'muc-lock-new-room' = false default_room_config { maxhistoryfetch = 0 roomconfig_membersonly = false roomconfig_persistentroom = true } }
- 查询服务
lsof -i -P
- 查看日志
vim logs/tigase-console.log
添加账号及测试
- psi粉墨登场
升级
Upgrading to v8.0.0 from v7.1.0
亲测7.1以下版本也是可以的。
数据库表分析
参考文献
- 《XMPP The Definitive Guide》