先自行到 https://github.com/mogujie/TeamTalk 上 git 或 download 一份源码下来。
1. 安装好nginx+php, redis, 保证能正常访问
2. 安装mysql, 并导入 ttopen.sql 数据库
3. 复制 php 到 web 你机器上准备放置web服务的目录下, 配置好 nginx
4. 安装 apr apr-util apache-log4cxx
apr apr-util 下载地址:
http://archi ve.apache.or g/dist/apr/, ./configure; make; make install
apache-log4cxx 下载地址:
http://mirro r.bit.edu.cn /apache/logg ing/log4cxx/ 0.10.0/, ./configure; make; 成功后把生成的 include 和 lib 目录复制到 server 目录下的 slog 下
注意下载下来的 apache-log4cxx 应该是编译不过, 有几个很明显的代码 bug. 自己修改代码解决下吧(缺头文件 include)。
或者,直接用最简单的: apt-get install liblog4cxx10-dev
6. 安装 protobuf, 过程自己参照 google. 若能翻墙自然事半功倍
7. 安装 redis, 可以直接用 teamtalk 带的 redis 文件, 执行:
cd hiredis
unzip hiredis-master.zip
cd hiredis-master
make
cp -a libhiredis.a ../../db_proxy_server/
cp -a hiredis.h async.h read.h sds.h adapters ../../db_proxy_server
8. cd 到 pb 目录下, 执行 ./create.sh 和 sync.sh, 编译协议文件(警告可忽略, 如果报错的话, 检查一下你安装的 protobuf 版本).
9. 准备编译 server 代码. 先安装依赖: cmake, uuid-dev, openssl-devel, curl-devel. 剩下的, 执行 ./build_ubuntu.sh 或者自己参照 ./build.sh 的代码, 一个个 svr 去编译再拷贝吧
问题1: 如果报 ./base/ImPduBase.h 这个文件的错, 看看是不是 protobuf 头文件 include 不到的的问题(特别当你是自己安装的 protobuf 而不是执行它的 make_protobuf.sh 脚本的时候).
10. svr配置文件。太多了,不一一贴来。注意几个点:
--> 如果这个svr是监听外网客户端请求的,监听地址用外网(公网)地址
--> 如果这个svr是用于svr之间通信的,不对外提供服务, 监听地址用内网地址
--> 端口其实可以自己随便配, 只要保证各个svr之间使用的端口不相冲突, 并且各个svr配置文件内的端口配置正确(不要遗漏)