Seite 1 von 1

HOWTO - Installation eines TS3-Server unter Debian Squeeze

Verfasst: Mo 12. Aug 2013, 19:59
von jensebub
Die nachfolgenden Schritte werden über eine gesicherte Remote-Konsole auf dem Debian Server ausgeführt. Das kann man mit einer SSH-Konsole unter Linux/MacOS oder mit Putty unter Windows bewerkstelligen.

Installation
Um die Installation durchführen zu können verbindet man sich zuallererst mit dem root-Benutzer auf den zukünftigen TS3-Server

Da der TS3-Server später aus Sicherheitsgründen nicht mit vollen Zugriffsrechten laufen sollte wird zunächst ein eigener Benutzer angelegt. Dieser Benutzer wird den Namen t3amsp3ak und das Heimatverzeichnis /home/t3amsp3ak erhalten. In dieses Verzeichnis wird später auch der TS3-Server installiert.

Heimatverzeichnis erzeugen
Benutzer anlegen
Besitzer-Rechte für das Home-Verzeichnis setzen

Code: Alles auswählen

useradd -g users t3amsp3ak -d /home/t3amsp3ak/ -s /bin/bash -m
Kennwort vergeben
Der Benutzer t3amsp3ak benötigt natürlich ein Kennwort welches man hier frei wählen darf.

Code: Alles auswählen

passwd t3amsp3ak
Ab hier sind voerst keine root-Rechte mehr notwendig weswegen man nun als Benutzer t3amsp3ak weiterarbeitet:
Wechsel zu Benutzer teamspeak

Code: Alles auswählen

su t3amsp3ak
Wechsel in das Heimatverzeichnis Nun besorgt man sich von derTeamspeak-Seite die aktuelle Serversoftware für Linux. Je nach Server-Architektur wählt man hier x86 oder amd64.

Das Installationspaket kann man auf einem Client herunterladen und per SCP auf den zukünftigen Teamspeak-Server übertragen oder natürlich direkt auf dem TS3-Server per wget herunterladen. Der Befehl dazu lautet wie folgt:

Code: Alles auswählen

wget http://ftp.4players.de/pub/hosted/ts3/releases/3.0.7.2/teamspeak3-server_linux-amd64-3.0.7.2.tar.gz
Nachdem das Paket auf dem Server liegt wird es jetzt entpackt:

Code: Alles auswählen

tar xfvz teamspeak3-server_linux-amd64-3.0.7.2.tar.gz
Anschließend wechselt man in das entpackte Verzeichnis

Code: Alles auswählen

cd teamspeak3-server_linux-amd64
… und startet erstmalig den TS3-Server

Code: Alles auswählen

./ts3server_minimal_runscript.sh
Sofern alles richtig gemacht wurde erscheint nun nach dem Start des Servers folgende Ausgabe:
Spoiler
Show

Code: Alles auswählen

2012-12-18 09:37:52.289848|INFO    |ServerLibPriv |   | TeamSpeak 3 Server 3.0.6.1 (2012-06-29 07:59:05)
2012-12-18 09:37:52.290650|INFO    |DatabaseQuery |   | dbPlugin name:    SQLite3 plugin, Version 2, (c)TeamSpeak Systems GmbH
2012-12-18 09:37:52.290786|INFO    |DatabaseQuery |   | dbPlugin version: 3.7.3
2012-12-18 09:37:52.291505|INFO    |DatabaseQuery |   | checking database integrity (may take a while)
2012-12-18 09:37:52.344183|INFO    |SQL           |   | db_CreateTables() tables created

------------------------------------------------------------------
                      I M P O R T A N T                           
------------------------------------------------------------------
               Server Query Admin Account created                 
         loginname= "serveradmin", password= "u0sXUmOs"
------------------------------------------------------------------

2012-12-18 09:37:52.804165|WARNING |Accounting    |   | Unable to find valid license key, falling back to limited functionality
2012-12-18 09:37:52.939777|INFO    |FileManager   |   | listening on 0.0.0.0:30033
2012-12-18 09:37:52.948844|INFO    |VirtualSvrMgr |   | executing monthly interval
2012-12-18 09:37:52.949209|INFO    |VirtualSvrMgr |   | reset virtualserver traffic statistics
2012-12-18 09:37:53.531634|INFO    |VirtualServer |  1| listening on 0.0.0.0:9987
2012-12-18 09:37:53.532532|INFO    |VirtualServer |  1| client 'server'(id:0) added privilege key for servergroup 'Server Admin'(id:6)
2012-12-18 09:37:53.532602|WARNING |VirtualServer |  1| --------------------------------------------------------
2012-12-18 09:37:53.532652|WARNING |VirtualServer |  1| ServerAdmin privilege key created, please use the line below
2012-12-18 09:37:53.532696|WARNING |VirtualServer |  1| token=qM5pEGGSVypWbsrZzukv7MRUCZAkH2IdTh+w1k6i
2012-12-18 09:37:53.532745|WARNING |VirtualServer |  1| --------------------------------------------------------

