Teamspeak 3 Server mit PostgreSQL betreiben

Vorwort

In den meisten Fällen reicht es aus einen Teamspeak Server mit der Standardinstallation und dem Standardplugin (sqlite3) zu installieren bzw. zu betreiben. Für Umgebungen in denen ein PostgreSQL Server im Einsatz ist kann es sich lohnen den TS3 Server in Verbindung mit einer PostgreSQL Datenbank zu betreiben.

So kann z.b. bei einem Ausfall des Teamspeak Servers schnell auf eine andere Maschine gewechselt werden und alle Daten (Servergruppen, Benutzer und Channels) bleiben vorhanden.

Teamspeak Server - Nutzer anlegen

Starten wir mit der Installation des Teamspeak 3 Servers auf einem Ubuntu Server.
Als Standard User verwenden wir das Benutzerkonto ts3. Als Verzeichnis für die Serverdateien nutze ich das Verzeichnis unter /srv/

Zuerst erstellen wir uns mit folgenden Befehl ein einfaches Nutzerkonto:
adduser ts3

Als nächstes richten wir uns das Installationsverzeichnis für den Teamspeakserver ein:
mkdir /srv/ts3-server

Damit der ts3 Nutzer auch Zugriff darauf hat, setzen wir noch die entsprechenden Berechtigungen auf dieses Verzeichnis:
chown -R ts3:ts3 /srv/ts3-server

Damit haben wir die Verzeichnisse vorbereitet und können nun mit dem Herunterladen des Teamspeak Servers beginnen.

Teamspeak Server - Herunterladen und vorbereiten

Mit folgendem Befehl laden wir uns die aktuellen Teamspeak Serverdateien herunter:
sudo -u ts3 wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2

Im Anschluss müssen wir dieses noch entpacken:
sudo -u ts3 tar xfvj teamspeak3-server_linux_amd64-3.13.7.tar.bz2

Die aktuellen Serverdateien bekommt Ihr direkt von Teamspeak unter:
https://www.teamspeak.com/de/downloads/#server

Zum Abschluss kopieren wir uns die entpackten Dateien noch in unser zuvor erstelltes Verzeichnis:
sudo -u ts3 cp -R /srv/teamspeak3-server_linux_amd64-3.13 /srv/ts3-server

Teamspeak Server - Lizenz aktzepieren

Wir wechseln jetzt in das ts3-server Verzeichnis und erstellen uns eine Datei mit dem Namen .ts3server_license_accepted
Mehr zum Thema Teamspeak3 Lizenzen findet Ihr unter: https://www.teamspeak.com/de/features/licensing/

Teamspeak Server - PostgreSQL vorbereiten

Um den Teamspeak Server mit PostgreSQL verbinden zu können wird eine libary benötigt die nicht unbedingt installiert Standardmäßig installiert wird.
Um zu prüfen ob diese vorhanden ist, wechseln wir zuerst in das Installationsverzeichnis und führen folgenden Befehl aus:
cd /srv/ts3-server
ldd libts3db_postgresql.so

Erscheint die Meldung libpq.so.5 => not found können wir die erforderliche Abhängigkeit mit folgenden Befehl installieren:
sudo apt-get install libpq-dev

Damit haben wir die Abhängigkeiten installiert. Jetzt können wir uns um die Konfigurationsdatei kümmern.

Wir erstellen wir uns mit touch ts3server.ini die config Datei mit der wir den Teamspeak Server in Zukunft starten werden. Der Inhalt ist wie folgt:
machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
liscensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
dbplugin=ts3db_postgresql
dbpluginparameter=ts3db_postgre.ini
dbsqlpath=sql/
dbsqlcreatepath=create_postgresql/
logpath=logs
logquerycommands=1

Im Anschluss benötigen wir noch die Zugangsdaten zum PostgreSQL Server. Dazu erstellen wir eine INI-Datei:
touch ts3db_postgre.ini
[config]
host=’IP‘
port=’5432′
username=’USER‘
password=’PASSWORD‘
database=’DATENBANK‘
socket=

Teamspeak Server - Erläuterung Config Datei

dbplugin=ts3db_postgresql
-> das Datenbank Plugin für PostgreSQL

dbpluginparameter=ts3db_postgre.ini
-> Datei mit den PostgreSQL Zugangsdaten

dbsqlcreatepath=create_postgresql/
-> Pfad für die Erstellung der Datenbank mit PostgreSQL
-> /srv/ts3-server/sql/create_postgresql/

Teamspeak Server - Server starten

Jetzt können wir den Server mit folgenden Befehl starten:
sudo -u ts3 sh ts3server_minimal_runscript.sh start inifile=ts3server.ini

WICHTIG:
Wir müssen den Parameter inifile=ts3server.ini jetzt immer mit anhängen. Andernfalls wird das Standardplugin mit der sqllite3 Datenbank gestartet.

Der Vorteil mit dem „minimal_runscript“ ist, dass wir Fehler oder Probleme angezeigt bekommen.
Ansonsten könnt Ihr den Server mit sudo -u ts3 sh ts3server_startupscript.sh start inifile=ts3server.ini starten

Bonus

Ihr könnt den Server auch über ein Script starten welches Ihr dann im Cronjob oder mit Systemd nutzen könnt.

Erstellt euch dazu im Homeverzeichnis des ts3 Nutzers folgendes Startscript:
sudo -u ts3 /home/ts3/ts3_start.sh

fügt dann folgenden Befehl ind die gerade erstellte Dateihinzu:
/srv/ts3-server/ts3server_startscript.sh start inifile=/srv/ts3-server/ts3server.ini

Hier müsst Ihr nur darauf achten, dass ihr die vollen Pfade angebt. Also auch zur ts3server.ini

Nach oben scrollen