TeamSpeak3 を突貫で立ててみた & 少し触ったメモ

# 事の始まり
友人M氏がこんなツイートをしていました (一部改変）

>TeamSpeak(以下TS)とSkypeの違い
> - skype
自skype→自回線→skype鯖→相手回線→相手skype
>- TSはskype機能搭載の掲示板
自回線→個人の立てたTS鯖←相手回線
一人一人の音量変更可

TeamSpeakというものに興味を持った私は、早速使える環境を整える事にしました。行動力つけないと。

# 今回の目的
 - TeamSpeak3 のサーバをインストール
 - TeamSpeak3 のクライアントを入れて、外から接続してもらって、お話できるか確認する

## インストール環境
 - サーバ : CentOS7 
     - 色々と立っているところに立てる。所詮実験だから...という軽い気持ち
 - クライアント : Windows7 Pro / MacBookAir Yosemite

## インストールするもの
 - TeamSpeak3 Client (Windows / Mac 両方とも)
 - TeamSpeak3 Server ver.3.0.11.4 (Linux 64bit)
 
 両方共、[公式サイト(https://www.teamspeak.com/downloads)](https://www.teamspeak.com/downloads)　からダウンロードします。
 
 - TeamSpeak3 日本語パッケージ 
 必要ならば、Clientをインストールした後に、インストールしてください。 ダウンロードは[ボイスチャットフォーラムから](http://www.arcenserv.info/forum/viewtopic.php?f=9&t=363&sid=61a042f1b4cae89fd031d441c110b3e5)。
 

# 作業内容
メインで参考にしたサイトは、[TeamSpeak3 サーバの建て方 Linux編](http://www.arcenserv.info/memo/ts3/linux/)

足りない情報は、[Wikiページ](http://hovel.arcenserv.info/ts3/?FrontPage)を参考にしました。

## Teamspeak3 Serverのインストール on Centos7
まずは、サーバをダウンロードします。今回は64bitなので、こちら
![1.png](https://qiita-image-store.s3.amazonaws.com/0/93120/c5a3ac44-82a8-2fca-8578-0381a312859f.png)

これを、**SSHクライアントの方**（Windows or Mac ...etc)にダウンロードします。

ダウンロード後、**SCP クライアント**を使って、サーバの方に転送します。
[^1]

[^1]: wget でダウンロードしようかと考えたのですが、リンクが上手く取得できなかったので、この方法に。


TeamSpeak3 の実行ユーザは、新たに作ったほうが良さそうなので、適当に作ります。

```shell-session
# useradd teamspeak
# passwd teamspeak
```

後は、SCPでコピーしたファイルを、配置したいディレクトリに設置した後、teamspeak ユーザになって、実行すると、とりあえず動きます。
今回は、`/home/teamspeak/`以下を作業用ディレクトリにします。

```shell-session
# cp teamspeak3-server_linux-amd64-3.0.11.4.tar.gz /home/teamspeak/
# su - teamspeak
$ tar zxfs teamspeak3-server_linux-amd64-3.0.11.4.tar.gz
$ cd ./teamspeak3-server_linux-amd64
$ ./ ts3server_startscript.sh start
```

ここまでで、一応は動きます。
初回起動時には、色々と文字列が表示されますが、これは重要ですので、
**コピペして保存しておいてください** [^2]

[^2]: なお、この記事を書いている私は、コピペをし忘れたので、既に終了のお知らせ...^^;


ですが、ローカルでも外からでもログインできません。

## firewalld の設定追加
今回開放するポートは3つです。(wikiページを参考)
- 9987 / udp (音声用)
- 10011 / tcp (クエリ接続用)
- 30033 / tcp (ファイル転送用)

私の環境では、firewalld は enabled です。なのでポートの開放をする必要があります。
以下の設定は一例ですので、ご自身の環境に合わせてポート開放してください。

```shell-session
# firewall-cmd --add-port=9987/udp --zone=public
# firewall-cmd --add-port=10011/udp --zone=public
# firewall-cmd --add-port=30033/udp --zone=public
```
`--permanent` オプションをそれぞれにつけると、永久的に設定されるようになります。

外部からアクセスしてもらうには、同様の設定をルータの方にも行ってください。

# TeamSpeak3 Clientの設定 
## on Windows
初回起動後、最初にログインする端末では、サーバ管理者への昇格ができます（できました。

まずは、サーバへ接続を行います。

![2.png](https://qiita-image-store.s3.amazonaws.com/0/93120/450a9891-be66-8a1c-c600-2fcc2972cb7a.png)

サーバアドレスは、ローカルの場合は**サーバのIPアドレス**を。グローバルの場合はドメイン名でOKです。（ポート開放している場合）

ログインすると、特権キーが求められます。

![3.png](https://qiita-image-store.s3.amazonaws.com/0/93120/9702c1cc-0a3e-0d7a-623b-47ddca69335c.png)

ここで、起動時に出てきた値を使用します。
コピペで、**token=xxxxxxxxx**の値をコピペすると、その端末では管理者権限が与えられます [^3]

[^3]: 実はよくわかってない。おそらく特権が与えられるはず。


これで、ひとまずログインできました。

## on Mac 
Mac の場合もほぼ同じです。


# 構築のまとめ
linuxの場合は、特に問題なく構築ができました。
気をつけなければならないのは、ファイルの転送方法とfirewalld(iptables)によるポート開放ぐらいです。後は気合で通せます。

----
以下、完全にメモみたいなものです。参考までに

# ちょっとだけプライベート化してみたい
## サーバ自体にパスワードかけたい
ツリーの一番上のサーバを右クリック → バーチャルサーバーの編集
![4.png](https://qiita-image-store.s3.amazonaws.com/0/93120/f7c43c80-6f72-0515-3238-20feb84b057e.png)


後は画面の通り、パスワードを入力すると、ログイン時にパスワード認証ができる
![5.png](https://qiita-image-store.s3.amazonaws.com/0/93120/142a8491-2b9b-fd32-c77a-019216fc9c83.png)


# 感想
手軽にプライベート（みたいな）ボイスチャットができるのは便利ですね。
後はセキュリティ的に怖いので、ポートをデフォルト以外にしたいのだが...要勉強です。

# おまけ
![7.png](https://qiita-image-store.s3.amazonaws.com/0/93120/873e2409-15b4-27d1-f4dd-cb2d95e56738.png)

そもそものリソース量が足りないのが結構な痛手。メモリーを近々買います...（^^;