------------------------------------------------------------------
                      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=qM5pEGGSVypWbsrZzukv7MRUCZAkH2IdTh+w1k6i
------------------------------------------------------------------

2012-12-18 09:37:53.562165|INFO    |CIDRManager   |   | updated query_ip_whitelist ips: 127.0.0.1, 
2012-12-18 09:37:53.563115|INFO    |Query         |   | listening on 0.0.0.0:10011

Hierbei werden wichtige Dinge angezeigt die man sich auf jeden Fall für später notieren sollte! Das ist zum einen die Version des Teamspeak-Servers, der Benutzername und das Passwort für die TS3 Server-Query-Konsole, der Port und die ID der virtuellen TS3-Server-Instanz, die ID der Gruppe "Server Admin", der Query-Port und ganz wichtig: das Sicherheits-Token um Serveradmin-Rechte zu erhalten

Mit dem Script ts3server_minimal_runscript.sh läuft der Server nur so lange wie die SSH-Session aktiv ist. Damit der Server nun dauerhaft läuft, benötigt man für den Start das Script ts3server_startscript.sh. Um den momentan laufenden TS3-Server zu unterbrechen tippt man auf der Tastatur die Tastenkombination STRG + A + C.

Jetzt kann man die TS3-Serversoftware im Hintergrund unabhängig der SSH-Session starten:

Code: Alles auswählen

./ts3server_startscript.sh start
starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file
Das, in der Rückmeldung erwähnte, Protokoll ist im Verzeichnis /home/t3amsp3ak/teamspeak3-server_linux-amd64/logs zu finden.

Mit dem Befehl exit verlässt man nun die Identität des Benutzers t3amsp3ak und man befindet sich zurück in der Umgebung des root-Benutzers.

Startscript für den automatischen TS3-Start
Damit der TS3-Server auch nach einem Server-Neustart wieder automatisch seine Arbeit fortführt benötigt man ein entsprechendes Upstart-Script welches den Serverdienst starten und beenden kann.

Hierzu dient nachfolgendes Beispielscript. Zu beachten ist das man die Variablen tpath und tuser an seine Serverumgebung bzw. an die o. g. Einstellungen anpasst. Das Script ist unter /etc/init.d/ts3 mit dem Benutzer root abzuspeichern und kann beispielsweise mit dem Editor nano erzeugt werden.

Code: Alles auswählen

nano /etc/init.d/ts3
Spoiler
Show

Code: Alles auswählen

#!/bin/sh
# chkconfig: 2345 99 01
# description: Teamspeak 3 Server
### BEGIN INIT INFO
# Provides: teamspeak3
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Teamspeak 3 Server
### END INIT INFO
 
tpath="/home/t3amsp3ak/teamspeak3-server_linux-amd64"
tsuser="t3amsp3ak"
 
case "$1" in
  start)
    su $tsuser -c "$tpath/ts3server_startscript.sh start"
    ;;
  restart)
    echo "Restarting Teamspeak Server as $tsuser:"
    $0 stop
    $0 start
    ;;
  stop)
    su $tsuser -c "$tpath/ts3server_startscript.sh stop"
    ;;
  *)
    echo "Benutze: `basename $0` {start|restart|stop}" >&2
    exit 1
    ;;
esac
 
exit 0
Zum Schluss macht man das Script noch ausführbar und aktiviert es für die Upstart-Umgebung

Code: Alles auswählen

chmod 755 /etc/init.d/ts3
update-rc.d ts3 defaults
Mithilfe diesen Scripts kann man auch jederzeit den TS3-Serverdienst manuell stoppen oder starten:

Code: Alles auswählen

/etc/init.d/ts3 stop
Stopping the TeamSpeak 3 server..done

Code: Alles auswählen

/etc/init.d/ts3 start
Starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file
Viel Erfolg beim ausprobieren
Gruß
jensebub