Как установить сервер TeamSpeak на Debian 11
На этой странице
- Предпосылки
- Шаг 1. Настройка брандмауэра
- Шаг 2. Загрузите TeamSpeak
- Шаг 3. Создайте пользователя и каталог TeamSpeak
- Шаг 4. Запустите сервер TeamSpeak
- Шаг 5. Создание демона службы TeamSpeak
- Шаг 6. Подключение с помощью клиента TeamSpeak
- Шаг 7. Изменение пароля доступа
- Шаг 8. Установка и настройка MySQL
- Шаг 9. Обновление TeamSpeak
- Заключение
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. Если у вас есть какие-либо вопросы, задайте их в комментариях ниже.