Letzte Aktualisierung: 10.10.2024 18:43

Einleitung

TeamSpeak ist eine plattformübergreifende Voice-Chat-Software, die von Spielern, Teams und Schulen verwendet wird. Es ist einfach und schnell und bietet Ihnen mehr Kontrolle, da Sie es auf Ihrem eigenen Server hosten können. Es bietet eine sichere und einfache Möglichkeit, mit Menschen auf der ganzen Welt zu kommunizieren. Es hat eine vollständig anpassbare Benutzeroberfläche, unterstützt Direktnachrichten, unbegrenzten Dateitransfer und ermöglicht die anonyme Nutzung.

Voraussetzung

Um dieses Tutorial folgen zu können, benötigen Sie einen Debian 11 Server mit einen nicht Root-User welcher „sudo“ Rechte Besitzt und einer einfachen Firewall. Dies kann mithilfe des Tutorial Ersteinrichtung eines Debian 11 Servers konfiguriert werden.

Durchführung

Schritt 1 – Sicherstellung auf Aktualität des Systems

Vor der Installation vom TeamSpeak-Server rate ich Ihnen ihre System Paketlisten zu aktualisieren. Um diesen Befehl auszuführen müssen Sie vor dem Befehl sudo schreiben. Beim erstmaligen ausführen des Befehls werden Sie nach Ihrem Passwort gefragt, da Sie nur mit Root-Rechten arbeiten.

Um die aktuellen Pakete abzurufen, geben Sie folgenden Befehl ein:

sudo apt update

Nun kann Ihr System Ihnen sagen, dass es Updates für bereits installierte Pakete existiert. Falls dies so ist, können Sie folgenden Befehl eingeben.

sudo apt upgrade -y

Schritt 2 – Einrichtung der Firewall Regeln

Um den TeamSpeak-Server nach der Installation erreichen zu können müssen Sie zunächst die Ports auf der Firewall freigeben. Hierfür müssen Sie folgende Ports freigeben (Rot Markierte Ports sind Benötigte Ports. Die anderen Ports sind optimal.):
9987/udp – für Sprache
30033/tcp – für die Dateiübertragung
10011/tcp – für die Querry (Nicht Verschlüsselt)
10022/tcp – für die Querry (SSH Verschlüsselt)
10080/tcp – für Webabfragen (HTTP)
10443/tcp – für Webabfragen (HTTPS)
41144/tcp – für TSDNS Abfragen

Benötigte Ports:

sudo ufw allow 9987/udp comment 'Erlaube TeamSpeak Sprache'
sudo ufw allow 30033/tcp comment 'Erlaube TeamSpeak Dateiübertragung'

Optimale Ports:

sudo ufw allow 10011/tcp comment 'Erlaube TeamSpeak Querry (Nicht Verschlüsselt)'
sudo ufw allow 10022/tcp comment 'Erlaube TeamSpeak Querry (SSH Verschlüsselt)'
sudo ufw allow 10080/tcp comment 'Erlaube TeamSpeak Webabfragen (HTTP)'
sudo ufw allow 10443/tcp comment 'Erlaube TeamSpeak Webabfragen (HTTPS)'
sudo ufw allow 41144/tcp comment 'Erlaube TeamSpeak TSDNS Abfragen'

Anschließend können Sie nun prüfen ob die Ports freigeschalten wurden.

sudo ufw status

Schritt 3 – Erstellung Benutzer und Verzeichnis für TeamSpeak

Der erste Schritt bei der Installation von TeamSpeak ist das Anlegen eines Benutzers für den Server. Der Benutzer hat sein Heimatverzeichnis unter /opt/teamspeak und hat kein Passwort womit die Anmeldung per SSH Login nur über einen User mit SUDO Rechten geht.

sudo adduser teamspeak --home /opt/teamspeak --shell /bin/bash --disabled-password

Um sich jetzt mit dem soeben erstellten User zu verbinden und im richtigen Verzeichnis zu landen. Müssen Sie nun folgende Befehle ausführen.

sudo -u teamspeak -i

Schritt 4 – Installation des TeamSpeak Servers

Wenn Sie mit dem „teamspeak“ User nun verbunden sind, müssen Sie als nächstes die TeamSpeak Server Dateien von der TeamSpeak Downloads Seite herunterladen und anschließend entpacken.

wget -P /tmp/ https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2 && tar xjf /tmp/teamspeak3-server_linux_amd64-3.13.7.tar.bz2 -C /opt/teamspeak --strip-components=1

Nachdem der Server erfolgreich heruntergeladen und entpackt wurde, müssen Sie zunächst erst einmal die Lizenz Bedingungen von TeamSpeak zustimmen.

touch .ts3server_license_accepted

Anschließend können Sie nun den Server zum ersten mal Starten. Wenn dieser gestartet ist, wird ein Server Query Administrator-Konto, ein API-Schlüssel und ein Berechtigungsschlüssel erstellt. Notieren Sie sich diese und bewahren Sie diese Sicher auf.

./ts3server_startscript.sh start
------------------------------------------------------------------
                      I M P O R T A N T
------------------------------------------------------------------
               Server Query Admin Account created
         loginname= "serveradmin", password= "qZA0AF6I"
         apikey= "BAAiO7V27-WBK7CfQyZ6Uvvj6Y3k6p4SMtMr0G9"
------------------------------------------------------------------


------------------------------------------------------------------
                      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=FFpIHxBMKpBOIQvk96FVPFk4s7aVKArarh9fjJgB
------------------------------------------------------------------

