TeamTalk安装测试

TeamTalk介绍

项目框架

TeamTalk是蘑菇街的开源项目,github维护的最后时间是2015但是仍然是一款值得学习的好项目,麻雀虽小五脏俱全,本项目涉及到多个平台、多种语言,简单关系如下图

服务端:

CppServer:TTCppServer工程,包括IM消息服务器、http服务器、文件传输服务器、文件存储服务器、登陆服务器

java DB Proxy:TTJavaServer工程,承载着后台消息存储、redis等接口

PHP server:TTPhpServer工程,teamtalk后台配置页面

客户端:
  • mac:TTMacClient工程,mac客户端工程
  • iOS:TTIOSClient工程,IOS客户端工程
  • Android:TTAndroidClient工程,android客户端工程
  • Windows:TTWinClient工程,windows客户端工程
  • 语言:c++、objective-c、java、php
  • 系统环境:Linux、Windows,Mac, iOS, Android

编译windows客户端

下载TeamTalk

git命令:git clone https://github.com/meili/TeamTalk

安装VS2013

  • 安装vs2013时需要ie10及其以上
  • 需要开启文件服务msfs,不然发送图片会报错

安装完成vs2013后打开TeamTalk\win-client\solution\teamtalk.sln解决方案文件后等待初始化,点击本地windows调试器,编译成功

如何编译Android客户端

安装AndroidStudio

  • 下载地址:AndroidStudio中文社区
  • 另外说明下:Android Studio 2.2 Preview 3 已经自带了OpenJDK,安装以后可以直接运行

编译项目

打开Android studio 选择并打开TeamTalk\android目录,自动构建编译项目。

  • build.gradle文件中如果修改为compileSdkVersion 23,即6.0及以上的需要引入 useLibrary 'org.apache.http.legacy'库
  • 编译成功后运行出现点击用户头像崩溃,根据错误提示需要修改UserInfoActivity中的布局文件tt_fragment_activity_userinfo增加android:id="@+id/xxxx"

如何编译服务端

有两种方法: 如果想去体验下整个项目所用的软件熟悉配置流程第一种适合你; 如果想去体验下效果,采用第二种跟适合你;

从头到尾直接搭建

新版蓝狐教程注意事项
  • 使用centos7下载mysql地址失效:wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.22.tar.gz 改成wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35.tar.gz
  • libiconv在CentoS 7上make会出下面的错误:libiconv stdio.h:1010:1: error: ‘gets’ undeclared here
解决方法:
cd srclib/
sed -i -e '/gets is a security/d' ./stdio.in.h

使用蓝狐virtualBox 环境

文件配置信息
  • 下载过慢的话在google浏览器下可以使用baidudl插件获取下载地址,使用FDM下载速度比较可观。
  • cat CentOS-hd.tar.gz.* > CentOS-hd.tar.gz ,cat合并与tar解压命令需要在Linux环境下。

18.1 我虚拟机的环境 链接: http://pan.baidu.com/s/1sjx8g49 密码: 4572

18.2 虚拟机硬盘 因网盘大小限制1G,所以将虚拟机硬盘切分成3个文件上传: 链接: http://pan.baidu.com/s/1mgDXvwW 密码: tgzp 请使用如下命令合并解压: cat CentOS-hd.tar.gz.* > CentOS-hd.tar.gz tar -zxvf CentOS-hd.tar.gz 18.3 账号信息 虚拟机账号信息如下: linux账号密码:root/123456 mysql root账号密码:root/test123 mysql teamtalk账号密码:teamtalk/test@123 php 后台账号密码:admin/admin 测试用户账号密码:test/test

配置虚拟机的环境
  • 运行虚拟机出现UUID(通用唯一识别码)重复了,需要重新设置UUID

VirtualBox.exe internalcommands sethduuid "E:\xxxx\xxx\ubuntu 12.10.vdi"(注:4.0.4之前版本的命令为setvdiuuid) 当出现“UUID Changed to”时说明修改成功了,可以重新添加虚拟硬盘了。

配置系统环境
  • 使用root身份登录系统后,redis没有随着系统自动启动需要手动启动,不然db_proxy_server启动会出错,依赖于redis

/etc/init.d/redis start

  • 如果没有发现:db_proxy_server, http_msg_server,route_server,login_server,msg_server的进程,请执行如下命令启动:

cd /usr/local/teamtalk cd xxxx ../daeml xxxx

启动msfs服务-图片语音正常发送
  • 1-把msfs下面的msfs.conf.example拷贝一份变成msgs.conf
  • 2-打开该文件,配置文件的存放地址BaseDir=/xxx(可以自己取)
  • 3-启动msfs,在teamtalk目录下的命令如下:
cd msfs
cp msfs.conf.example msgs.conf
vim msgs.conf #修改其中的地址,端口不用改,修改完成以后使用esc回到命令模式使用:wq保存退出
../daeml msfs
cd  log
vim default.log #查看服务是否启动成功

参考:

新版TeamTalk部署教程

新版TeamTalk安装部署常见问题汇总

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

软件测试工程师必知必会Linux命令

Linux系统有着众多的优点,比如开源、非商业版本免费、多任务多用户操作,因此Linux系统在非桌面领域占有压倒性的市场份额。对于互联网技术工作者来说,掌握常用...

43013
来自专栏林欣哲

图解Git合并--Merge和Rebase

项目初始情况 ? Merge fast-forward ? 快速合并,直接把指针指向前去,无冲突要解决。 非 fast-forward ? 保留历史记录,解决冲...

3317
来自专栏玩转JavaEE

Redis快照持久化

redis的基础知识我们已经准备的差不多了,接下来两篇文章,我想和大家聊聊redis持久化这个话题。

1490
来自专栏小狼的世界

Linux下创建可执行bin安装文件

1、简化操作。一般的软件安装过程,如果想要精简步骤,我们一般会将需要在命令行中输入的命令写成一个脚本,同时将安装介质准备好。我们将脚本和安装介质上传到生产环境,...

1762
来自专栏北京马哥教育

在 Linux 中永久并安全删除文件和目录的方法

引言 在大多数情况下,我们习惯于使用 Delete 键、垃圾箱或 rm 命令从我们的计算机中删除文件,但这不是永久安全地从硬盘中(或任何存储介质)删除文件的...

4255
来自专栏云计算教程系列

如何在CentOS 7上使用Barman备份,恢复和迁移PostgreSQL数据库

PostgreSQL是一个开源数据库平台,因其易于维护,成本效益以及与其他开源技术的简单集成而广受网络和移动应用程序开发人员的欢迎。

5440
来自专栏SpringBoot 核心技术

ubuntu下MySQL数据库自动备份并发送到指定邮箱

1182
来自专栏决胜机器学习

RabbitMQ(二) ——工作队列

RabbitMQ(二)——工作队列 (原创内容,转载请注明来源,谢谢) 一、概述 工作队列模式(work queue),是有多个消费者的情况下,可以共同消费队...

3124
来自专栏信安之路

与http头安全相关的安全选项

由于HTTP是一个可扩展的协议,各浏览器厂商都率先推出了有效的头部,来阻止漏洞利用或提高利用漏洞的难度。了解它们是什么,掌握如何应用,可以提高系统的安全性。 下...

1050
来自专栏自然语言处理

GitHub简明操作指南

GitHub的是版本控制和协作代码托管平台。它可以让你和其他人的项目从任何地方合作。Git也是目前世界上最先进的分布式版本控制系统(没有之一)。最初编写用作Li...

1062

扫码关注云+社区

领取腾讯云代金券