| インストール |
TeamSpeak2 RC2 Serverは、個人であれば無料でダウンロード・利用できます。
公式サイトで配布されている最新版「2.0.20.1」をインストールしてみましょう。
TeamSpeak2 RC2 Serverを実行するユーザがrootの場合、セキュリティの警告が発せられるため、今回はサーバ起動用のユーザを作成してログインします。
なお、警告が気にならないのであればrootで起動しても(セキュリティ上好ましくありませんが)問題ありません。やめておいたほうがよさそうです。
[root@home root]# useradd -s /bin/bash teamspeak
[root@home root]# passwd teamspeak
Changing password for user teamspeak.
New password:password
Retype new password:password
passwd: all authentication tokens updated successfully. |
今回、インストール(設置)先は(sudoの有効ディレクトリの関係もあり)、「/usr/local/bin/」としました。
サーバファイルは公式サイトから取得できます。
Firefoxなどのブラウザでダウンロードする場合は、上記のftp取得コマンドは不要です。「/usr/local/bin/」に「ts2_server_rc2_20201.tar.bz2」をコピーしてください。
[root@home root]# cd /usr/local/bin/
[root@home bin]# wget ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_server_rc2_20201.tar.bz2 |
取得した圧縮ファイルを解凍します。
| [root@home bin]# tar jxvf ./ts2_server_rc2_20201.tar.bz2 |
ディレクトリ「/usr/local/bin/」が作成されれば、現在rootとなっているファイルの所有者を先程作成したteamspeakユーザに変更します。
また、起動スクリプトに実行権限を与えておきます。
[root@home bin]# chown teamspeak ./tss2_rc2
[root@home bin]# chmod ug+rwx ./tss2_rc2/teamspeak2-server_startscript |
次に、rootでログインしている状態でもteamspeakユーザでサーバを起動できるよう、sudo(Windowsでいう、他のユーザで実行の機能)を構成します。
viでsudoの設定ファイルが開きます。その中に以下のような「root」に関する項目がありますので、ここを書き換えます。
※設定内容は完全に一致しない場合がありますが、左端が「root」となっていれば大丈夫です。
上記の行にカーソルを合わせ、"A"キーを押し、編集モードに移行し、下記のように書き換え、"ESC"キーを押して":wq"と入力して"Enter"キーを押します。
|
| 起動と終了 |
TeamSpeak2 RC2 Serverを起動するには、サーバファイルに同梱のスクリプトを使用します。
[root@home bin]# cd /usr/local/bin/tss2_rc2/
[root@home tss2_rc2]# sudo -u teamspeak ./teamspeak2-server_startscript
start |
終了する場合は引数に「stop」を指定しましょう。
| [root@home tss2_rc2]# sudo -u teamspeak ./teamspeak2-server_startscript
stop |
|
| ウェブからの設定 |
TeamSpeak2 RC2 Serverの設定は、全てウェブから行います。
ブラウザから「http://localhost:14534/slogin.html」を開いてください。
別のコンピュータから開く場合は「localhost」の部分をIPアドレスに変更します。
 |
| ウェブ管理画面のログイン |
|
上のログイン画面が出れば問題ありませんが、接続できない場合はLinux FirewallなどでTCPポート「14534」がブロックされていないか確認してください。
初期設定のusername、passwordは「/usr/local/bin/tss2_rc2/server.log」に以下のような形で記録されています。
ログインするには「superadmin」の権限が必要ですので、下記例ではusernameは「superadmin」、passwordは「ut6kii」となります。
22-03-07 23:51:02,WARNING,Info,SERVER, admin account info: username: admin
password: ctn55h
22-03-07 23:51:02,WARNING,Info,SERVER, superadmin account info: username:
superadmin password: ut6kii |
ログインしたら、最低限「superadmin」(管理画面にアクセスできるユーザ)のパスワードを変更しておきましょう。
 |
|
 |
