一、部署环境
系统:centos7 X64位(32位不支持)核心版本
二、部署过程
项目下载地址https://github.com/mogujie/TeamTalk.git,这个项目已经是三年前的版本,其中有部分脚本的地址已经404了,也就是mariadb中的源部分,部署的时候需要修改。我修改了一下,上传到我的gitee的代码仓了,供大家使用。
cd /opt
git clone https://gitee.com/yiyefangzhou24/TeamTalk.git
cd TeamTalk
yum install -y git gcc gcc-c++ mysql-devel unzip zip
chmod +x ./server/src/make_protobuf.sh
chmod +x ./server/src/make_hiredis.sh
chmod +x ./server/src/make_mariadb.sh
chmod +x ./server/src/make_log4cxx.sh
chmod +x ./server/src/build.sh
cd ./server/src
./make_protobuf.sh
./make_hiredis.sh
./make_mariadb.sh
./make_log4cxx.sh
./build.sh version 1
cp ../im-server-1.tar.gz ../../auto_setup/im_server/
cd ../../
mv php tt
zip -q -r tt.zip tt
cp tt.zip ./auto_setup/im_web/
cd auto_setup
chmod +x setup.sh
到这一步前期的准备工作已经结束了,这时候的目录应该再/opt/TeamTalk/auto_setup中,这时候需要跳过很多坑,网上的一些错的资料抄过来超过去还是错的,这时候请仔细阅读当前目录下的INSTALL.md文件,里面提供了3中方案,一种内网(如果是单网卡,直接静态方式链接的公网,也可参考这种设置方式),2中公网。这时进入im_server/conf文件夹,此时目录下的文件结构大致为:
[root@localhost auto_setup]# cd im_server/conf
[root@localhost conf]# ls -al
总用量 32
drwxr-xr-x. 2 root root 191 9月 27 16:45 .
drwxr-xr-x. 3 root root 60 9月 27 17:13 ..
-rw-r--r--. 1 root root 1170 9月 27 16:45 dbproxyserver.conf
-rw-r--r--. 1 root root 141 9月 27 16:45 fileserver.conf
-rw-r--r--. 1 root root 237 9月 27 16:45 httpmsgserver.conf
-rw-r--r--. 1 root root 311 9月 27 16:45 loginserver.conf
-rw-r--r--. 1 root root 145 9月 27 16:45 msfs.conf
-rw-r--r--. 1 root root 601 9月 27 16:45 msgserver.conf
-rw-r--r--. 1 root root 158 9月 27 16:45 pushserver.conf
-rw-r--r--. 1 root root 86 9月 27 16:45 routeserver.conf
需要依次按照INSTALL.md提供的配置模板修改配置文件,我举个例子(我选的方案1,纯内网,IP地址为:192.168.131.142),比如修改dbproxyserver.conf,用vim修改即可:
vim dbproxyserver.conf
ListenIP=192.168.131.142
ListenPort=10600
ThreadNum=48 # double the number of CPU core
MsfsSite=192.168.131.142
#configure for mysql
DBInstances=teamtalk_master,teamtalk_slave
#teamtalk_master
teamtalk_master_host=127.0.0.1
teamtalk_master_port=3306
teamtalk_master_dbname=teamtalk
teamtalk_master_username=root
teamtalk_master_password=12345
teamtalk_master_maxconncnt=16
#teamtalk_slave
teamtalk_slave_host=127.0.0.1
teamtalk_slave_port=3306
teamtalk_slave_dbname=teamtalk
teamtalk_slave_username=root
teamtalk_slave_password=12345
teamtalk_slave_maxconncnt=16
#configure for unread
CacheInstances=unread,group_set,token,sync,group_member
#未读消息计数器的redis
unread_host=127.0.0.1
unread_port=6379
unread_db=1
unread_maxconncnt=16
#群组设置redis
group_set_host=127.0.0.1
group_set_port=6379
group_set_db=2
group_set_maxconncnt=16
#同步控制
sync_host=127.0.0.1
sync_port=6379
sync_db=3
sync_maxconncnt=1
#deviceToken redis
token_host=127.0.0.1
token_port=6379
token_db=4
token_maxconncnt=16
#GroupMember
group_member_host=127.0.0.1
group_member_port=6379
group_member_db=5
group_member_maxconncnt=48
#AES 密钥
aesKey=12345678901234567890123456789012
剩下的配置文件依次修改,修改完成后退回auto_setup目录,执行自动安装脚本
./setup.sh install
自动安装的时候,会让选择更改数据库密码,必须改成12345,如果你需要修改,需要同时修改dbproxyserver.conf和auto_setup/mariadb/setup.sh和auto_setup/im_web/conf/database.php中的相关配置,我们这边使用默认配置。一路回车安装完毕,这时候访问IP地址(推荐使用chrome),用户名密码都是admin,先配置组织,再配置用户,再用客户端登陆,这些不再赘述。
服务器重启/opt/TeamTalk/auto_setup//im_server/im-server-1/restart.sh
三、其他的一些坑
1、图片传输
配置完之后,你会发现不能传输图片,这时候重新进入auto_setup文件夹
cd ./im_server/im-server-1/msfs/
mkdir files #创建files文件夹
vim msfs.conf #找到并修改成修改BaseDir=./files
../daeml msfs