Ubuntu 10.04 „Lucid Lynx“
Dieser Artikel beschreibt, wie man unter Ubuntu einen Teamspeak-Server installiert, zu dem Teamspeak-Clients eine Verbindung aufbauen können. Teamspeak ist ein Voice-Over-IP-Chat, in dem mehrere Nutzer gleichzeitig miteinander sprechen können. Zu diesem Zweck wird ein Server benötigt, mit dem sich die Clients verbinden können. Es sollte eine schnelle Internetanbindung sowie genügend System-Ressourcen vorhanden sein.
Die Beta-Version des Teamspeak3-Servers kann nur von Hand installiert werden.
Aus Sicherheitsgründen sollte der Teamspeak-Server niemals als root gestartet werden. Sollte es jemandem gelingen eine Sicherheitslücke in der Software auszunutzen und käme auf den Rechner, hätte er dort root-Rechte.
Daher wird ein Benutzer teamspeak
erstellt der zum Starten und Stoppen des Servers Verwendung findet, außerdem erhält er ein Verzeichnis zur Installation des Servers. All diese Schritte werden durch den Befehl adduser ausgeführt. Abschließend wird der Benutzer gewechselt zu teamspeak
.
sudo adduser teamspeak su teamspeak
Jetzt muss der Teamspeak-Server von der Herstellerwebseite heruntergeladen werden. Anschließend muss man das Archiv mit den Rechten des Benutzers
teamspeak
in seinem Homeordner entpacken [6].
tar -xzf teamspeak3-server_linux-amd64-3.0.0-rc1.tar.gz
Die Versionsnummer muss natürlich ggf. angepasst werden.
Ohne Lizenzdatei kann ein Teamspeak-Server nur 32 Slots und einen virtuellen Server betreiben.
Der Teamspeak-Server kann auf einigen virtuellen Server ohne Lizenzdatei nicht gestartet werden. Hierfür kann eine NPL (Non-Profit License) angefordert werden. Registrierung der NPL
Zuerst wechselt man, sofern noch nicht geschehen, den Benutzer:
su teamspeak
Nun kann man den Server starten:
~/ts3server/ts3server_startscript.sh start
Wenn dieser Text erscheint ist der Teamspeak-Server online:
TeamSpeak 3 server started, for details please view the log file
Zum Stoppen des Servers wird dieser Befehl genutzt:
~/ts3server/ts3server_startscript.sh stop
Soll der Server während des Bootvorganges starten, wird ein Skript benötigt, das während des Startvorganges aufgerufen werden kann. Dazu muss man das Skript erstellen und ausführbar machen:
cd /etc/init.d sudo touch teamspeak sudo chmod +x teamspeak
Nun diese Datei mit Root-Rechten in einem beliebigen Texteditor öffnen und mit folgendem Inhalt speichern:
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/bash #Zeit Abwarten um IP-adresse zu bekommen (für DHCP): sleep 20 # User which will run the Teamspeak-Server USER=teamspeak # The installation directory of the Teamspeak-Server DIR=/home/teamspeak/ts3server # Run the start script su -c "cd $DIR && $DIR/ts3server_startscript.sh $1" - $USER |
Mit Hilfe dieses Skriptes kann nun der Teamspeak-Server gestartet und gestoppt werden:
/etc/init.d/teamspeak start /etc/init.d/teamspeak stop
Wenn das Skript als root ausgeführt wird, startet der Teamspeak-Server mit dem Benutzer teamspeak
. Andere Systembenutzer werden dazu aufgefordert, das anfangs vergebene Kennwort für den Benutzer teamspeak
einzugeben, um den Server zu starten.
Damit der TS-Server auch beim Neustart des Systems (Runlevel 2) gestartet wird, muss ein Link auf das Startskript im Verzeichnis /etc/rc2.d und im Verzeichnis /etc/rc0.d/ eingerichtet werden:
cd /etc/rc2.d/ sudo ln -s ../init.d/teamspeak S99teamspeak cd /etc/rc0.d/ sudo ln -s ../init.d/teamspeak K99teamspeak
Die Konfiguration wird zum größten Teil im Teamspeak-Client gemacht. Ansonsten kann auch ein Webinterface benutzt werden, dass auf der Herstellerseite heruntergeladen werden kann. Das Webinterface wird allerdings nicht offiziell unterstützt.
Zum Erlangen der Adminrechte muss ein Berechtigungsschlüssel (Token) aus der Logdatei des Server gelesen und im Client eingefügt werden ("Rechte > Berechtigungsschlüssel benutzen"). Dieser wird beim ersten Start des Servers generiert:
Im Log-File findet sich dann ein Abschnitt ähnlich diesem:
2010-06-12 19:54:59.676006|WARNING |VirtualServer | 1| -------------------------------------------------------- 2010-06-12 19:54:59.691631|WARNING |VirtualServer | 1| ServerAdmin privilege key created, please use the line below 2010-06-12 19:54:59.691631|WARNING |VirtualServer | 1| token=OBhgOmpsUp+FqOT7Vase14ndcfKrRMxpVwqSeh5m 2010-06-12 19:54:59.707256|WARNING |VirtualServer | 1| --------------------------------------------------------
Für die Server-Query-Rechte, die praktisch die Root-rechte darstellen, muss beim ersten Start die Ausgabe des Servers angesehen werden. Dort werden die Benutzerdaten dafür angezeigt:
1 2 3 4 5 6 | ------------------------------------------------------------------ I M P O R T A N T ------------------------------------------------------------------ Server Query Admin Acccount created loginname= "serveradmin", password= "00leTfDm" ------------------------------------------------------------------ |
Diese Benutzerdaten können auch beim Einloggen in das Webinterface genutzt werden.
Zum Update muss der Server heruntergefahren werden. Ein Backup des Serverordners wird empfohlen, damit im Fehlerfall der alte Server wieder gestartet werden kann.
Für das Update muss die neue Serverversion heruntergeladen, entpackt und die vorhandenen Dateien überschrieben werden. Da in dem Downloadpaket die Ordner files und logs sowie die Dateien query_ip_whitelist.txt, query_ip_blacklist.txt und ts3server.sqlitedb fehlen, werden Einstellungen, hochgeladene Dateien und Logdateien auf den neuen Server übernommen.
vor der Deinstallation muss der Server gestoppt werden.
Zur Deinstallation wird der User teamspeak
samt seines Home-Verzeichnisses gelöscht:
sudo userdel -r teamspeak
Es gibt zwei Wege um den Teamspeak2-Server zu installieren. Im Folgendem werden beide Wege beschreiben.
Es ist ein passendes Paket in den Paketquellen vorhanden. Möchte man dies verwenden, muss folgendes Paket installiert [1] werden:
teamspeak-server (multiverse [2] )
mit apturl
Paketliste zum Kopieren:
sudo apt-get install teamspeak-server
sudo aptitude install teamspeak-server
Es wird automatisch ein Benutzer teamspeak-server
angelegt der zum Starten des Servers verwendet wird. Außerdem ist der Teamspeak-Server so eingerichtet, dass er mit dem Systemstart startet.
Möchte man nicht extra das System neustarten, um den Teamspeak-Server direkt nach der Installation zu starten, reicht folgender Befehl:
/etc/init.d/teamspeak2 start
Aus Sicherheitsgründen sollte der Teamspeak-Server niemals als root gestartet werden. Sollte es jemandem gelingen, eine Sicherheitslücke in der Software auszunutzen und käme auf den Rechner, hätte er dort root-Rechte.
Daher wird ein Benutzer teamspeak
erstellt der zum Starten und Stoppen des Servers Verwendung findet, außerdem erhält er ein Verzeichnis zur Installation des Servers. All diese Schritte werden durch den Befehl adduser
ausgeführt. Abschließend wird der Benutzer gewechselt zu teamspeak
.
sudo adduser teamspeak su teamspeak
Jetzt muss der Teamspeak-Server von der Herstellerwebseite heruntergeladen werden. Anschließend muss man das Archiv mit den Rechten des Benutzers
teamspeak
in seinem Homeordner entpacken [6].
tar -xjf ts2_server_rc2_202319.tar.bz2
Die Versionsnummer muss natürlich ggf. durch die heruntergeladene ersetzt werden.
Nun kann man den Server starten:
~/tss2_rc2/teamspeak2-server_startscript start
Wenn dieser Text erscheint ist der Teamspeak-Server online:
starting the teamspeak2 server Teamspeak-Server Daemon started with PID XXX
Dies ist nur nötig, wenn der Server manuell installiert wurde. Bei der Installation über die Paketverwaltung wird der Autostart automatisch eingerichtet.
Soll der Server während des Systemstartvorganges starten, wird ein Script benötigt, das während des Startvorganges aufgerufen werden kann. Dazu muss man das Skript erstellen und ausführbar machen:
cd /etc/init.d sudo touch teamspeak sudo chmod +x teamspeak
Nun diese Datei mit Root-Rechten in einem beliebigen Texteditor öffnen und mit folgendem Inhalt speichern:
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash # User which will run the Teamspeak-Server USER=teamspeak # The installation directory of the Teamspeak-Server DIR=/home/teamspeak/tss2_rc2 # Run the start script su -c "cd $DIR && $DIR/teamspeak2-server_startscript $1" - $USER |
Mit Hilfe dieses Skriptes kann nun der Teamspeak-Server gestartet und gestoppt werden:
/etc/init.d/teamspeak start /etc/init.d/teamspeak stop
Wenn das Skript als root ausgeführt wird, startet der Teamspeak-Server mit dem Benutzer teamspeak
. Andere Systembenutzer werden dazu aufgefordert, das anfangs vergebene Kennwort für den Benutzer teamspeak
einzugeben, um den Server zu starten.
Damit der TS-Server auch beim Neustart des Systems (Runlevel 2) gestartet wird, muss ein Link auf das Startskript im Verzeichnis /etc/rc2.d und im Verzeichnis /etc/rc0.d/ eingerichtet werden:
cd /etc/rc2.d/ sudo ln -s ../init.d/teamspeak S99teamspeak cd /etc/rc0.d/ sudo ln -s ../init.d/teamspeak K99teamspeak
Die Konfiguration erfolgt dann im Browser. Wurde Teamspeak-Server nicht auf dem lokalen Rechner installiert, muss bei den Adressen 'localhost' durch die IP des Rechners, auf dem der Teamspeak-Server installiert wurde, ersetzt werden. Dazu (nicht für "superadmin", s.u. ) wird folgende URL geöffnet:
http://localhost:14534
Bzw. um sich als "superadmin" anzumelden:
http://localhost:14534/slogin.html
Die Kennwörter für "admin" und "superadmin" können aus der Server-Log-Datei nach dem ersten Start entnommen werden. Je nach gewählten Weg der Installation hat sie einen anderen Namen und befindet sich in einem anderen Verzeichnis.
Installation aus den Paketen: /var/log/teamspeak-server.log
Installation von Hand: /home/teamspeak/tss2_rc2/server.log
Im Log-File findet sich dann ein Abschnitt ähnlich diesem:
24-11-07 18:42:47,WARNING,Info,SERVER, Default VirtualServer created 24-11-07 18:42:47,WARNING,Info,SERVER, admin account info: username: admin password: ****** 24-11-07 18:42:47,WARNING,Info,SERVER, superadmin account info: username: superadmin password: *****
Je nach gewähltem Installationsweg ist die Deinstallation durchzuführen.
vor der Deinstallation muss der Server gestoppt werden.
Zur Deinstallation wird der Benutzer teamspeak
samt seinem Home-Verzeichnis gelöscht:
sudo userdel -r teamspeak
Sofern Teamspeak zum automatischen Start eingerichtet wurde, müssen noch das Skript und die Links zum Starten und Stoppen gelöscht werden:
sudo rm /etc/init.d/teamspeak sudo rm /etc/rc2.d/S99teamspeak sudo rm /etc/rc0.d/K99teamspeak