TeamTalkインストール導入マニュアル

6477 ワード

TeamTalkインストール導入マニュアル
一、配置環境
オペレーティングシステム:CentOS 7 X 64(gccバージョンの問題のため、公式推奨centos 7)、
CPU:2コア
メモリ:1024 M
ハードディスク:8 G
仮想マシン:VirtualBox 4.3.28
ユーザー:root
二、コンパイル依存環境
###コンパイル環境
導入前にインストールする必要があります:gcc、gcc-c++、zip、unzip、wget、net-tools.x86_64
TeamTalkコンパイルはいくつかの最新のc++標準に依存する必要があり、CentOS 7を使用することを推奨する.0、CentOS 6を使用する場合.x、g++バージョンをc++11の特性をサポートするまでアップグレードする必要があります.アップグレードスクリプトは使用できます:TeamTalk-masterauto_setup\gcc_setup.sh
###サードパーティ製ライブラリ
TeamTalkは、protobuf、hiredis、mariadb(mysql)、log 4 cxxなど、多くのサードパーティ製ライブラリを使用しています.TeamTalkを最初にコンパイルする前に、TeamTalk-masterserversrcの下で次の操作を行うことをお勧めします.
protobuf:make_protobuf.sh
hiredis:make_hiredis.sh
mariadb:make_mariadb.sh
log4cxx:make_log4cxx.sh
これらのスクリプトは、実行後にヘッダファイルとライブラリファイルを指定したディレクトリに自動的にコピーします.
注意:上記のスクリプトはワンタッチの配置スクリプトです.一歩一歩手動で配置するには、ネット上の資料を参照してください.
http://www.bluefoxah.org/teamtalk/new_tt_deploy.html
MariaDB*をインストールと.rpmでエラーが発生した場合、MariaDB、mariadb-develを自分で取り付けることができる.x86_64
三、プロトコルファイルのコンパイル
すべてのプロトコルファイルはpbディレクトリの下にあり、create.sh及びsync.sh 2つのshellスクリプト.
create.shの役割はprotocを使用してプロトコルファイルを対応する言語のソースコードに変換することである.
sync.shは、生成されたソースコードをserverのディレクトリにコピーする.
注意:以上のスクリプトを実行するときに環境変数を設定します.
exportPATH=/root/TeamTalk-master/server/src/protobuf/bin:$PATH
四、コンパイルサービス
以上の手順が完了したら、TeamTalk-masterserversrcの「./build.shversion 1」を使用してTeamTalkプロジェクト全体をコンパイルできます.コンパイルが完了すると、親ディレクトリにim_が生成されます.server_x.tar.gzパッケージ.
五、設置説明
TeamTalkの一連のサービスはモジュール配置スクリプトとワンタッチ配置方案を提供し、主なモジュールはNGINX、PHP、MARIADB(MYSQL)、REDIS、IM_WEB,IM_SERVER、IM_WEB,IM_SERVERは自主開発モジュールであり、残りはオープンソースソリューションであり、auto_にワンタッチで配置されている.setupディレクトリの下:
注意:
TeamTalk-masterserverim_server_x.tar.gzはTeamTalk-masterauto_にコピーsetup\im_server
TeamTalk-masterphpをttに変更し、圧縮コピーをTeamTalk-masterauto_にパッケージ化setup\im_Web、そうでないと次のエラーが発生します:unzip:cannot find or open tt.zip, tt.zip.zip or tt.zip.ZIP.
setup.shは配置総エントリであり、2次ディレクトリの下のsetupがそれぞれ呼び出される.shインストール配置プロセスを実行します.
###NGINX:
変更する必要はありません
###PHP:
confディレクトリの下に2つのプロファイルphp-fpmが含まれている.conf php.iniは、自分で構成を最適化したり、この2つのファイルを変更しないことを選択したりすることができます.
###MARIADB(MYSQL):
インストールスクリプトsetup.shではmysqlrootユーザーの初期パスワードは12345がデフォルト設定されており、mariadbのインストール中にパスワードの入力を求めるメッセージが表示されます.カスタムパスワードを使用する場合は、「MYSQL_PASWORD=12345」を変更してパスワードの設定を一致させる必要があります.パスワードを変更すると、IM_WEBとIM_SERVERで変更します.詳細はIM_を参照してください.WEBとIM_SERVER構成の説明.
既存のmariadb(mysql)を使用している場合は、ライブラリとテーブルの作成には「mysql-u$USER-p$PASWORD###REDIS:
confディレクトリの下にredisが含まれている.confのプロファイルは、自分で構成を最適化するか、このファイルを変更せずにデフォルトの構成を使用するかを選択できます.
redisの再起動によるデータの乱れを避けるために、redisをプライマリ・スレーブ構成することをお勧めします.
###IM_WEB:
confディレクトリの下にconfigが含まれている.php,database.php, im.com.confはim.com.confはNGINXに必要なプロファイルですので、変更しないことをお勧めします
config.phpファイルは主にmsfsサーバのアドレスを構成し、$config['msfs_url']パラメータを変更すればよい
dababase.phpファイルは主にMARIADBをリンクするために必要なパラメータを構成し、自分のニーズに応じて「hostname」、「username」、「password」の3つのパラメータを変更します.
既存のnginx+php環境を使用する場合はsetupを変更できます.sh中のPHP_WEB_SETUP_PATHはnginxにwebコードを配置する経路であり、
そしてPHP_NGINX_CONF_PATHは、nginxプロファイルのパスに変更する、setupを実行する.shスクリプトでOK
###IM_SERVER:
IM_SERVERには8種類のサーバがありますので、これらのサーバを別々に配置する必要があります
1.LOGIN_SERVER:
ClientListenIPはClient側に傍受を提供するローカルアドレスであり、pbプロトコルである.
HttpListenIPはClient側に傍受を提供するhttpプロトコルローカルアドレスである(機能はClientListenIPと同様である)
MsgServer ListenIPは、MsgServer側に提供される傍受のローカルアドレスである
msfsクライアントがダウンロード画像をアップロードするために使用するmsfsアドレスを提供する
discoveryはmac,ios,androidクライアントで「発見」に使用されるアドレスで、phpバックグラウンドのアドレスを記入しています.
2.MSG_SERVER:
ListenIPは、クライアント側のメッセージ送受信に使用されるネイティブ傍受IPである.
DBServerIPリンクDB_用PROXY、ここに少なくとも2つのデータベースアドレスを記入し、同じインスタンスであってもよい
LoginServer IPは、LoginServerをリンクするために使用されます.
RouteServer IPは、RouteServerをリンクするために使用されます.
FileServer IPは、FileServerをリンクするために使用されます.
PushServer IPはPushServerをリンクするために使用されます
IpAddrはClient側が直接アクセスできるアドレスを記入し、パブリックアクセスが必要な場合、ルータマッピングであれば、ルータがパブリックネットワークにマッピングされたアドレスを記入する必要がある.ここには2つのClient側がアクセスできるアドレスを記入する必要があります.1つしかない場合は、同じアドレスを記入すればいいです.
aesKeyはmsg_サーバは、各クライアントと一貫したメッセージ復号の使用に使用されます.
3.ROUTE_SERVER:
説明に従って、監視が必要な対応IPPortを構成すればよい
4.FILE_SERVER:
AddressはClient側が直接アクセス可能なIPアドレスであり、パブリックアクセスが必要な場合はルータマッピングであれば、パブリックネットワークにマッピングされたルータのアドレスを記入する必要がある
5.MSFS_SERVER:
ListenIPとPortは傍受のローカルIPを記入し、BaseDirはデフォルトで画像ファイルを保存するパスであり、必要に応じて変更することができる.
6.DB_PROXY_SERVER
インストール設定スクリプトsetup.sh中、DB_PROXYのデフォルトリスニングPortは10600に設定されており、変更された場合はIM_を同時に使用する必要があります.SERVERの他のサーバーの構成を変更します.詳しくはMSG_を参照してください.SERVER,HTTP_MSG_SERVER配置説明;
mariadbとredisの構成は、独自のmysql、redisに基づいて設定できます.
7.HTTP_MSG_SERVER
ListenIPは、phpバックグラウンドで使用されるローカルリスニングのアドレスです.
DBServerIPリンクDB_用PROXY、ここに少なくとも2つのデータベースアドレスを記入し、同じインスタンスであってもよい
RouteServer IPは、RouteServerをリンクするために使用されます.
8.PUSH_SERVER
ListenIPはローカルリスニングのアドレスです
CertPath,KeyPath,KeyPassword,SandBoxはアップルのapnsサービスに必要なパラメータです
###ワンタッチ配置:
未インストールのNGINX、PHP、MySQL、REDIS、OSはCentOS 6.Xまたは7.Xは、インストール前に「setup.shcheck」コマンドを実行して上記環境のチェックを行うことができます.各モジュールについて、IM_が主に設定されているプロファイルの設定を確認します.SERVER内のいくつかのサーバアドレス設定、設定完了後に「setup.shinstall」を実行
###モジュール配置:
TeamTalkの各モジュールは異なるサーバへのインストールをサポートしているので、配置は自分のニーズに応じてモジュールのインストールを行うことができ、主に変更された場所は上記の各モジュールのIPアドレスに設定されています.自分のネットワークトポロジに基づいてconfフォルダの下の各プロファイルに正しいIPアドレスを予め設定し、モジュール内の「setupinstall」を実行すればよい
6.よくある質問
###データベースのリモート接続アクセスの設定
任意のホストにデータにアクセスする権限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345' WITH GRANT OPTION;
変更の有効化:
FLUSH PRIVILEGES;
###CentOS 7ファイアウォールを閉じる
サービスを終了するには、次の手順に従います.
systemctl stop firewalld.service
起動時にサービスを無効にするには、次の手順に従います.
systemctl disable firewalld.service
###selinuxを閉じないとブラウザにアクセスできません
永続的なクローズ構成:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
一時 selinux:setenforce 0