1、准备环境:

CentOS7(在虚拟机上会出现一些问题:安装一些软件后,图形化界面会黑屏,本人部署在腾讯云服务器上,可以使用SSH Secure Shell Client等软件远程连接,传输文件)。

2、下载TeamTalk源码(github或者百度网盘均可下载ps:源码写的真的是....通俗易懂(kan bu dong))。

3、将TeamTalk源码传输到CentOS根目录下。修改server\src\db_proxy_server\business\InterLogin.cpp,将文件中的:

if(strOutPass == strResult)

注释掉,这样就可以跳过密码验证了(数据库里的密码是md5加密的,所以为了不必要的麻烦,就这么做)。

4、执行rm -f /var/run/yum.pid 结束更新(如果后台有更新的话)然后:yum -y remove httpd* php* mysql-server mysql mysql-libs php-mysql命令,卸载CentOS上自带的一些软件。

5、安装MySql

详细可参考https://www.cnblogs.com/bigbrotherer/p/7241845.html

感谢大佬给出的安装教程

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

systemctl start mysqld.service

systemctl status mysqld.service

grep "password" /var/log/mysqld.log

mysql -uroot -p

mysql> set global validate_password_policy=0; mysql> set global validate_password_length=1;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

mysql>exit

yum -y remove mysql57-community-release-el7-10.noarch

=====================华丽的分割线===================================

正常情况下这么安装就可以了,但是在编译TeamTalk源码的时候可能会报找不到mysql.h的错误,原因在于找不到mysql的头文件,其实只有在完整安装mysql以后,在/usr/local/include下才会有这个文件。

查看mysql已安装和没有安装的依赖:

yum search mysql

然后。。。反正不知道哪些有用,就一口气全装得了。。

yum install search mysql

如果还不行。。就直接到mysql官网下载安装。

之后可以用客户端软件连一下数据库,看看能不能连上。连不上参考网上设置远程连接,并关闭防火墙,关闭方法在下面的7里面。

6、安装redis

可以使用auto_setup里面的脚本安装

7、安装PHP有关的东西

详细可参考http://bbs.qcloud.com/thread-1316-1-1.html

这是腾讯云的教程,感谢大佬

yum install -y httpd php php-fpm

安装好后开启服务即可。

之后关闭防火墙:

systemctl stop firewalld systemctl disable firewalld

然后本机访问服务器ip,看到tomcat页面就好了。

也可以用auto_setup里面的脚本安装

8、进入TeamTalk-master/auto_setup/gcc_setup修改gcc_setup.sh权限为777,然后运行

9、修改一些配置:

进入server/login_server修改loginserver.conf:

msfs=http://192.168.176.130:8700/

discovery=http://192.168.176.130/api/discovery

里面IP地址改为自己的

进入server/msg_server,修改msgserver.conf:

IpAddr1=192.168.176.130(如果存在IpAddr2)也要修改

里面的ip地址改为自己的

进入server/db_proxy_server,修改dbserverproxy.conf里面的mysql的用户名密码为自己的。

10、进入TeamTalk-master/server/src下,找到:

make_protobuf.sh

make_hiredis.sh

make_mariadb.sh

make_log4cxx.sh

这4个文件,由于上面说了,安装了MySql和Redis,所以此处只执行第一个,和最后一个。修改权限777,然后执行。

然后修改auto_setup/mariadb/setup.sh文件里的MYSQL_PASSWORD为自己数据库的密码,执行此文件(需修改权限777)创建数据库。数据库中IMUser表中插入一行记录用于登录。如果创建失败,就是之前文件中数据库信息填写错误。

9、编译整个TeamTalk项目源码。进入TeamTalk-master/server/src下,修改build.sh文件权限777,执行./build.sh version 1命令,如果成功的话,会出现以下效果:

如果出现找不到mysql.sh异常,请参考上面。

10、编译成功以后,返回上级目录,会多出im-server-1.tar.gz文件,复制到/TeamTalk-master/auto_setuo/im_server下

11、执行setup.sh文件(需修改权限为777),执行完成后会看到目录下的.tar.gz文件被解压了。进入解压后的文件,修改login_server下的loginserver.conf中的

msfs=http://127.0.0.1:8700/

discovery=http://127.0.0.1/api/discovery

中的IP地址。

12、进入/TeamTalk-master/auto_setuo/im_server下,修改权限,执行:

./restart.sh db_proxy_server

./restart.sh file_server

./restart.sh msfs

./restart.sh route_server

./restart.sh http_msg_server

./restart.sh login_server

./restart.sh msg_server

命令,到此,编译,部署成功。

在windows客户端中登录:

点击右上角进行设置,设置入上图,使用自己的ip

然后输入刚刚插入数据库的记录中的用户名,密码随便输,点击登录即可。

*******至于PHP页面进行用户管理,还没部署。文件服务file_server也可自行部署启动******

关于php页面功能的部署:

1、将TeamTalk-master目录下的php文件夹复制到auto_setup/im_web下,改名为tt,添加成zip文件。

2、运行次目录下的setup脚本,运行结束后,会在/var/www/html目录下生产tt目录

3、浏览器访问ip地址,见到登录页面即成功。

ps:本人参考了网上的很多教程,研究了几天,填了无数的坑才成功的,教程并不适用于每个人,至于官方的ReadMe文档。。。呵呵。

希望我的教程可以给你提供一点帮助,希望我的教程不会成为你前进道路上的又一个坑。

TeamTalk编译和部署(一)相关推荐

  1. TeamTalk源码分析(二) —— 服务器端的程序的编译与部署

    写在前面的话,如果您在部署teamtalk过程中遇到困难,可以关注我的微信公众号『easyserverdev』,在微信公众号中回复『teamtalk部署求助』,我将与你取得联系并协助您解决.或者您对高 ...

  2. 手把手教你搭建智能合约测试环境、开发、编译、部署以及如何通过JS调用合约方法

    链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载. 学习目标 了解智能合约 简单环境搭建 能够利用solidity编写Hello World合约 合约部署 和合约互 ...

  3. 使用Remix编译和部署以太坊智能合约

    链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载. 使用Remix编译和部署以太坊智能合约 Remix 是一个开源的 Solidity 智能合约开发环境,提供基本的 ...

  4. 《ASP.NET 开发从入门到精通》----2.3 编译和部署ASP.NET程序

    本节书摘来自异步社区<ASP.NET 开发从入门到精通>一书中的第2章,第2.3节,著 张明星 ,责任编辑 张 涛, 更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  5. 基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署

    基于第三方开源库的OPC服务器开发指南(2)--LightOPC的编译及部署 前文已经说过,OPC基于微软的DCOM技术,所以开发OPC服务器我们要做的事情就是开发一个基于DCOM的EXE文件.一个代 ...

  6. Visual Studio 2013开发 mini-filter driver step by step (2) - 编译,部署,运行

    编译driver 一个基本的mini filter项目创建好了以后,就可以编译,部署和运行了,在部署之前,我们要先确定在什么样的系统上运行,我有一台windows 2008 r2拟机,所以我的运行的目 ...

  7. Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.编译Spark Spark可以通过SBT和Maven两种方式进行编译,再通过make-d ...

  8. vue项目dist编译文件部署到服务器:页面空白、F5刷新报错404、403报错、等等bug - 总结篇

    文章目录 问题一. vue编译打包dist文件之后部署到线上服务器 ,访问页面却是空白? 问题二.如果不是空白,页面F5之后就又变成空白? 以Nginx服务器为例,(如下图FTP所示) `404报错: ...

  9. Nginx实战基础篇一 源码包编译安装部署web服务器

    Nginx实战基础篇一 源码包编译安装部署web服务器 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览.表演.放映.广播或通 ...

  10. 【flink】Flink源码编译:Flink1.11+版本编译及部署

    1.概述 转载:Flink源码编译:Flink1.11+版本编译及部署

最新文章

  1. MXNet动手学深度学习笔记:卷积计算
  2. Scala数组遍历:使用for和foreach
  3. SharePoint 2013中修改windows 活动目录(AD)域用户密码的WebPart(免费下载)
  4. php函数积累第二弹(关于文件操作)
  5. linux核心的最新版本,求问Linux最新内核版本以及发布日期。
  6. 宾利为什么卖这么贵?
  7. ENVI入门系列教程---二、图像分析---10.基于专家知识决策树分类
  8. Stable Baselines/用户向导/矢量化环境
  9. html播放mp4不显示画面,浏览器播放mp4格式视频时只有声音看不到画面的原因及解决方法(精)...
  10. 费马小定理和欧拉定理作业
  11. 不知道什么工具可以转换图片格式?好用的图片格式转换工具分享
  12. 山东省软件设计大赛参赛经验
  13. PrimeNG p-Table 自定义shift多选功能
  14. 工厂模式总结——三个工厂
  15. 上课笔记、HTML简介
  16. 赢在项目工具的落地-讲师团俊平老师主讲
  17. java求出1~100之间,既是3又是7的倍数的自然数出现的次数?
  18. 网络工程师高薪就业行业有哪些
  19. 小程序内识别二维码调查
  20. java IO流之一 IO流介绍

热门文章

  1. 杭电OJ系列 刷题顺序
  2. Nutch开发(一)
  3. 2016新网商年度盛典,千机网解构新零售
  4. 2018.10.31国家统计局行政省市区数据and数据库建表
  5. 新一代报表工具FastReport VCL 6.9发布!
  6. logo计算机语言,LOGO语言
  7. fds文件的处理方法
  8. 最早的支付网关(滴滴支付)和最新的聚合支付设计架构
  9. thinkpadt410接口介绍_Thinkpad-T410 T410S笔记本左右接口以及硬件设备详细介绍!
  10. Inno Setup 6.0.3+ 简体中文语言包