|
 |
| 左の一覧から「SuperAdmin manager」を選択 |
|
「superadmin」の「Edit」をクリック |
|
「PassWord」にパスワードを記入して「Save」 |
|
「superadmin」で設定したパスワードが先程のウェブ管理画面のログインで使用するパスワードになります。
サーバーのグローバル設定(全ての内部サーバで使用する共通の設定)を変更するには、左の一覧から「Global settings」を開きます。
 |
|
 |
| 左の一覧から「Global settings」を選択 |
|
設定を入力して「Save」 |
|
最低限、以下の項目を記入/選択しておきましょう。他の項目は特に変更する必要はありません。
「AdminEMAIL」 ・・・ サーバ管理者のEMailアドレス
「ISPName」 ・・・ サーバ名
「Country」 ・・・ "Japan"を選択 |
次に、内部サーバの設定を行います。TeamSpeak2 RC2 Serverは1つのサーバ内に複数のサーバを作成できるため、設定先内部サーバを選択してから設定を行います。
 |
|
 |
|
 |
| 左の一覧から「Servers」を選択 |
|
「ID:1」の「Select」をクリック |
|
右の一覧に各種設定項目が現れる |
|
内部サーバの設定を変更するには、左の一覧から「Server settings」を開きます。
 |
|
 |
