Установка TeamSpeak 3 на Debian 11: пошаговый гид

Введение
TeamSpeak — кроссплатформенное голосовое приложение для геймеров, команд и образовательных учреждений. Оно лёгкое, быстрое и даёт больше контроля, так как вы можете хостить сервер на своём хосте. TeamSpeak поддерживает персонализацию интерфейса, личные сообщения, неограниченную передачу файлов и возможность анонимного подключения.
Этот материал научит вас установить сервер TeamSpeak на сервер с Debian 11 и подключиться к нему с помощью клиента под Windows. Руководство ориентировано на администратора сервера с доступом sudo.
Important: сохраняйте генерируемые ключи и пароли при первом запуске — они нужны для получения прав администратора.
Что нужно до начала
- Сервер под Debian 11.
- Нерутовый пользователь с привилегиями sudo.
- Пакет sudo установлен.
- Система обновлена.
$ sudo apt update && sudo apt upgrade- Установите набор базовых утилит (часть может быть уже установлена).
$ sudo apt install nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring wget -yПлан действий (коротко)
- Настроить ufw и открыть порты TeamSpeak.
- Загрузить архив TeamSpeak и распаковать.
- Создать системного пользователя ts3 и разместить файлы в /opt/teamspeak.
- Запустить сервер для генерации привилегий и токенов.
- Создать systemd-сервис для автозапуска.
- Подключиться из клиента Windows и использовать привилегированный токен.
- По желанию: переключить хранилище на MariaDB.
- Резервирование и безопасность.
Шаг 1 — Настройка файервола
Debian обычно использует ufw (Uncomplicated Firewall). Проверьте статус:
$ sudo ufw statusОжидаемый вывод:
Status: inactiveРазрешите SSH, чтобы не потерять доступ после включения файервола:
$ sudo ufw allow OpenSSHОткройте порты, необходимые TeamSpeak:
- 9987/udp — голосовые пакеты.
- 30033/tcp — передача файлов.
- 10011/tcp — ServerQuery (RAW).
- 10022/tcp — ServerQuery (SSH).
- 10080/tcp — Webquery (HTTP).
$ sudo ufw allow 9987/udp
$ sudo ufw allow 30033/tcp
$ sudo ufw allow 10011/tcp
$ sudo ufw allow 10022/tcp
$ sudo ufw allow 10080/tcpВключите файервол:
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startupПроверьте статус снова:
$ sudo ufw statusОжидаемый пример вывода содержит перечисленные правила ALLOW для IPv4 и IPv6.
Important: если вы используете управляющую панель (например, облачный провайдер), убедитесь, что внешняя сеть/ACL тоже пропускает нужные порты.
Шаг 2 — Загрузка TeamSpeak
Перейдите на страницу загрузок TeamSpeak и посмотрите актуальную версию. В примере использовалась v3.13.6.
$ TVERSION=3.13.6
$ wget https://files.teamspeak-services.com/releases/server/${TVERSION}/teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2Распакуйте архив:
$ tar -xf ./teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2Шаг 3 — Создание пользователя и перемещение файлов
Создайте системного пользователя для TeamSpeak, домашний каталог укажем /opt/teamspeak, пароля у пользователя не будет:
$ sudo adduser ts3 --home /opt/teamspeak --shell /bin/bash --disabled-passwordПеренесите распакованные файлы в /opt/teamspeak:
$ sudo mv teamspeak3-server_linux_amd64/* /opt/teamspeak/Установите владельца каталога:
$ sudo chown -R ts3:ts3 /opt/teamspeakСовет: по желанию создайте отдельное хранилище для логов и бэкапов и добавьте его в исключения бэкапа.
Шаг 4 — Первый запуск сервера
Первый запуск создаёт учётную запись Server Query Admin и привилегированный токен (privilege key). Войдите от имени ts3:
$ sudo -u -i ts3Подтвердите лицензию (создайте файл):
$ touch .ts3server_license_acceptedЗапустите сервер:
$ ./ts3server_startscript.sh startПри старте вы увидите блок с важной информацией, например:
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
Server Query Admin Account created
loginname= "serveradmin", password= "BtXdJaCb"
apikey= "BAD8rYVPM61p_-TdrsBqEL_8ZxKzEHIKOkUk6_e"
------------------------------------------------------------------
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
ServerAdmin privilege key created, please use it to gain
serveradmin rights for your virtualserver. please
also check the doc/privilegekey_guide.txt for details.
token=WIRagRYXkCnWqM5g7gBoSgcHHpfgLG9w17pcLORy
------------------------------------------------------------------Скопируйте и сохраните логины, пароль, apikey и token — без них вы не получите права администратора.
Чтобы временно остановить сервер в интерактивной сессии, нажмите Ctrl + C, затем выйдите из учётной записи ts3:
$ exitСовет по безопасности: храните эти ключи в безопасном менеджере паролей.
Шаг 5 — Создание systemd-службы
Создайте файл службы:
$ sudo nano /lib/systemd/system/ts3server.serviceВставьте содержимое:
[Unit]
Description=TeamSpeak3 Server
Wants=network-online.target
After=syslog.target network.target local-fs.target
[Service]
WorkingDirectory=/opt/teamspeak
User=ts3
Group=ts3
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
ExecReload=/opt/teamspeak/ts3server_startscript.sh restart
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.targetСохраните и закройте (Ctrl+X, Y).
Примените изменения:
$ sudo systemctl daemon-reload
$ sudo systemctl enable ts3server --nowПроверьте статус:
$ sudo systemctl status ts3serverОжидается вывод с Active: active (running) и PID процесса ts3server.
Шаг 6 — Подключение с клиента TeamSpeak (Windows)
Скачайте клиент TeamSpeak 3 для Windows с официального сайта. После установки и прохождения лицензионного запроса вы увидите стартовый экран клиента.

В клиенте откройте Connections → Connect. Введите IP адрес сервера, сгенерированный пароль (из вывода при старте) и ваш никнейм.

Нажмите Connect. Клиент попросит привилегированный ключ. Вставьте token, который был сгенерирован на первом запуске.

Если всё введено верно, вы подключитесь и получите админские права на виртуальном сервере.

Совет: измените ник и настройте каналы до открытия публичного доступа.
Шаг 7 — Смена пароля администратора
Остановите службу:
$ sudo systemctl stop ts3serverПереключитесь на пользователя ts3:
$ sudo -i -u ts3Запустите сервер с параметром serveradmin_password, чтобы задать новый пароль:
$ ./ts3server_startscript.sh start serveradmin_password=passwordЗамените password на надёжный пароль. Остановите сервер:
$ ./ts3server_startscript.sh stopВыйдите из-под ts3 и запустите службу снова:
$ exit
$ sudo systemctl start ts3serverВажно: serveradmin_password меняет только пароль учётной записи serveradmin, но не привилегированный токен.
Шаг 8 — Установка и настройка MariaDB (опционально)
По умолчанию TeamSpeak использует SQLite. Для больших сообществ рекомендуется использовать MySQL/MariaDB.
Установите MariaDB:
$ sudo apt install mariadb-server -yПроверьте статус службы:
$ sudo systemctl status mariadbЗапустите сценарий безопасности:
$ sudo mysql_secure_installationПример рекомендуемых ответов в интерактивном режиме:
Enter current password for root (enter for none): (Press Enter)
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] YВойдите в MySQL и создайте пользователя и базу данных:
$ sudo mysql
mysql> CREATE USER 'ts3user'@'localhost' IDENTIFIED BY 'your_password';
mysql> CREATE DATABASE teamspeak3;
mysql> GRANT ALL PRIVILEGES ON teamspeak3.* TO 'ts3user'@'localhost';
mysql> exitЗамените your_password на надёжный пароль.
Переключитесь на пользователя ts3 и создайте символическую ссылку на библиотеку MariaDB (путь может отличаться в зависимости от версии TeamSpeak):
$ sudo -i -u ts3
$ ln -s /opt/teamspeak-server/redist/libmariadb.so.2 /opt/teamspeak-server/libmariadb.so.2Проверьте зависимости библиотеки (пример команды для проверки):
$ ldd /opt/teamspeak3-server/libts3db_mariadb.soСоздайте файл параметров подключения к MariaDB:
$ nano ts3db_mariadb.iniВставьте:
[config]
host=127.0.0.1
port=3306
username=ts3user
password=your_password
database=teamspeak3
socket=Сохраните.
Создайте конфигурацию сервера TeamSpeak:
$ nano ts3server.iniВставьте пример:
machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
licensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
query_ip_whitelist=query_ip_whitelist.txt
query_ip_blacklist=query_ip_blacklist.txt
dbsqlpath=sql/
dbplugin=ts3db_mariadb
dbsqlcreatepath=create_mariadb/
dbpluginparameter=ts3db_mariadb.ini
dbconnections=10
logpath=logs
logquerycommands=0
dbclientkeepdays=30
logappend=0
query_skipbruteforcecheck=0Файл указывает TeamSpeak использовать MariaDB вместо SQLite.
Выйдите из-под ts3:
$ exitОстановите и отключите службу TeamSpeak, отредактируйте systemd-файл, чтобы сервис запускал сервер с указанием inifile=ts3server.ini:
$ sudo systemctl stop ts3server && sudo systemctl disable ts3server
$ sudo nano /lib/systemd/system/ts3server.serviceНайдите строку ExecStart и измените её, добавив inifile=ts3server.ini:
ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.iniСохраните, затем:
$ sudo systemctl daemon-reload
$ sudo systemctl enable ts3server --now
$ sudo systemctl status ts3serverПри старте будет сгенерирован новый privilege token для виртуального сервера.
Note: смена базы данных влияет на хранение пользователей и канальных данных. Сделайте бэкап перед миграцией.
Шаг 9 — Обновление TeamSpeak
Процесс обновления:
- Остановите службу:
$ sudo systemctl stop ts3server- Загрузите новую версию и распакуйте в /opt/teamspeak, перезаписав файлы (шаги 2 и 3).
- Проверьте права доступа и владельца каталога.
- Запустите службу:
$ sudo systemctl start ts3serverВсегда делайте тестовую установку на копии перед обновлением продакшн-сервера.
Безопасность и жесткая настройка (Security hardening)
- Отключите удалённый root-доступ k MariaDB (мы это сделали в mysql_secure_installation).
- Используйте fail2ban для защиты от брутфорса на портах ServerQuery.
- Ограничьте доступ к портам ServerQuery и Webquery по whitelist IP, если возможно.
- Регулярно обновляйте систему и TeamSpeak.
- Храните привилегированные токены и пароли в менеджере паролей.
- Рассмотрите запуск TeamSpeak за обратным прокси (reverse proxy) для Webquery с TLS если используете веб-интерфейсы.
Резервное копирование и восстановление
Рекомендуется копировать:
- Папку /opt/teamspeak (конфиги, плагины, логи).
- Базу данных (если используется MariaDB) дампом:
$ mysqldump -u ts3user -p teamspeak3 > teamspeak3-$(date +%F).sqlВосстановление:
$ mysql -u ts3user -p teamspeak3 < teamspeak3-YYYY-MM-DD.sqlКритерии приёмки
- Служба systemd в статусе active (running).
- Порты 9987/udp, 30033/tcp и 10011/tcp открыты и доступны с клиентской машины.
- Можно подключиться из клиента и получить права администратора с помощью privilege token.
- Логи не содержат критических ошибок при старте.
Быстрый чек-лист администратора (Role-based checklist)
Для оператора сервера:
- Установлен и настроен ufw.
- Создан пользователь ts3 и корректные права на /opt/teamspeak.
- Служба systemd включена и запущена.
- Сохранены login/password, apikey и privilege token.
- Настроены регулярные бэкапы.
Для администратора сообщества:
- Установлен и изменён пароль serveradmin.
- Проверены права каналов и пользователей.
- Привязаны правила доступа по IP при необходимости.
План отката и инцидентный runbook
- Если после обновления сервер не стартует — верните старые файлы из бэкапа /opt/teamspeak и перезапустите службу.
- При потере доступа admin: восстановите привилегированный token через логи старого запуска (если есть) или восстановите базу из бэкапа до момента, когда токен ещё был валиден.
- При компрометации паролей — смените пароли MariaDB, serveradmin и пересоздайте привилегированные токены.
Частые проблемы и решения
- Не запускается служба systemd: проверьте journalctl -u ts3server, права на /opt/teamspeak, корректность ExecStart.
- Клиент не может подключиться: проверьте ufw, внешние ACL провайдера, NAT/портфорвардинг и UDP 9987.
- Проблемы с MariaDB: убедитесь, что библиотека libmariadb доступна и dbpluginparameter указывает на правильный ini-файл.
Мини‑методология обновлений
- На тестовом сервере выполните обновление и проверку (1–2 часа теста).
- Сделайте бэкап файлов и базы данных в продакшне.
- Выполните обновление в рабочем окне с уведомлением пользователей.
- Проверяйте логи и подключение клиентов.
- Откат при критических ошибках.
Короткий справочник терминов
- ServerQuery — консольный интерфейс управления TeamSpeak.
- Privilege token — временный ключ для получения прав serveradmin на виртуальном сервере.
- apikey — программный ключ для API.
- virtualserver — отдельный логический сервер внутри TeamSpeak.
- ts3server — основной исполняемый бинарный файл TeamSpeak-сервера.
Шпаргалка команд (cheat sheet)
- Запустить/остановить/статус службы:
$ sudo systemctl start|stop|status ts3server- Просмотреть логи службы:
$ sudo journalctl -u ts3server -f- Остановить службу и обновить бинарные файлы:
$ sudo systemctl stop ts3server
# заменить файлы в /opt/teamspeak
$ sudo chown -R ts3:ts3 /opt/teamspeak
$ sudo systemctl start ts3server- Дамп базы MariaDB:
$ mysqldump -u ts3user -p teamspeak3 > teamspeak3.sqlЗаключение
Вы установили TeamSpeak 3 на Debian 11, настроили файервол, создали службу systemd, подключились с клиента и при необходимости переключили хранение данных на MariaDB. Следите за обновлениями, делайте регулярные бэкапы и ограничивайте доступ к административным интерфейсам.
Если у вас остались вопросы или нужна помощь с конкретной ошибкой — опишите шаги и приложите фрагмент лога.
Краткое резюме:
- Установка и запуск TeamSpeak на Debian 11 требует минимальных административных действий.
- Обязательно сохраните сгенерированные токены и пароли при первом запуске.
- Для больших сообществ рекомендуется MariaDB; не забудьте про бэкапы и безопасность.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента