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文档。。。呵呵。
希望我的教程可以给你提供一点帮助,希望我的教程不会成为你前进道路上的又一个坑。