Vorraussetzungen:
Ein Server mit Root-Rechten.
Die Linux-Binaries des TS3 Servers.
Die licensekey.dat der NonProfit Registrierung für Privatleute, Clans usw.
Etwas Ahnung von Linux.
Diese Anleitung.
Diese Anleitung basiert auf meiner Installation auf einem CT-Debian-Server
Verwendetes Betriebssystem : Debian5 (Lenny) 32-bit1. Schritt : Anlegen eines Benutzers (Users) unter dessen Rechten der TS3-Server laufen soll :Erzeugen des Homedirs ins welches TS3 installiert werden soll:
www:~# mkdir /var/www/TS3
Anlegen des Users für TS3 :
www:~# useradd -g users teamspeak -d /var/www/TS3/ -s /bin/bash
Vergeben eines Passwortes für diesen User :
www:~# passwd teamspeak
Das oben erstellte Homeverzeichniss den Besitzer "teamspeak" zuweisen :
www:~# chown teamspeak /var/www/TS3/
Entweder ihr wechselt jetzt einfach den Benutzer durch eingabe von :
su teamspeakoder loggt euch alternativ ein zweites mal auf den Server ein diesmal aber als Benutzer teamspeak.
Deshalb haben wir oben dem Benutzer auch ein Passwort zugewiesen damit das geht.
2.Schritt : Installation des Teamspeak Servers :Ihr seid angemeldet als Benutzer "teamspeak" und seid in dessen Homverzeichniss "var/www/TS3"
Ladet auch jetzt den Teamspeak wie folgt herunter :
64bit Linux :
wget http://www.stephansandmann.mine.nu/teamspeak3-server_linux-amd64-3.0.0-beta29.tar.gz
32bit-Linux :
wget http://www.stephansandmann.mine.nu/teamspeak3-server_linux-x86-3.0.0-beta29.tar.gz
Jetzt entpackt ihr den TS3 Server wie folgt :
64Bit:
www:/var/www/TS3# tar xfvz teamspeak3-server_linux-amd64-3.0.0-beta29.tar.gz
32Bit:
webserver:~# tar xfvz teamspeak3-server_linux-x86-3.0.0-beta29.tar.gz
Kopiert jetzt noch die Datei "licensekey.dat" in den Ordner TS3, und ändert den Besitzer auf Teamspeak.
www:~# cp /dein/pfad/zur/licensekey.dat /var/www/TS3 -v
www:~# chown teamspeak /var/www/TS3/licensekey.dat -v
Euer Verzeichniss sollte jetzt so aussehen :
www:/var/www/TS3# ls -la
insgesamt 6586
drwxr-xr-x 5 teamspeak ftpuser 1024 21. Jan 20:42 .
drwxr-xr-x 7 admin-www ftpuser 1024 21. Jan 20:50 ..
-rw------- 1 teamspeak users 10 21. Jan 21:09 .bash_history
drwx------ 3 teamspeak users 1024 21. Jan 20:08 files
-rw-r--r-- 1 teamspeak ftpuser 195093 21. Jan 20:05 libts3db_mysql.so
-rw-r--r-- 1 teamspeak ftpuser 827377 21. Jan 20:05 libts3db_sqlite3.so
-rw-r--r-- 1 teamspeak ftpuser 910 21. Jan 20:08 licensekey.dat
drwx------ 2 teamspeak users 1024 21. Jan 20:15 logs
-rw-r--r-- 1 teamspeak ftpuser 11 21. Jan 20:05 query_ip_whitelist.txt
-rw-r--r-- 1 teamspeak users 112 21. Jan 20:15 serverkey.dat
drwxr-xr-x 4 teamspeak ftpuser 4096 21. Jan 20:04 sql
-rw-r--r-- 1 teamspeak ftpuser 96 21. Jan 20:04 ts3db_mysql.ini
-rw-r--r-- 1 teamspeak ftpuser 310 21. Jan 20:04 ts3server.ini
-rwxr--r-- 1 teamspeak ftpuser 5441884 21. Jan 20:05 ts3server_linux_x86
-rw-r--r-- 1 teamspeak ftpuser 234496 21. Jan 20:15 ts3server.sqlitedb
files, logs und ts3server.ini fehlen bei euch da die erst erstellt werden.
docs und serverquerydocs könnt ihr auf dem Server löschen wenn ihr sie nicht braucht.
ts3db_mysql.ini braucht Ihr nur wenn Ihr anstelle von SQLLite MySQL verwenden wollt.
So das meiste ist jetzt schon passiert. Jetzt starten wir den Server das erste mal von Hand
damit wir das ADMIN-Token und das "serveradmin" Kennwort des Servers erhalten.
3.Schritt : Erstes Starten des ServersJetzt starten wir den Server wie folgt :
64Bit:
./ts3server_linux_amd64 createinifile=1
32Bit:
./ts3server_linux_x86 createinifile=1
Wenn Ihr alles richtig gemacht habt seht Ihr jetzt eine Ausgabe wie folgt :
I M P O R T A N T
------------------------------------------------------------------
Server Query Admin Acccount created
loginname= "serveradmin", password= "aKrWcOBW"
------------------------------------------------------------------
ServerAdmin token created, please use the line below
token=ppEa0Wp6hopKBzKhH5RiUtb5Ggve5aI8J7ifu+/P
Diese Informationen sind
WICHTIG speichert sie deshalb
am besten in einer Textdatei, Ihr braucht sie in jedem Fall später noch.
4.Schritt : Ein Startskript erstellen zum starten und beenden des ServersMeldet euch wieder als Root an.
Legt jetzt in /etc/init.d ein Startskript an mit Namen "ts3d" :
www:/etc/init.d#nano ts3d
Ihr seid wenn Ihr "nano" installiert habt jetzt in der Eingabemaske von "nano".
Dorthin kopiert Ihr folgendes Startskript:
32Bit:
#!/bin/sh
#
# Shellscript, startet einen TeamSpeakServer im
# Kontext des angegebenen Benutzers.
#
# UTG|SePHTaN (sephatan@utgclan.de)
# dank an FearFactor für die Vorlage
# ============================================
#
# Voraussetzungen:
#
# - Ein installierter/entpackter TeamSpeakServer
# - der Benutzer in dessen Kontext der Server laufen soll
# muss existieren und muss volle Rechte auf den TSS-Ordner und Dateien
# haben. (aktuellen Status mit "ls -l" anzeigen)
# Siehe bei Bedarf die Manpages von chown (Besitzer ändern)
# Beispiel: "chown user:gruppe datei"
# Rechte ändert man mit "chmod"
# Beispiel: "chmod 770 datei"
# - Die Variablen m�ssen Deinem System angepasst werden.
#
# Das Script am Besten als ts3d im Ordner /etc/init.d erstellen,
# und ausführbar machen (z.B. mit "chmod 755 ts3d")
#
# damit der Server von jedem Verzeichnis aus gestartet und beendet werden
# kann, erstellt man am Besten einen harten link ins Verzeichnis /usr/bin,
#
# Beispiel "ln Pfad-zum-script /usr/bin" :
# Beispiel "ln /etc/init.d/ts3d /usr/bin"
#
# Soll der Server beim Hochfahren automatisch starten,
# erstelle noch einen Link im init.d-Verzeichnis
# (kann je nach Distribution abweichen!)
#
# und dann noch einen symbolischen Link ins Verzeichnis
# des richtigen Runlevels erstellen
# (den Standardrunlevel am Besten in /etc/inittab nachsehen):
#
# Beispiel Debian "ln -s /etc/init.d/ts3d /etc/rc2.d/S99ts3d"
# Beispiel SuSE "ln -s /etc/init.d/ts3d /etc/rc.d/rc2.d/S99ts3d"
#
# Um den Server manuell zu starten/stoppen verwende:
# "ts3d start"
# "ts3d stop"
#
# "ts3d status" zeigt alle laufenden TSS-Prozesse
# und die Adminpasswörter an! (ausgelesen aus server.log)
### BEGIN INIT INFO
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
set -e
DAEMON_USER="teamspeak"
DESC="Teamspeak3-Server"
DIR=/var/www/TS3
BIN=ts3server_linux_x86
DAEMON=$DIR/$BIN
NAME="Teamspeak3"
PATH=$DIR:/bin:/usr/bin:/sbin:/usr/sbin
PIDFILE=/var/run/$NAME/$NAME.pid
PARAMS=inifile=$DIR/ts3server.ini
export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting TS server: $NAME "
[ -d /var/run/$NAME ] || mkdir -p /var/run/$NAME
start-stop-daemon --start --background --chdir $DIR --chuid $DAEMON_USER -m --pidfile $PIDFILE --exec $DAEMON -- $PARAMS
echo "."
;;
stop)
echo -n "Stopping TS server: $NAME "
start-stop-daemon --stop --pidfile $PIDFILE --oknodo --exec $DAEMON
rm -f $PIDFILE
echo "."
;;
restart)
echo -n "Restarting TS server: $NAME "
start-stop-daemon --stop --pidfile $PIDFILE --oknodo --exec $DAEMON
rm -f $PIDFILE
start-stop-daemon --start --background --chdir $DIR --chuid $DAEMON_USER -m --pidfile $PIDFILE --exec $DAEMON -- $PARAMS
echo "."
;;
reload|force-reload)
echo "Reloading $NAME configuration files"
start-stop-daemon --stop --pidfile $PIDFILE --signal 1 --exec $DAEMON -- $PARAMS
echo "."
;;
status)
[ -e $PIDFILE ] && echo "$NAME seems to be running with pid: `cat $PIDFILE`." \
|| echo "$NAME is not running."
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload}"
exit 1
;;
esac
exit 0
64Bit:
folgende Zeilen
set -e
DAEMON_USER="teamspeak"
DESC="Teamspeak3-Server"
DIR=/var/www/TS3
BIN=ts3server_linux_x86
wie folgt ändern:
set -e
DAEMON_USER="teamspeak"
DESC="Teamspeak3-Server"
DIR=/var/www/TS3
BIN=ts3server_linux_amd64
Lest euch den Kopfteil des Skriptes durch !!!!!
Dort steht wie Ihr einen Hardlink auf /etc/init.d/ts3d macht, was euch erlaubt egal wo Ihr im Verzeichnissbaum seid
einfach "ts3d start" einzugaben um den Server zu starten.
Ebenfalls steht dort wie Ihr den Server in den Autostart bekommt so dass er zusammen mit euerem Linuxserver startet,
falls Ihr mal neu booten müsst oder Stromausfall war.
So fertig !
Euer Server sollte bereits laufen und IHR müsstet jetzt bereits in der Lage sein zu connecten.
Nachtrag:Wer seinen Teamspeak3 Server in einem Rootjail laufen lassen will, der sollte sich folgende Anleitung zum erstellen eines Rootjail's mal durchlesen.
Dort wird alles schön von Hand gemacht was fürs Verständniss besser ist als irgendwelche vorgefertigten Scripte die einem die Arbeit abnehmen man aber eigentlich gar nicht weiss was man da gemacht hat und warum.
Erstellen eines Rootjails für einen Teamspeak3 Server <-- Hier klicken
Das Startscript von oben kann man mit einigen kleinen Anpassungen weiterverwenden :
DAEMON_USER="teamspeak"
DESC="Teamspeak3-Server"
DIR=/var/www/TS3
BIN=ts3server_linux_x86
Hier muss natürlich bei
DIR= das Verzeichniss des Rootjails angegeben sein.
case "$1" in
start)
echo -n "Starting TS server: $NAME "
[ -d /var/run/$NAME ] || mkdir -p /var/run/$NAME
start-stop-daemon --start --background --chdir $DIR --chuid $DAEMON_USER -m --pidfile $PIDFILE --exec $DAEMON -- $PARAMS
echo "."
;;
stop)
echo -n "Stopping TS server: $NAME "
start-stop-daemon --stop --pidfile $PIDFILE --oknodo --exec $DAEMON
rm -f $PIDFILE
echo "."
;;
restart)
echo -n "Restarting TS server: $NAME "
start-stop-daemon --stop --pidfile $PIDFILE --oknodo --exec $DAEMON
rm -f $PIDFILE
start-stop-daemon --start --background --chdir $DIR --chuid $DAEMON_USER -m --pidfile $PIDFILE --exec $DAEMON -- $PARAMS
echo "."
;;
reload|force-reload)
echo "Reloading $NAME configuration files"
start-stop-daemon --stop --pidfile $PIDFILE --signal 1 --exec $DAEMON -- $PARAMS
echo "."
;;
status)
[ -e $PIDFILE ] && echo "$NAME seems to be running with pid: `cat $PIDFILE`." \
|| echo "$NAME is not running."
;;
*)
Die Zeilen mit
start-stop-daemon müssen ergänzt werden um
--chroot $DIRWer will kann auch wegen dem Verständniss überall die Variable
DIR durch
CHRDIR ersetzen weil so klarer wird dass der Daemon in einem Rootjail läuft.