Поиск по сайту:

Как установить сервер TeamSpeak на Debian 11


На этой странице

  1. Предпосылки
  2. Шаг 1. Настройка брандмауэра
  3. Шаг 2. Загрузите TeamSpeak
  4. Шаг 3. Создайте пользователя и каталог TeamSpeak
  5. Шаг 4. Запустите сервер TeamSpeak
  6. Шаг 5. Создание демона службы TeamSpeak
  7. Шаг 6. Подключение с помощью клиента TeamSpeak
  8. Шаг 7. Изменение пароля доступа
  9. Шаг 8. Установка и настройка MySQL
  10. Шаг 9. Обновление TeamSpeak
  11. Заключение

TeamSpeak — это кроссплатформенное программное обеспечение для голосового чата, используемое геймерами, командами и школами. Он легкий и быстрый и предлагает вам больше контроля, поскольку вы можете разместить его на своем сервере. Он предлагает безопасный и простой способ связи с людьми по всему миру. Он имеет полностью настраиваемый пользовательский интерфейс, поддерживает прямой обмен сообщениями, неограниченную передачу файлов и допускает анонимное использование.

В этом руководстве вы узнаете, как установить сервер TeamSpeak на сервер под управлением Debian 11 и подключиться к нему с помощью клиента Windows.

Предпосылки

  • A Debian 11 based server.

  • A non-root user with sudo privileges.

  • Sudo package is installed.

  • Everything is updated.

    $ sudo apt update && sudo apt upgrade
    
  • Few packages that your system needs.

    $ sudo apt install nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring wget -y
    

    Some of these packages may already be installed on your system.

Шаг 1. Настройте брандмауэр

Первым шагом является настройка брандмауэра. Debian поставляется с ufw (простой брандмауэр).

Проверьте, работает ли брандмауэр.

$ sudo ufw status

Вы должны получить следующий вывод.

Status: inactive

Разрешить порт SSH, чтобы брандмауэр не прерывал текущее соединение при его включении.

$ sudo ufw allow OpenSSH

