Wie man TeamSpeak 3 Server unter Debian 11 installiert
TeamSpeak ist eine plattformübergreifende Voice-Chat-Software, die von Spielern, Teams und Schulen genutzt wird. Sie ist leicht und schnell und bietet dir mehr Kontrolle, da du sie auf deinem Server hosten kannst. Sie bietet eine sichere und einfache Möglichkeit, sich mit Menschen auf der ganzen Welt zu verbinden. Es hat eine vollständig anpassbare Benutzeroberfläche, unterstützt Direktnachrichten, unbegrenzten Dateitransfer und ermöglicht eine anonyme Nutzung.
In diesem Tutorial lernst du, wie du den TeamSpeak-Server (Linux Teamspeak Server) auf einem Debian 11-basierten Server installierst und dich mit einem Windows-Client mit ihm verbindest.
Voraussetzungen
- Ein Debian 11 basierter Server (amd64 oder 32 Bit)
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
- Das Sudo-Paket ist installiert.
- Alles ist auf dem neuesten Stand.
$ sudo apt update && sudo apt upgrade
- Einige wenige Pakete, die dein System benötigt.
$ sudo apt install nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring wget -y
Einige dieser Pakete sind vielleicht schon auf deinem System installiert.
Schritt 1 – Firewall konfigurieren
Der erste Schritt besteht darin, die Firewall zu konfigurieren. Debian wird mit ufw (Uncomplicated Firewall) ausgeliefert.
Überprüfe, ob die Firewall läuft.
$ sudo ufw status
Du solltest die folgende Ausgabe erhalten.
Status: inactive
Erlaube den SSH-Port, damit die Firewall die aktuelle Verbindung nicht unterbricht, wenn du sie aktivierst.
$ sudo ufw allow OpenSSH
Öffne die folgenden von TeamSpeak (ts3 Server) benötigten Ports.
- 9987/udp für Sprache.
- 30033/tcp für die Dateiübertragung.
- 10011/tcp für Serverabfrage (Raw).
- 10022/tcp für Serverabfrage (SSH).
- 10080/tcp für Webabfrage (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
Aktiviere die Firewall
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
Überprüfe erneut den Status der Firewall.
$ sudo ufw status
Du solltest eine ähnliche Ausgabe sehen.
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)
Schritt 2 – TeamSpeak herunterladen
Besuche die Download-Seite von TeamSpeak und achte auf die aktuelle Versionsnummer. Zum Zeitpunkt dieses Tutorials ist v3.13.6 die neueste Version des TeamSpeak-Servers.
Verwende den folgenden Befehl, um den TeamSpeak-Server herunterzuladen.
$ TVERSION=3.13.6 $ wget https://files.teamspeak-services.com/releases/server/${TVERSION}/teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2
Entpacke das heruntergeladene Archiv.
$ tar -xf ./teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2
Schritt 3 – TeamSpeak-Benutzer und -Verzeichnis erstellen
Der erste Schritt bei der Installation von TeamSpeak besteht darin, einen Benutzer für den Server anzulegen. Der Benutzer hat sein Home-Verzeichnis unter /opt/teamspeak
und hat kein Passwort.
$ sudo adduser ts3 --home /opt/teamspeak --shell /bin/bash --disabled-password
Jetzt können wir das extrahierte Verzeichnis in das Verzeichnis /opt/teamspeak
verschieben.
$ sudo mv teamspeak3-server_linux_amd64/* /opt/teamspeak/
Erteile dem Verzeichnis die richtigen Berechtigungen.
$ sudo chown -R ts3:ts3 /opt/teamspeak
Schritt 4 – TeamSpeak-Server starten
Der nächste Schritt besteht darin, den TeamSpeak-Server zu starten, um zum ersten Mal einen Privilegeschlüssel zu erstellen. Mit diesem Schlüssel kannst du als Administrator auf den Server zugreifen.
Bevor du den Server startest, musst du dich als TeamSpeak-Benutzer anmelden. Führe den folgenden Befehl aus, um dich als TeamSpeak-Benutzer in deiner Shell anzumelden.
$ sudo -u -i ts3
Dazu erstellen wir eine Datei namens .ts3server_license_accepted
im Arbeitsverzeichnis von TeamSpeak.
$ touch .ts3server_license_accepted
Führe den folgenden Befehl aus, um den Server zu starten.
$ ./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 ------------------------------------------------------------------
Wenn du den Server zum ersten Mal startest, wird ein Server Query Administrator-Konto erstellt. Notiere dir den Benutzernamen und das Passwort. Notiere dir auch den API-Schlüssel und das erzeugte Privileg-Token. Du wirst sie in den nächsten Schritten benötigen.
Um den Server anzuhalten, drücke Strg + C auf deiner Tastatur.
Melde dich als TeamSpeak-Benutzer ab.
$ exit
Schritt 5 – TeamSpeak Service Daemon erstellen
Erstelle die Datei /lib/systemd/system/ts3server.service
und öffne sie zum Bearbeiten.
$ sudo nano /lib/systemd/system/ts3server.service
Füge den folgenden Code in die Datei ein.
[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
Schließe die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Lade den Service-Daemon neu.
$ sudo systemctl daemon-reload
Aktiviere und starte den TeamSpeak-Dienst.
$ sudo systemctl enable ts3server --now
Überprüfe den Status des Dienstes.
$ 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.
Schritt 6 – Verbinden mit dem TeamSpeak-Client
Lade den Windows TeamSpeak 3 Client von der offiziellen Website herunter und installiere ihn. Du kannst auch die neueste Beta-Version (v5) des Clients herunterladen, aber für unser Tutorial werden wir die ältere und stabile v3 verwenden.
Starte den Client auf deinem Desktop. Nachdem du die Lizenzabfrage durchlaufen hast, siehst du den folgenden Bildschirm.
Klicke auf Verbindungen und wähle die Option Verbinden, um loszulegen. Gib die IP-Adresse deines Servers, das in Schritt 4 erstellte Passwort und einen Spitznamen für dich ein.
Klicke auf die Schaltfläche Verbinden, um fortzufahren. In der nächsten Aufforderung wirst du aufgefordert, den Privilegeschlüssel einzugeben. Gib den Privilegeschlüssel aus Schritt 4 ein und klicke auf Ok, um fortzufahren.
Du bist jetzt mit deinem TeamSpeak-Server verbunden und kannst den Client für die Kommunikation nutzen.
Schritt 7 – Ändern des Zugangspassworts
Du kannst das Passwort des Server-Administrators in ein stärkeres Passwort deiner Wahl ändern. Dazu musst du den TeamSpeak-Dienst beenden.
$ sudo systemctl stop ts3server
Wechsle zum TeamSpeak-Benutzer.
$ sudo -i -u ts3
Starte den TeamSpeak-Server und füge den Parameter serveradmin_password
in deinem Befehl hinzu.
$ ./ts3server_startscript.sh start serveradmin_password=password Starting the TeamSpeak 3 server TeamSpeak 3 server started, for details please view the log file
Ersetze password
durch ein starkes Passwort deiner Wahl.
Beende den Server wieder.
$ ./ts3server_startscript.sh stop Stopping the TeamSpeak 3 server . done
Wechsle wieder zu deinem Benutzerkonto.
$ exit
Starte den TeamSpeak-Dienst erneut.
$ sudo systemctl start ts3server
Schritt 8 – Installieren und Konfigurieren von MySQL
TeamSpeak verwendet standardmäßig die SQLite-Datenbank, um alle Kommunikations- und Benutzerdaten zu speichern. Das ist für eine kleine Community in Ordnung, kann aber zu einem Problem werden, wenn du TeamSpeak für mehr Nutzer/innen einsetzt. Zum Glück kann TeamSpeak so konfiguriert werden, dass es entweder eine MySQL- oder eine PostgreSQL-Datenbank verwendet.
Wir werden es für die Verwendung mit dem MySQL-Server konfigurieren.
Installiere den MariaDB-Server, der ein direkter Ersatz für MySQL ist, da Debian standardmäßig nicht mit MySQL 8 ausgeliefert wird.
$ sudo apt install mariadb-server -y
Das Installationsprogramm wird den Mariadb-Dienst für dich starten und aktivieren. Du kannst den Status des Dienstes überprüfen.
$ sudo systemctl status mariadb
Führe das Sicherheitsskript für MariaDB aus. Verwende die unten angegebenen Optionen.
$ 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
Melde dich in der MySQL-Shell an.
$ sudo mysql
Erstelle den Benutzer ts3user
. Ersetze your_password
durch ein sicheres Passwort deiner Wahl.
mysql> CREATE USER 'ts3user'@'localhost' IDENTIFIED BY 'your_password';
Erstelle die Datenbank teamspeak3
.
mysql> CREATE DATABASE teamspeak3;
Erteile dem Benutzer die Rechte für die Datenbank teamspeak3
.
mysql> GRANT ALL PRIVILEGES ON teamspeak3.* TO 'ts3user'@'localhost';
Beende die Shell.
mysql> exit
Wechsle zum TeamSpeak-Benutzer.
$ sudo -i -u ts3
Der erste Schritt, um MariaDB für die Zusammenarbeit mit TeamSpeak zu konfigurieren, besteht darin, die MariaDB-Bibliothek hinzuzufügen. Du findest sie im Ordner /opt/teamspeak/redist
.
Erstelle einen Symlink für die Bibliothek aus dem Ordner redist
in dein Hauptarbeitsverzeichnis.
$ ln -s /opt/teamspeak-server/redist/libmariadb.so.2 /opt/teamspeak-server/libmariadb.so.2
Führe den folgenden Befehl aus, um die von TeamSpeak benötigten gemeinsamen Bibliotheken zu drucken.
$ ldd /opt/teamspeak3-server/libts3db_mariadb.so
Erstelle die Konfigurationsdatei zum Speichern der Datenbankparameter und öffne sie zum Bearbeiten.
$ nano ts3db_mariadb.ini
Füge den folgenden Code in die Datei ein.
[config] host=127.0.0.1 port=3306 username=ts3user password=your_password database=teamspeak3 socket=
Verwende die oben erstellten Datenbankanmeldedaten. Schließe die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Erstelle eine Konfigurationsdatei für TeamSpeak und öffne sie zum Bearbeiten.
$ nano ts3server.ini
Füge den folgenden Code in die Datei ein.
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
Schließe die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst. Um mehr über diese Konfigurationseinstellungen zu erfahren, kannst du die Datei server_quickstart.md
im Ordner doc
einsehen. Mit der obigen Datei wird TeamSpeak so konfiguriert, dass es MariaDB statt der SQLite-Datenbank verwendet.
Beende die TeamSpeak-Shell.
$ exit
Wir müssen dem TeamSpeak-Server mitteilen, dass er die neu erstellte Konfigurationsdatei verwenden soll. Stoppe und deaktiviere den TeamSpeak-Dienst.
$ sudo systemctl stop ts3server && sudo systemctl disable ts3server
Öffne die Servicedatei.
$ sudo nano /lib/systemd/system/ts3server.service
Suche die Zeile ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1
und ändere sie, indem du die Details der Konfigurationsdatei hinzufügst, wie unten gezeigt.
.... Type=forking ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini ....
Schließe die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Starte den Dienst-Daemon neu, um die Änderungen zu übernehmen.
$ sudo systemctl daemon-reload
Aktiviere und starte den TeamSpeak-Dienst.
$ sudo systemctl enable ts3server --now
Überprüfe den Status des Servers.
$ 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]: ------------------------------------------------------------------
Dadurch wird der Berechtigungsschlüssel neu erstellt. Wenn du dich das nächste Mal bei deinem Server anmeldest, wirst du nach dem Schlüssel gefragt. Dein Passwort für die Serveradministration bleibt jedoch dasselbe.
Schritt 9 – TeamSpeak Upgraden (Update Teamspeak Server Linux)
Der erste Schritt zum Upgrade des TeamSpeak-Servers besteht darin, den Server zu stoppen.
$ sudo systemctl stop ts3server
Lade die neueste Version von der offiziellen Website herunter und entpacke das Archiv in das Verzeichnis /opt/teamspeak
für das Linux Teamspeak Server Update. Überschreibe dabei die Originaldateien, indem du die Schritte 2 und 3 des Tutorials befolgst. Stelle sicher, dass du die Berechtigung des entpackten Ordners änderst. update teamspeak server linux
Sobald du fertig bist, starte den Server erneut.
$ sudo systemctl start ts3server
Fazit
Damit ist unsere Anleitung zur Installation und Nutzung von TeamSpeak Server auf einem Debian 11 basierten Server abgeschlossen. Wenn du noch Fragen hast, schreibe sie in die Kommentare unten.