テクノロジーガイド

CentOS 7 に TeamSpeak サーバーをインストールする方法

2 min read サーバー 更新されました 20 Oct 2025
CentOS 7 に TeamSpeak サーバーをインストールする方法
CentOS 7 に TeamSpeak サーバーをインストールする方法

TL;DR

CentOS 7 に TeamSpeak 3 サーバーをインストールして systemd サービスとして起動する手順を解説します。必要な依存関係の導入、専用ユーザー作成、アーカイブの展開、起動スクリプト/systemd ユニットの設定、基本的なセキュリティとトラブルシューティングのヒントを含みます。

概要

TeamSpeak は VOIP(Voice Over Internet Protocol、インターネット経由の音声通信)サーバーソフトウェアです。オンラインゲーム、教育、ビジネス会議などで広く使われています。TeamSpeak は 2001 年に最初にリリースされ、その後も開発が続いています。本稿では CentOS 7 環境に TeamSpeak 3 サーバーを導入する手順を具体的に示します。

重要な用語(1 行定義)

  • VOIP: インターネット経由で音声を送受信する技術。

前提条件

  • 最小限構成の CentOS 7 サーバー
  • root 権限(root で操作することを前提に書かれています。sudo ユーザーなら sudo -i を実行してください)

重要: 公開サーバーで運用する場合はファイアウォールと SELinux の設定、運用ポリシーを必ず検討してください。

ベースシステムの更新

パッケージとリポジトリを最新化します。

yum -y update

更新が完了したら、依存関係をインストールします。

依存関係のインストール

TeamSpeak が正常に動作するために必要なパッケージをインストールします。

yum -y install nano wget perl tar net-tools bzip2

TeamSpeak 用ユーザー追加

TeamSpeak サーバープロセスを専用ユーザーで実行すると、システム上の他プロセスと分離できます。ホームディレクトリを /opt/teamspeak に設定してユーザーを追加します。

adduser teamspeak -d /opt/teamspeak

上記コマンドにより teamspeak ユーザーが作成され、ホームディレクトリが /opt/teamspeak になります。

TeamSpeak のインストール

TeamSpeak は主要 Linux 向けに事前ビルドされたアーカイブを提供しています。まずアーカイブをダウンロードします(例はバージョン 3.0.13.8)。最新のダウンロードリンクは公式ダウンロードページを参照してください。

wget http://dl.4players.de/ts/releases/3.0.13.8/teamspeak3-server_linux_amd64-3.0.13.8.tar.bz2

ダウンロードしたアーカイブを展開します。

tar xvf teamspeak3-server_linux_amd64*.tar.bz2

展開されたファイルを TeamSpeak ユーザーのホームディレクトリへ移動します。

mv teamspeak3-server_linux_amd64/* /opt/teamspeak

インストール用アーカイブと展開ディレクトリを削除してクリーンアップします。

rm -rf teamspeak3-server_linux_amd64*

アプリケーションファイルの所有権を teamspeak ユーザーに設定します。

chown -R teamspeak: /opt/teamspeak

これで TeamSpeak のファイルは配置されました。

TeamSpeak の起動

TeamSpeak は付属の起動スクリプトで開始・停止できます。teamspeak ユーザーに切り替えてサーバーを起動します。

su - teamspeak  
 ./ts3server_startscript.sh start inifile=ts3server.ini

サーバーが正常に起動すると、次のような出力が表示されます(初回起動時にはサーバークエリアカウント情報や admin アカウント情報が出力されます)。

[teamspeak@centos ~]$ ./ts3server_startscript.sh start inifile=ts3server.ini
Starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file
[teamspeak@centos ~]$
------------------------------------------------------------------
                      I M P O R T A N T
------------------------------------------------------------------
               Server Query Admin Account created
         loginname= "serveradmin", password= "4CQJv1kq"
------------------------------------------------------------------

停止は次のコマンドで行います。

./ts3server_startscript.sh stop

出力例:

[teamspeak@centos ~]$ ./ts3server_startscript.sh stop
Stopping the TeamSpeak 3 server done

teamspeak ユーザーから抜けて root に戻るには exit を実行します。

systemd サービスの設定

手動でスクリプトを実行する代わりに systemd サービスユニットを作成すると、起動・停止・自動起動設定が容易になります。新しいユニットファイルを作成します。

nano /lib/systemd/system/teamspeak.service

次の内容をファイルに書き込みます(そのままコピペしてください)。

[Unit]
Description=TeamSpeak Server Service
After=network.target

[Service]
Type=forking
WorkingDirectory=/opt/teamspeak/
ExecStart=/opt/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
User=teamspeak
Group=teamspeak
PIDFile=/opt/teamspeak/ts3server.pid
Restart=always
RestartSec=9
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=teamspeak

[Install]
WantedBy=multi-user.target

ファイル保存後に systemd をリロードしてサービスを開始します。

systemctl daemon-reload
systemctl start teamspeak
systemctl enable teamspeak
systemctl status teamspeak

ファイアウォールとポート

TeamSpeak のデフォルトポートは主に UDP/TCP を使用します。環境に応じてファイアウォールで以下ポートを許可してください(ポートは変更可能です)。

  • UDP: 9987(音声用)
  • TCP: 10011(ServerQuery)
  • TCP: 30033(ファイル転送)

firewalld を使う例:

firewall-cmd --zone=public --add-port=9987/udp --permanent
firewall-cmd --zone=public --add-port=10011/tcp --permanent
firewall-cmd --zone=public --add-port=30033/tcp --permanent
firewall-cmd --reload

注意: NAT 環境やクラウドプロバイダのセキュリティグループも忘れずに設定してください。

SELinux とパーミッション

CentOS のデフォルト設定で SELinux が有効な場合、/opt/teamspeak 配下の実行に問題が出ることがあります。必要であれば SELinux のコンテキストを調整するか、運用ポリシーに沿って許可を与えてください。簡易的には一時的に permissive に切り替えて動作確認を行うことがありますが、本番では適切なポリシーを作成してください。

getenforce
setenforce 0   # 一時的に無効化(本番では推奨しない)

セキュリティ強化(推奨事項)

  • TeamSpeak の起動ユーザーを最小権限にする(本手順はすでに実施)。
  • 最低限必要なポートのみを開放する。
  • サーバーの定期的な OS セキュリティ更新を行う。
  • 管理用パスワードは初回出力後に必ず変更する。
  • ログ監視(/opt/teamspeak/logs)とディスク容量監視を設定する。

トラブルシューティング

  • ログを確認: /opt/teamspeak/logs/ にログファイルがあります。まずはそこを確認してください。
  • ポートが競合している場合: netstat や ss コマンドで 9987/10011/30033 の使用状況を確認します。
ss -ltnp | grep -E "9987|10011|30033"
  • サービスが起動しない: systemctl status teamspeak と journalctl -u teamspeak でエラーメッセージを確認。
  • 権限エラー: chown -R teamspeak: /opt/teamspeak を再確認。

よくある原因と対処

  • ポートをファイアウォールで閉じている -> 開放する
  • アーカイブの展開先が不適切 -> /opt/teamspeak 配下に正しくファイルがあるか確認
  • SELinux 制約 -> 一時的に permissive にするかポリシーを調整

代替アプローチ

  1. Docker コンテナでの運用: 公式/コミュニティ製の TeamSpeak コンテナイメージを使うと環境依存が少なく、分離管理が容易になります。
  2. 仮想マシンや LXC コンテナでの分離運用: ホスト影響をさらに小さくできます。
  3. マネージドサービス: 自分で運用せずにマネージドホスティングを利用する方法もあります。

メリット・デメリットの概略

  • 直接インストール: パフォーマンス良、管理は自分で行う必要あり。
  • Docker: デプロイが容易、永続ボリュームとネットワーク設定に注意。

運用チェックリスト(役割別)

  • システム管理者:
    • OS とパッケージの更新をスケジュール
    • ファイアウォールとバックアップを設定
    • systemd ユニットの監視
  • サービス管理者:
    • TeamSpeak の設定(ts3server.ini)のバックアップ
    • 管理アカウントの管理とローテーション
    • ログ(/opt/teamspeak/logs)のローテーション
  • セキュリティ担当:
    • アクセスログの監視
    • 不要なポートの閉鎖

テストケース / 受け入れ基準

  • サーバー起動: systemctl start teamspeak 後、Active (running) となること。
  • ポート確認: UDP 9987 がリッスンされていること。
  • クライアント接続: TeamSpeak クライアントから接続し音声チャネルに入れること。
  • ログ確認: エラーが残っていないこと(最新ログを確認)。

アップグレードとバックアップのヒント

  • アップグレード前に ts3server.ini とデータディレクトリ(/opt/teamspeak)をバックアップ。
  • バイナリの置き換え後、所有権とパーミッションを再確認する。

まとめ

このガイドでは CentOS 7 に TeamSpeak 3 サーバーをインストールし、systemd で管理する手順を説明しました。基本的なセキュリティ、トラブルシューティング、運用の観点もカバーしています。実運用時はログ監視とセキュリティ更新を習慣化してください。

FAQ

Q1: TeamSpeak のデータ(ユーザー・チャネル設定)はどこに保存されますか? A1: 一般的に /opt/teamspeak 配下にバイナリとデータが格納されます。設定ファイルや DB(SQLite 等)を含むディレクトリをバックアップしてください。

Q2: CentOS 7 で SELinux を無効化しても大丈夫ですか? A2: 一時確認では可能ですが、本番環境では適切なポリシーを設定して SELinux を有効にして運用することを推奨します。

Q3: Docker 化した場合の注意点は? A3: 永続ボリュームのマウントとホスト側の UDP ポート公開、ファイルパーミッションの調整が必要です。


(ファイルとログの場所の例)

  • バイナリ/データ: /opt/teamspeak
  • ログ: /opt/teamspeak/logs
共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

iPhoneのホーム画面にウェブサイトを追加する方法
iPhone ガイド

iPhoneのホーム画面にウェブサイトを追加する方法

SoraでAI動画をリミックスする方法 — 完全ガイド
AIツール

SoraでAI動画をリミックスする方法 — 完全ガイド

仮想通貨トークンを取引所に上場する実務ガイド
暗号通貨

仮想通貨トークンを取引所に上場する実務ガイド

Windows Terminal の設定をバックアップ・復元する方法
ハウツー

Windows Terminal の設定をバックアップ・復元する方法

AmazonのOTPが機能しない時の完全対処法
トラブルシューティング

AmazonのOTPが機能しない時の完全対処法

Chromeで一つのウィンドウに複数アカウントを管理する方法
拡張機能

Chromeで一つのウィンドウに複数アカウントを管理する方法