Откройте следующие порты, необходимые TeamSpeak.

  • 9987/udp для голоса.
  • 30033/tcp для передачи файлов.
  • 10011/tcp для Serverquery (необработанный).
  • 10022/tcp для Serverquery (SSH).
  • 10080/tcp для веб-запроса (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

Вы должны увидеть аналогичный вывод.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
9987/udp                   ALLOW       Anywhere
30033/tcp                  ALLOW       Anywhere
10011/tcp                  ALLOW       Anywhere
10080/tcp                  ALLOW       Anywhere
10022/tcp                  ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
9987/udp (v6)              ALLOW       Anywhere (v6)
30033/tcp (v6)             ALLOW       Anywhere (v6)
10011/tcp (v6)             ALLOW       Anywhere (v6)
10080/tcp (v6)             ALLOW       Anywhere (v6)
10022/tcp (v6)             ALLOW       Anywhere (v6)

Шаг 2 - Загрузите TeamSpeak

Посетите страницу загрузки TeamSpeaks и обратите внимание на номер последней версии. На момент написания этого руководства v3.13.6 является последней доступной версией сервера TeamSpeak.

Используйте следующую команду для загрузки сервера TeamSpeak.

$ 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.

Первым шагом в установке 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 — Запустите сервер TeamSpeak

Следующим шагом является запуск сервера TeamSpeak для создания ключа привилегий в первый раз. Этот ключ поможет вам получить доступ к серверу в качестве администратора.

Перед запуском сервера вам необходимо войти в систему как пользователь TeamSpeak. Выполните следующую команду, чтобы войти в свою оболочку как пользователь TeamSpeak.

$ sudo -u -i ts3

Для этого мы создадим файл с именем .ts3server_license_accepted в рабочем каталоге TeamSpeaks.

$ 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
------------------------------------------------------------------

При первом запуске сервера будет создана учетная запись администратора запросов к серверу. Запишите его имя пользователя и пароль. Также запишите ключ API и сгенерированный токен привилегий. Это понадобится вам в следующих шагах.

Чтобы остановить сервер, нажмите Ctrl + C на клавиатуре.

Выйдите из системы как пользователь TeamSpeak.

$ exit

Шаг 5 — Создание демона службы TeamSpeak

Создайте файл /lib/systemd/system/ts3server.service и откройте его для редактирования.

$ 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

Включите и запустите службу TeamSpeak.

$ sudo systemctl enable ts3server --now

Проверить статус услуги.

$ sudo systemctl enable ts3server
? ts3server.service - TeamSpeak3 Server
     Loaded: loaded (/lib/systemd/system/ts3server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-03-29 08:18:17 UTC; 2s ago
    Process: 23120 ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 (code=exited, status=0/SUCCESS)
   Main PID: 23127 (ts3server)
      Tasks: 21 (limit: 2341)
     Memory: 17.3M
        CPU: 1.953s
     CGroup: /system.slice/ts3server.service
             ??23127 ./ts3server license_accepted=1  daemon=1 pid_file=ts3server.pid

Mar 29 08:18:17 teamspeak systemd[1]: Starting TeamSpeak3 Server...
Mar 29 08:18:17 teamspeak ts3server_startscript.sh[23120]: Starting the TeamSpeak 3 server
Mar 29 08:18:17 teamspeak ts3server_startscript.sh[23120]: TeamSpeak 3 server started, for details please view the log file
Mar 29 08:18:17 teamspeak systemd[1]: Started TeamSpeak3 Server.

Шаг 6. Подключитесь с помощью клиента TeamSpeak.

Загрузите и установите клиент Windows TeamSpeak 3 с официального сайта. Вы также можете загрузить последнюю бета-версию (v5) клиента, но для нашего руководства мы будем использовать более старую и стабильную версию v3.

Запустите клиент на рабочем столе, и вы увидите следующий экран после прохождения запроса лицензии.

Нажмите «Подключения» и выберите опцию «Подключиться», чтобы начать. Введите IP-адрес вашего сервера, пароль, сгенерированный на шаге 4, и псевдоним для себя.

Нажмите кнопку Подключить, чтобы продолжить. Вам будет предложено ввести ключ привилегий в следующем запросе. Введите токен привилегий из шага 4 и нажмите «ОК», чтобы продолжить.

Теперь вы подключены к своему серверу TeamSpeak и можете начать использовать клиент для связи.

Шаг 7 - Изменение пароля доступа

Вы можете изменить пароль администратора сервера на более надежный по вашему выбору. Для этого остановите службу TeamSpeak.

$ sudo systemctl stop ts3server

Переключитесь на пользователя TeamSpeak.

$ sudo -i -u ts3

Запустите сервер TeamSpeak и добавьте в команду параметр serveradmin_password.

$ ./ts3server_startscript.sh start serveradmin_password=password
Starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file

Замените password надежным паролем по вашему выбору.

Снова остановите сервер.

$ ./ts3server_startscript.sh stop
Stopping the TeamSpeak 3 server .
done

Вернитесь к своей учетной записи пользователя.

$ exit

Запустите службу TeamSpeak снова.

$ sudo systemctl start ts3server

Шаг 8 — Установка и настройка MySQL

TeamSpeak по умолчанию использует базу данных SQLite для хранения всех коммуникационных и пользовательских данных. Хотя это нормально для небольшого сообщества, это может стать проблемой, если вы используете TeamSpeak для размещения большего количества пользователей. К счастью, TeamSpeak можно настроить для использования базы данных MySQL или PostgreSQL.

Мы настроим его для использования с сервером MySQL.

Установите сервер MariaDB, который является заменой MySQL, поскольку Debian не поставляется с MySQL 8 по умолчанию.

$ sudo apt install mariadb-server -y

Установщик запустится и включит для вас службу Mariadb. Вы можете проверить статус услуги.

$ sudo systemctl status mariadb

Запустите скрипт безопасности для 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

Создайте пользователя ts3user. Замените ваш_пароль надежным паролем по вашему выбору.

mysql> CREATE USER 'ts3user'@'localhost' IDENTIFIED BY 'your_password';

Создайте базу данных teamspeak3.

mysql> CREATE DATABASE teamspeak3;

Предоставьте пользователю права доступа к базе данных teamspeak3.

mysql> GRANT ALL PRIVILEGES ON teamspeak3.* TO 'ts3user'@'localhost';

Выйдите из оболочки.

mysql> exit

Переключитесь на пользователя TeamSpeak.

$ sudo -i -u ts3

Первым шагом к настройке MariaDB для работы с TeamSpeak является добавление библиотеки MariaDB. Вы можете найти его в папке /opt/teamspeak/redist.

Создайте символическую ссылку для библиотеки из папки redist в основной рабочий каталог.

$ ln -s /opt/teamspeak-server/redist/libmariadb.so.2 /opt/teamspeak-server/libmariadb.so.2

Выполните следующую команду, чтобы распечатать общие библиотеки, необходимые TeamSpeak.

$ ldd /opt/teamspeak3-server/libts3db_mariadb.so

Создайте конфигурационный файл для хранения параметров базы данных и откройте его для редактирования.

$ nano ts3db_mariadb.ini

Вставьте в него следующий код.

[config]
host=127.0.0.1
port=3306
username=ts3user
password=your_password
database=teamspeak3
socket=

Используйте учетные данные базы данных, созданные выше. Закройте файл, нажав Ctrl + X и введя Y при появлении запроса.

Создайте файл конфигурации для 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

Закройте файл, нажав Ctrl + X и введя Y при появлении запроса. Чтобы узнать об этих параметрах конфигурации, вы можете обратиться к файлу server_quickstart.md, доступному в папке doc. Приведенный выше файл настраивает TeamSpeak для использования MariaDB вместо базы данных SQLite.

Выйдите из оболочки TeamSpeak.

$ exit

Нам нужно указать серверу TeamSpeak использовать только что созданный файл конфигурации. Остановите и отключите службу TeamSpeak.

$ sudo systemctl stop ts3server && sudo systemctl disable ts3server

Откройте файл службы.

$ sudo nano /lib/systemd/system/ts3server.service

Найдите строку ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 и измените ее, добавив сведения о файле конфигурации, как показано ниже.

....
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini
....

Закройте файл, нажав Ctrl + X и введя Y при появлении запроса.

Перезагрузите демон службы, чтобы применить изменения.

$ sudo systemctl daemon-reload

Включите и запустите службу TeamSpeak.

$ sudo systemctl enable ts3server --now

Проверьте состояние сервера.

$ sudo systemctl status ts3server
? ts3server.service - TeamSpeak3 Server
     Loaded: loaded (/lib/systemd/system/ts3server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-03-29 12:21:22 UTC; 6s ago
    Process: 26511 ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini (code=exited, status=0/SUCCESS)
   Main PID: 26518 (ts3server)
      Tasks: 21 (limit: 2341)
     Memory: 16.0M
        CPU: 1.818s
     CGroup: /system.slice/ts3server.service
             ??26518 ./ts3server license_accepted=1 inifile=ts3server.ini  daemon=1 pid_file=ts3server.pid

Mar 29 12:21:23 teamspeak ts3server_startscript.sh[26518]:          apikey= "BAA_lDBRBQxy2nPJXwPQvTRk9_sX3o403Ktlbjz"
Mar 29 12:21:23 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:                       I M P O R T A N T
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:       ServerAdmin privilege key created, please use it to gain
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:       serveradmin rights for your virtualserver. please
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:       also check the doc/privilegekey_guide.txt for details.
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:        token=kuFsCpz8G7204KiYgQJR8X8orHR+C8OrSv21MZRw
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------

Это приведет к воссозданию ключа привилегий. В следующий раз, когда вы войдете на свой сервер, вам будет предложено это сделать. Однако ваш пароль администратора сервера останется прежним.

Шаг 9 — Обновление TeamSpeak

Первым шагом к обновлению сервера TeamSpeak является его остановка.

$ sudo systemctl stop ts3server

Загрузите последнюю версию с официального сайта и распакуйте архив в каталог /opt/teamspeak, перезаписав исходные файлы, выполнив шаги 2 и 3 из руководства. Убедитесь, что вы изменили разрешение извлеченной папки.

Как только вы закончите, снова запустите сервер.

$ sudo systemctl start ts3server

Заключение

На этом мы завершаем наше руководство по установке и использованию TeamSpeak Server на сервере под управлением Debian 11. Если у вас есть какие-либо вопросы, задайте их в комментариях ниже.