| 左の一覧から「Global settings」を選択 |
|
設定を入力して「Save」 |
|
最低限、以下の項目を記入/選択しておきましょう。
「ServerName」 ・・・ サーバ接続時に表示されるサーバ名
「ServerWelcomeMessage」 ・・・ サーバ接続時に表示されるメッセージ
「ServerPassword」 ・・・ サーバー接続時にパスワードを要求する場合は入力(接続者を知り合いのみに制限したい場合など)
「ServerMaxUsers」 ・・・ 最大接続人数
「Allowed Codecs」 ・・・ "Codec SPEEX24600"以外は実用に耐えうるものではない(音質が悪すぎる)ため、それ以外は外しておくのも良いですが、基本的に全てオンにしておきましょう。
「ServerType」 ・・・ 不特定多数に公開しているサーバの場合は"Public Server"を、知り合いのみのサーバの場合は"Clan
Server"を選択しましょう。この設定はあくまで表示上のものです。 |
|
| 自動起動の設定 |
Linux起動時にTeamSpeak2 RC2 Serverを自動起動するように設定すれば、再起動時などに毎回起動コマンドを入力する必要がなくなり便利です。
rootでrc.dのrc.local設定ファイルを編集します。GUIが使用可能な場合はファイルブラウザからテキストエディタを使用したほうが遥かに楽です。
viでの編集方法はvisudoの場合と同じです。
| [root@home root]# vi /etc/rc.d/rc.local |
ファイル終端付近「touch /var/lock/subsys/local」の上に、3行追加します。
+
+
+ |
#### Vine stuff ends here
cd /usr/local/bin/tss2_rc2/
sudo -u teamspeak ./teamspeak2-server_startscript start
cd /etc/rc.d/
touch /var/lock/subsys/local |
これだけで自動で起動するようになりますが、障害時などサーバが正しく終了されなかった場合、プロセスが存在すると誤認して正しく自動起動しない場合があります。
これは起動スクリプト側の問題なので、修正しておいたほうが良いでしょう。
| [root@home root]# vi /usr/local/bin/teamspeak2-server_startscript |
if [ -e tsserver2.pid ]; then
echo "tsserver2.pid already exists...server already started ?";
echo "If you are sure the server is not running, delete tsserver2.pid"
exit 1
else
if [ "$UID" = "0" ]; then
echo WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT
for c in $(seq 1 10); do
echo -n "!"
sleep 1
done
echo !
fi
echo "starting the teamspeak2 server"
if [ -e server_linux ]; then
if [ ! -x server_linux ]; then
echo "server_linux is not executable, trying to set it"
chmod u+x server_linux
fi
if [ -x server_linux ]; then
./server_linux -PID=tsserver2.pid
else
echo "server_linux is not executable, fix this"
exit 4
fi
else
echo "Couldnt find server_linux"
exit 5
fi
fi |
上記の9行目から38行目までを以下のように変更してください。
if [ -e tsserver2.pid ]; then
echo -n "stopping the teamspeak2 server"
if ( kill -TERM `cat tsserver2.pid` ); then
for c in $(seq 1 300); do
if [ -e tsserver2.pid ]; then
echo -n "."
sleep 1
fi
done
fi
fi
if [ "$UID" = "0" ]; then
echo WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT
for c in $(seq 1 10); do
echo -n "!"
sleep 1
done
echo !
fi
echo "starting the teamspeak2 server"
if [ -e server_linux ]; then
if [ ! -x server_linux ]; then
echo "server_linux is not executable, trying to set it"
chmod u+x server_linux
fi
if [ -x server_linux ]; then
./server_linux -PID=tsserver2.pid
else
echo "server_linux is not executable, fix this"
exit 4
fi
else
echo "Couldnt find server_linux"
exit 5
fi
|
これでプロセスが残っていても自動で削除して起動できるようになります。 |
| 設定ストレージにMySQL 5を使う |
TeamSpeak2 RC2 Serverは全ての設定を保存するストレージにSQLiteを使用していますが、これをMySQLに変更することができます。
PHPから独自の設定パネルなどを作りたい場合はMySQLに変更しておきましょう。ただし、それ以外メリット(速度面など)は大してありません。
まずMySQL側にデータベースとユーザを作成します。phpMyAdminやAdminが使用できる場合はそちらから作成したほうが楽です。
「password」部分にはMySQLのrootユーザのパスワードを入力してください。
「tsuser」部分は新規作成するTeamSpeak用MySQLユーザの名前です。好きなものに変更しても大丈夫です。
「password」部分には新規作成するTeamSpeak用MySQLユーザのパスワードを入力してください。
[root@home root]# mysqladmin -uroot -ppassword create teamspeak
[root@home root]# mysql -uroot -ppassword teamspeak
mysql> grant all on teamspeak.* to tsuser@localhost identified by 'password';
mysql> flush privileges; |
次にTeamSpeak2 RC2 Server側の設定をMySQLを使用するよう変更します。サーバファイル内の「server.ini」を編集します。
| [root@home root]# vi /usr/local/bin/server.ini |
ファイルの末端に以下を追加します。色が付いている部分は先程のデータベース作成時に設定したものに変更してください。
[DBEXPRESS]
sqldir=./mysql_sql/
Drivername=mysql
Database=teamspeak
Hostname=127.0.0.1
User_name=tsuser
Password=password
GetDriverFunc=getSQLDriverMYSQL
VendorLib=/usr/lib/libmysqlclient_r.so.10.0.0
LibraryName=./libsqlmy.so
Active=1 |
以上の設定後、MySQL接続用ライブラリを更新する必要があります。
ダウンロードして「/usr/lib/」内にコピーしてください。ファイルは「http://mirror.akiez.org/libmysqlclient.tar.bz2」でミラーしています。
[root@home root]# cd /usr/lib/
[root@home lib]# wget http://mirror.akiez.org/libmysqlclient.tar.bz2
[root@home lib]# tar jxvf ./libmysqlclient.tar.bz2 |
以上の完了後、TeamSpeak2 RC2 Serverを再起動するとMySQLをデータストレージとして起動します。
設定は失われるため、再度ウェブ管理画面から設定する必要があります。(管理画面へのログインパスワードも変更されるので、server.logから見つける必要があります。)
[root@home bin]# cd /usr/local/bin/tss2_rc2/
[root@home tss2_rc2]# sudo -u teamspeak ./teamspeak2-server_startscript
restart |
|