1. 程式人生 > >TeamTalk編譯和部署(一)

TeamTalk編譯和部署(一)

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

感謝大佬給出的安裝教程

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有關的東西

這是騰訊雲的教程,感謝大佬

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/

裡面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中的

中的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文件。。。呵呵。

希望我的教程可以給你提供一點幫助,希望我的教程不會成為你前進道路上的又一個坑。