Nach dem ersten Starten des Server können Sie diesen nun erst einmal wieder Stoppen, damit Sie nun den Server auch als Service starten können.
Hierfür drücken Sie auf Ihrer Tastatur einfach Strg + C

Nachdem der Server gestoppt ist und können Sie sich vom TeamSpeak Benutzer abmelden.

exit

Schritt 5 – Erstellung eines Service Deamon für TeamSpeak

Erstellen sie nun die Datei /lib/systemd/system/teamspeak.service und öffnen diese zum Bearbeiten.

sudo nano /lib/systemd/system/teamspeak.service

Fügen Sie nun folgenden Code in die Datei ein.

[Unit]
Description=TeamSpeak Server
Wants=network-online.target
After=syslog.target network.target local-fs.target

[Service]
WorkingDirectory=/opt/teamspeak
User=teamspeak
Group=teamspeak
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ßen Sie anschließend die Datei, indem Sie Strg + X und Y eingeben, wenn Sie dazu aufgefordert werden.

Laden Sie anschließend den Service-Deamon neu.

sudo systemctl daemon-reload

Aktivieren und starten Sie anschließend den TeamSpeak Dienst.

sudo systemctl enable teamspeak --now

Nun können Sie den Status des Dienstes überprüfen.

sudo systemctl status teamspeak
 teamspeak.service - TeamSpeak Server
     Loaded: loaded (/lib/systemd/system/teamspeak.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-10-10 18:04:57 CEST; 4s ago
    Process: 4149535 ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 (code=exited, status=0/SUCCESS)
   Main PID: 4149542 (ts3server)
      Tasks: 21 (limit: 9340)
     Memory: 16.6M
        CPU: 1.249s
     CGroup: /system.slice/teamspeak.service
             └─4149542 ./ts3server license_accepted=1 "" daemon=1 pid_file=ts3server.pid

Okt 10 18:04:57 homeserver systemd[1]: Starting teamspeak.service - TeamSpeak Server...
Okt 10 18:04:57 homeserver ts3server_startscript.sh[4149535]: Starting the TeamSpeak 3 server
Okt 10 18:04:57 homeserver ts3server_startscript.sh[4149535]: TeamSpeak 3 server started, for details please view the log file
Okt 10 18:04:57 homeserver systemd[1]: Started teamspeak.service - TeamSpeak Server.

Schritt 6 – Verbinden mit dem TeamSpeak-Client

Falls Sie nicht bereits TeamSpeak auf Ihren Rechner installiert haben, können Sie auf der offiziellen Webseite den TeamSpeak Client herunterladen und installieren ihn anschließend. Wenn Sie einen Beta Zugang haben, können Sie den TS5 Client installieren, ansonsten müssen Sie mit den TS3 Client vorlieb nehmen.
Hier im Tutorial nutze ich den TS3 Client.

Starten Sie den Client auf ihrem Desktop und verbinden Sie sich anschließend mit Ihrem Server.
Nachdem der Client gestartet ist, klicken Sie auf Verbindungen und wählen Sie die Option Verbinden aus, um loszulegen. Geben Sie anschließend die IP-Adresse bzw. die URL Ihres Servers ein und wählen Sie einen Nickname aus.

Klicken Sie auf die Schaltfläche Verbinden, um fortzufahren. In der nächsten Aufforderung werden Sie aufgefordert, den Berechtigungsschlüssel einzugeben. Geben Sie hier den Berechtigungsschlüssel aus Schritt 4 ein und klicken Sie anschließend auf OK um fortzufahren. Nun sehen Sie ein Bestätigungsfeld welches Sie mit OK schließen können.

Nun sind Sie mit Ihrem TeamSpeak-Server verbunden und können den Client für die Kommunikation nutzen. Sie können den Server nun auch nach Ihrem Geschmack anpassen und haben alle Berechtigungen.

Schritt 7 OPTIMAL – Ändern des Zugangspassworts für den Server Query Admin Account

Sie können das Passwort des Server-Administrators in ein stärkeres Passwort Ihrer Wahl ändern. Dazu müssen Sie den TeamSpeak Dienst stoppen.

sudo systemctl stop teamspeak

Wechseln Sie nun auf den TeamSpeak Benutzer.

sudo -i -u teamspeak

Starten Sie nun den TeamSpeak Server und fügen Sie den Parameter serveradmin_password in den Befehl hinzu.

./ts3server_startscript.sh start serveradmin_password=password

Ersetzen Sie hierbei password durch ein starkes Passwort Ihrer Wahl. Anschließend Beenden Sie den Server wieder.

./ts3server_startscript.sh stop

Nun können Sie sich wieder vom TeamSpeak Account abmelden und starten anschließen den TeamSpeak Dienst erneut.

exit
sudo systemctl start teamspeak

Upgraden des TeamSpeak Servers

Der erste Schritt zum Upgrade des TeamSpeak Servers besteht darin, den Server zu stoppen.

sudo systemctl stop teamspeak

Laden Sie die neuste Version von der offiziellen Webseite herunter und entpacken Sie das Archiv in das Verzeichnis /opt/teamspeak für das Linux TeamSpeak Server Update. Überscheiben Sie dabei die Originaldateien, indem Sie die Schritte 2 und 3 des Tutorials befolgen. Stellen Sie sicher, dass Sie die Berechtigung des entpackten Ordners ändern.

wget -P /tmp/ https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2 && tar xjf /tmp/teamspeak3-server_linux_amd64-3.13.7.tar.bz2 -C /opt/teamspeak --strip-components=1 && chown -R teamspeak:teamspeak /opt/teamspeak

Sobald Sie fertig sind, starten Sie den Server erneut.

sudo systemctl start teamspeak