SCROLL
Среднее время на прочтение: 3 мин.

Установка TeamSpeak Server на Debian 11

TeamSpeak — компьютерная программа, предназначенная для голосового общения в сети Интернет посредством технологии VoIP.

Я будучи любителем поиграть в PUBG столкнулся с проблемой общения с сокланами через Discord, так как РКН ограничил его работу в РФ. Стал вопрос как и где собственно вести голосовой обмен во время игры. Вспомнился старый добрый TeamSpeak и то что его можно развернуть на персональном VDS и в рамах свободной лицензии использовать его до 32 человек одновременно.

Ниже опишу как развернуть свой TeamSpeak сервер на Debian 11.

Установка и настройка MySQL

По умолчанию TeamSpeak использует базу данных SQLite для хранения коммуникационных и пользовательских данных. Вместо SQLite будем использовать MySQL, устанавливаем СУБД MariaDB и выполняем ее первоначальную настройку безопасности.

apt-get install mariadb-server -y && mysql_secure_installation
В ходе выполнения скрипта mysql_secure_installation — будет ряд вопросов на которые необходимо ответь как предложено по-умолчанию, за исключением задания пароля от root.

Входим в оболочку MySQL как пользователь root. Создайте нового пользователя для TeamSpeak и предоставьте ему доступ к новой базе данных:

mariadb

CREATE USER 'ts3user'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE teamspeak3;
GRANT ALL PRIVILEGES ON teamspeak3.* TO 'ts3user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Замените «password» на надежный пароль для пользователя ts3user.

Установка TeamSpeak

Создаем пользователя от которого будет работать TeamSpeak служба.

useradd -r -M -U -s /usr/sbin/nologin -c "TeamSpeak User" ts3user

Скачиваем архив Teamspeak 3 Server, распаковываем его, переименовываем распакованный каталог в понятное имя и переходим в него.

wget -P /opt https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2

cd /opt
tar xfvj teamspeak3-server_linux_amd64-3.13.7.tar.bz2

mv teamspeak3-server_linux_amd64 ts3server
cd ts3server
Оф. страница загрузки — https://www.teamspeak.com/en/downloads/#server

Применяем надлежащие разрешения для каталога Teamspeak сервера.

chown -R ts3user:ts3user /opt/ts3server

Принимаем серверную лицензию TeamSpeak. Создаем файл с именем .ts3server_license_accepted в рабочем каталоге TeamSpeak.

touch .ts3server_license_accepted

Создаем символическую ссылку для библиотеки MariaDB.

ln -s /opt/ts3server/redist/libmariadb.so.2 /opt/ts3server/libmariadb.so.2

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

ldd /opt/ts3server/libts3db_mariadb.so

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

/opt/ts3server/ts3db_mariadb.ini
[config]
host=localhost
port=3306
username=ts3user
password=password
database=teamspeak3
socket=/var/run/mysqld/mysqld.sock
Замените «password» на тот пароль который задавали при создании пользователя ts3user в MySQL.

Создаем файл конфигурации /opt/ts3server/ts3server.ini для TeamSpeak.

/opt/ts3server/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_allowlist=query_ip_whitelist.txt
query_ip_denylist=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.

cat << EOF > /lib/systemd/system/ts3server.service
[Unit]
Description=TeamSpeak3 Server
Wants=network-online.target
After=syslog.target network.target local-fs.target

[Service]
WorkingDirectory=/opt/ts3server
User=ts3user
Group=ts3user
Type=forking
ExecStart=/opt/ts3server/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini
ExecStop=/opt/ts3server/ts3server_startscript.sh stop
ExecReload=/opt/ts3server/ts3server_startscript.sh restart
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target
EOF

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

systemctl daemon-reload

Включаем службу TeamSpeak в автозапуск и запускаем ее и выведем статус.

systemctl enable ts3server
systemctl start ts3server

systemctl status ts3server

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

journalctl -xe -u ts3server | grep password
journalctl -xe -u ts3server | grep token
Запишите результаты и сохраните их в надежном месте. Токен понадобится при первом входе на ваш сервер TeamSpeak.

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

Если вы хотите изменить пароль администратора вашего сервера TeamSpeak, выполните следующие действия.

Останавливаем TeamSpeak сервер.

systemctl stop ts3server

Переходим в каталог TeamSpeak сервера и запускаем его с параметром serveradmin_password.

cd /opt/ts3server
sudo -u ts3user ./ts3server_startscript.sh start serveradmin_password=new_password
Замените new_password надежным паролем по вашему выбору.

Останавливаем TeamSpeak сервер.

sudo -u ts3user ./ts3server_startscript.sh stop

Запускаем TeamSpeak сервер в обычном режиме.

systemctl start ts3server

Настройка Firewall

Для настройки брандмауэра на сервере Debian, воспользуемся пакетом ufw для управления правилами брандмауэра.

Устанавливаем брандмауэр.

apt-get install ufw -y

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

ufw allow OpenSSH
ufw allow 9987/udp
ufw allow 30033/tcp
ufw allow 10011/tcp
ufw allow 10022/tcp
ufw allow 10080/tcp

Включаем брандмауэр.

ufw enable

Обсуждение

0 комментариев

Нет комментариев.