我的teamtalk学习历程 -- (1)安装,编译及配置
2017-08-13 21:36
134 查看
项目源码:https://github.com/mogujie/TeamTalk
学习教程:http://blog.csdn.net/column/details/15700.html
好书推荐:
Linux高性能服务器编程(Linux服务器编程领域经典著作,从网络协议、服务器编程核心要素、原理机制、工具框架等多角度全面阐述编写高性能Linux服务器应用的方法、技巧和思想)
作者:游双
出版社:机械工业出版社
出版时间:2013年06月
http://download.csdn.net/download/analogous_love/9673008
Linux多线程服务端编程:使用muduo C++网络库
作者:陈硕
出版社:电子工业出版社
出版时间:2013年01月
https://www.amazon.cn/dp/B00FF1XYJI
https://github.com/chenshuo/muduo
TeamTalk是一套开源的企业办公即时通讯软件,作为整套系统的组成部分之一,TTServer为TeamTalk 客户端提供用户登录,消息转发及存储等基础服务。 TTServer主要包含了以下几种服务器: LoginServer (C++): 登录服务器,分配一个负载小的MsgServer给客户端使用 MsgServer (C++): 消息服务器,提供客户端大部分信令处理功能,包括私人聊天、群组聊天等 RouteServer (C++): 路由服务器,为登录在不同MsgServer的用户提供消息转发功能
FileServer (C++): 文件服务器,提供客户端之间的文件传输服务,支持在线以及离线文件传输 MsfsServer (C++): 图片存储服务器,提供头像,图片传输中的图片存储服务 DBProxy (JAVA): 数据库代理服务器,提供mysql以及redis的访问服务,屏蔽其他服务器与mysql与redis的直接交互 附件中的代码包括了: 1、以上所有服务端的代码 2、PHP的后台管理系统 3、客户端代码:iOS版、Mac版、android版、Windows版
TTServer(TeamTalk服务器端)主要包含了以下几种服务器:
LoginServer (C++): 登录服务器,分配一个负载小的MsgServer给客户端使用
MsgServer (C++): 消息服务器,提供客户端大部分信令处理功能,包括私人聊天、群组聊天等
RouteServer (C++): 路由服务器,为登录在不同MsgServer的用户提供消息转发功能
FileServer (C++): 文件服务器,提供客户端之间得文件传输服务,支持在线以及离线文件传输
MsfsServer (C++): 图片存储服务器,提供头像,图片传输中的图片存储服务
DBProxy (C++): 数据库代理服务器,提供mysql以及redis的访问服务,屏蔽其他服务器与mysql与redis的直接交互
本人的系统是CentOS7,gcc4.8.5,cmake2.8.12.2,mysql5.7.18,redis4.0.1。
编译全过程主要参考文章http://blog.csdn.net/analogous_love/article/details/71210346
补充几点我的主要过程,与参考文章略有不同
1、数据库sql执行/TeamTalk-master/auto_setup/mariadb/conf/ttopen.sql
2、/TeamTalk-master/server/src文件夹有四个sh文件:
protobuf: make_protobuf.sh
hiredis: make_hiredis.sh
mariadb: make_mariadb.sh
log4cxx: make_log4cxx.sh
其中hiredis和mariadb我自己系统已经安装了mysql和redis,所以不需要执行。
请在终端执行:
chmod 777 make_protobuf.sh
./make_protobuf.sh
chmod 777 make_log4cxx.sh
./make_log4cxx.sh
3、(1)修改文件/TeamTalk-master/server/src/db_proxy_server/CMakeLists.txt,第30行
原来:TARGET_LINK_LIBRARIES(db_proxy_server pthread base protobuf-lite mysqlclient_r hiredis
curl slog crypto)
修为:TARGET_LINK_LIBRARIES(db_proxy_server pthread base protobuf-lite
mysqlclient hiredis curl slog crypto)
因为我本机安装的是mysql,不是mariadb。所以要把依赖库改为mysqlclient。否则会编译报错:
/usr/bin/ld:cannot
find -lmysqlclient_r
(2)修改文件server\src\db_proxy_server\business\InterLogin.cpp的51行(CInterLoginStrategy::doLogin函数里面),将这个if语句注释掉:
即,我们不做密码校验,为后续调试省事。
4、执行终端命令:
chmod 777 build.sh
./build.sh version
1
编译完成,会在上级目录生成im-server-1.tar.gz包,手动解压它。
进入文件夹im-server-1,终端执行命令:
./sync_lib_for_zip.sh
它会将lib目录下的依赖库copy至各个文件夹下,同时也会把log4cxx.properties文件拷贝到各个文件夹。
5、打开文件/im-server-1/db_proxy_server/dbproxyserver.conf,修改为自己本机的mysql用户名和密码。
6、进入文件夹im-server-1,执行以下终端命令,先后启动服务
./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
学习教程:http://blog.csdn.net/column/details/15700.html
好书推荐:
Linux高性能服务器编程(Linux服务器编程领域经典著作,从网络协议、服务器编程核心要素、原理机制、工具框架等多角度全面阐述编写高性能Linux服务器应用的方法、技巧和思想)
作者:游双
出版社:机械工业出版社
出版时间:2013年06月
http://download.csdn.net/download/analogous_love/9673008
Linux多线程服务端编程:使用muduo C++网络库
作者:陈硕
出版社:电子工业出版社
出版时间:2013年01月
https://www.amazon.cn/dp/B00FF1XYJI
https://github.com/chenshuo/muduo
TeamTalk是一套开源的企业办公即时通讯软件,作为整套系统的组成部分之一,TTServer为TeamTalk 客户端提供用户登录,消息转发及存储等基础服务。 TTServer主要包含了以下几种服务器: LoginServer (C++): 登录服务器,分配一个负载小的MsgServer给客户端使用 MsgServer (C++): 消息服务器,提供客户端大部分信令处理功能,包括私人聊天、群组聊天等 RouteServer (C++): 路由服务器,为登录在不同MsgServer的用户提供消息转发功能
FileServer (C++): 文件服务器,提供客户端之间的文件传输服务,支持在线以及离线文件传输 MsfsServer (C++): 图片存储服务器,提供头像,图片传输中的图片存储服务 DBProxy (JAVA): 数据库代理服务器,提供mysql以及redis的访问服务,屏蔽其他服务器与mysql与redis的直接交互 附件中的代码包括了: 1、以上所有服务端的代码 2、PHP的后台管理系统 3、客户端代码:iOS版、Mac版、android版、Windows版
TTServer(TeamTalk服务器端)主要包含了以下几种服务器:
LoginServer (C++): 登录服务器,分配一个负载小的MsgServer给客户端使用
MsgServer (C++): 消息服务器,提供客户端大部分信令处理功能,包括私人聊天、群组聊天等
RouteServer (C++): 路由服务器,为登录在不同MsgServer的用户提供消息转发功能
FileServer (C++): 文件服务器,提供客户端之间得文件传输服务,支持在线以及离线文件传输
MsfsServer (C++): 图片存储服务器,提供头像,图片传输中的图片存储服务
DBProxy (C++): 数据库代理服务器,提供mysql以及redis的访问服务,屏蔽其他服务器与mysql与redis的直接交互
本人的系统是CentOS7,gcc4.8.5,cmake2.8.12.2,mysql5.7.18,redis4.0.1。
编译全过程主要参考文章http://blog.csdn.net/analogous_love/article/details/71210346
补充几点我的主要过程,与参考文章略有不同
1、数据库sql执行/TeamTalk-master/auto_setup/mariadb/conf/ttopen.sql
2、/TeamTalk-master/server/src文件夹有四个sh文件:
protobuf: make_protobuf.sh
hiredis: make_hiredis.sh
mariadb: make_mariadb.sh
log4cxx: make_log4cxx.sh
其中hiredis和mariadb我自己系统已经安装了mysql和redis,所以不需要执行。
请在终端执行:
chmod 777 make_protobuf.sh
./make_protobuf.sh
chmod 777 make_log4cxx.sh
./make_log4cxx.sh
3、(1)修改文件/TeamTalk-master/server/src/db_proxy_server/CMakeLists.txt,第30行
原来:TARGET_LINK_LIBRARIES(db_proxy_server pthread base protobuf-lite mysqlclient_r hiredis
curl slog crypto)
修为:TARGET_LINK_LIBRARIES(db_proxy_server pthread base protobuf-lite
mysqlclient hiredis curl slog crypto)
因为我本机安装的是mysql,不是mariadb。所以要把依赖库改为mysqlclient。否则会编译报错:
/usr/bin/ld:cannot
find -lmysqlclient_r
(2)修改文件server\src\db_proxy_server\business\InterLogin.cpp的51行(CInterLoginStrategy::doLogin函数里面),将这个if语句注释掉:
即,我们不做密码校验,为后续调试省事。
4、执行终端命令:
chmod 777 build.sh
./build.sh version
1
编译完成,会在上级目录生成im-server-1.tar.gz包,手动解压它。
进入文件夹im-server-1,终端执行命令:
./sync_lib_for_zip.sh
它会将lib目录下的依赖库copy至各个文件夹下,同时也会把log4cxx.properties文件拷贝到各个文件夹。
5、打开文件/im-server-1/db_proxy_server/dbproxyserver.conf,修改为自己本机的mysql用户名和密码。
6、进入文件夹im-server-1,执行以下终端命令,先后启动服务
./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
相关文章推荐
- 我的skynet学习历程 -- (1)安装配置
- OpenCV2.3.1的学习——安装+配置+第一个历程
- Linux运维学习历程-第十三天-yum前端工具与源码编译安装
- Linux内核驱动学习(一)----内核简介 | 配置 | 编译| 安装(PC平台下)
- MySQL学习历程(一):安装和配置
- Linux内核驱动学习(一)----内核简介 | 配置 | 编译| 安装(PC平台下)
- Hadoop学习笔记(一)——编译安装和配置
- Altiris安装配置学习教程(五)- PXE配置
- Ubuntu C/C++编译环境安装配置
- Altiris安装配置学习教程(一)- 安装配置域控
- Django学习笔记一:安装配置
- [金步国]深入理解软件包的配置、编译与安装
- linux嵌入式编程高手历程系列2-安装debian并建立嵌入式编译环境
- Altiris安装配置学习教程(六)- 安装Deployment Web Console
- Altiris安装配置学习教程(四)- 安装Deployment Sever 6.8
- Altiris安装配置学习教程(七)- 配置Deployment Console 选项设置
- AJAX学习-1 Asp.net下Ajax的安装和配置
- C++/GDI+ 学习笔记(一)——安装、配置&使用
- boost 1_33_1在VC6.0上的安装、编译、配置
- ArcGIS Server9.2学习开发(2)——安装配置篇