Cum să găzduiești un server TeamSpeak pe Linux

Ești un pasionat de Linux care caută o soluție de chat vocal, dar nu vrei să te bazezi pe platforme cloud precum Discord? Dacă ai un server personal, ar fi o idee bună să analizezi posibilitatea unei soluții personalizate în loc să găzduiești un server TeamSpeak.

Crearea unui nou utilizator

Primul pas în configurarea unui server TeamSpeak pe Linux este crearea unui utilizator dedicat care să ruleze software-ul în siguranță. Deschide o fereastră de terminal și utilizează comanda sudo pentru a obține acces root. Acest nivel de acces va simplifica interacțiunea cu serverul și va permite executarea diferitelor comenzi de nivel root.

sudo -s

Acum că avem acces root, vom folosi comanda `adduser` pentru a crea un utilizator nou. Este important de reținut că vom folosi opțiunea `–disabled-login`, deoarece noul utilizator nu ar trebui să aibă niciodată permisiunea de a se conecta la sistem.

adduser --disabled-login teamspeak
usermod -a -G teamspeak teamspeak

Nu este necesar să adaugi o parolă utilizatorului, sistemul se va ocupa de restul. Acum putem trece la descărcarea software-ului serverului.

Instalarea serverului TeamSpeak

Software-ul serverului TeamSpeak este proprietar, ceea ce înseamnă că nicio distribuție Linux uzuală nu îl poate include legal și nu îl poate face ușor de instalat. Prin urmare, utilizatorii trebuie să îl descarce manual de pe site-ul oficial. Accesează site-ul oficial și selectează versiunea corectă pentru procesorul tău. TeamSpeak oferă suport oficial atât pentru arhitectura pe 32 de biți, cât și pe 64 de biți. După descărcare, transferă fișierul pe server prin FTP, Samba sau altă metodă similară. Alternativ, dacă nu vrei să transferi fișierul, poți folosi comanda `wget` pentru a-l descărca direct pe server.

Pentru a obține cea mai recentă versiune a serverului TeamSpeak, navighează la directorul de lansări, fă clic dreapta pe cea mai nouă versiune, alege „Copiază locația linkului” și apoi execută următoarele comenzi:

wget https://dl.4players.de/ts/releases/3.1.1/teamspeak3-server_linux_amd64-3.1.1.tar.bz2

sau

wget https://dl.4players.de/ts/releases/3.1.1/teamspeak3-server_linux_x86-3.1.1.tar.bz2

Folosind comanda `tar`, extrage conținutul arhivei cu software-ul serverului TeamSpeak.

tar -xvf teamspeak3-server_linux_*.tar.bz2
rm *.tar.bz2

Utilizează comanda `chown` pentru a acorda permisiuni depline noului utilizator creat anterior. Este crucial să schimbi proprietarul folderului, deoarece utilizatorul Teamspeak trebuie să poată utiliza software-ul corect, fără erori.

Notă: Din motive de securitate, nu rula niciodată serverul TS3 ca root.

mv teamspeak3-server_linux_* /usr/local/teamspeak
chown -R teamspeak:teamspeak /usr/local/teamspeak
cd /usr/local/teamspeak

Utilizând comanda `touch`, creează un fișier care să notifice software-ul serverului că ai acceptat termenii și condițiile licenței.

touch .ts3server_license_accepted

Apoi, creează un fișier de serviciu `systemd` personalizat pentru TeamSpeak.

cd /etc/systemd/system
echo '' > teamspeak3.service
nano teamspeak3.service

Lipește codul de mai jos în editorul de text Nano și salvează fișierul folosind Ctrl + O.

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

[Service]
WorkingDirectory=/usr/local/teamspeak/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/usr/local/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/usr/local/teamspeak/ts3server_startscript.sh stop
PIDFile=/usr/local/teamspeak/ts3server.pid
RestartSec=15
Restart=always

[Install]
WantedBy=multi-user.target

Pornește și activează noul fișier `teamspeak3.service` utilizând comenzile instrumentului `systemd`:

systemctl enable teamspeak3
systemctl start teamspeak3

Poți reporni serverul oricând prin intermediul `systemd`, folosind următoarea comandă:

systemctl stop teamspeak3

Dezactivează complet serverul cu:

systemctl disable teamspeak3

Autentificarea

Partea dificilă a instalării serverului TeamSpeak3 a fost finalizată. Acum, tot ce mai rămâne este să obții cheia de administrator (cunoscută și ca token de privilegiu). Acest token este generat aleatoriu la prima pornire a software-ului serverului. Pentru a obține tokenul, va trebui să deschizi clientul TeamSpeak3 și să te conectezi la server. La prima conectare, ar trebui să fii solicitat să introduci o „cheie de privilegiu”. Dacă nu vezi solicitarea de introducere a cheii, va trebui să cauți setările serverului și să selectezi această opțiune.

Utilizează această comandă pentru a localiza automat tokenul de administrator al serverului TeamSpeak și a-l salva într-un fișier:

cat /usr/local/teamspeak/logs/* | grep "token"

Copiază șirul de caractere care urmează imediat după „token=” și adaugă-l după `echo` între apostrofe simple:

echo 'token string' > /usr/local/teamspeak/admin-token.txt

Salvarea tokenului în acest fel va asigura păstrarea fișierului într-un loc sigur.

Poți vizualiza fișierul text cu tokenul folosind comanda `cat`:

cat /usr/local/teamspeak/admin-token.txt

Pentru a acorda acces de administrator unui utilizator, copiază și lipește conținutul fișierului în promptul corespunzător.

Reține că pentru fiecare administrator, poate fi necesar să generezi un nou token de privilegiu. Te rugăm să consulți site-ul web și manualul TeamSpeak pentru a afla cum poți face acest lucru.

Dezinstalarea serverului TeamSpeak

TeamSpeak este un software bun, dar unii utilizatori preferă să evite complexitatea pe care o poate genera. Dacă ai testat software-ul și ai decis că nu mai vrei un server TeamSpeak, trebuie doar să urmezi acești pași și vei afla cum poți dezinstala complet software-ul.

Mai întâi, folosește `systemd` pentru a dezactiva și opri serviciul TeamSpeak:

sudo systemctl disable teamspeak3 -f
sudo systemctl stop teamspeak3

Apoi, șterge fișierul de serviciu `systemd` personalizat, creat la configurare:

sudo rm /etc/systemd/system/teamspeak3.service

După aceea, șterge software-ul de pe server:

sudo rm -rf /usr/local/teamspeak/

În cele din urmă, șterge grupul și utilizatorul TeamSpeak:

sudo userdel -r teamspeak
sudo groupdel teamspeak

Executarea tuturor acestor comenzi ar trebui să elimine toate referințele la TeamSpeak de pe server. Comanda `sudo` ar trebui să funcționeze, dar dacă întâmpini probleme, încearcă să elimini comanda `sudo` din fiecare dintre comenzile de mai sus și, în schimb, obține acces root în prealabil (`sudo -s`).