TeamSpeak Server Installation mit der MySQL/MariaDB Datenbank

    • Official Post

    Hallo,


    seit der Version 3.0.11 (Build 1408694433) wurde die MySQL Datenbank durch den "Fork" MariaDB ersetzt. Daher möchte ich euch hier gerne zeigen, wie ihr euch einen neuen TeamSpeak Server mit der MariaDB einrichtet.


    Beachtet bitte, dass sich das Tutorial einzig und allein auf eine Neuinstallation bzw. Erst-Installation bezieht und nicht als Upgrade-Tutorial dient! Das Tutorial kann auch für die MySQL Datenbank genutzt werden. Ihr müsst hierzu dann nur immer "mariadb" durch "mysql" ersetzen. ;)


    Inhaltsverzeichnis

    • Server vorbereiten
    • Server einrichten/installieren
    • Server Admin Rechte erhalten

    Hinweis: Alles wird anhand eines Debian Systems gezeigt. Unter Umständen müsst ihr also die Befehle an eure Distribution anpassen!


    Bevor wir anfangen, müssen wir erstmal den

    • Server vorbereiten
      Wir benötigen erstmal die Server-Dateien. Hierfür laden wir sie einfach von TeamSpeak herunter und entpacken sie: TeamSpeak - Downloads (ab Version 3.0.11)
      Wichtig: Hier gelten die selben Regeln wie bei jeder anderen Installation. Siehe auch hier: Teamspeak Server auf Linux installieren


      Danach müssen wir überprüfen, ob das Paket "libmariadb2" installiert ist, denn das ist die Bibliothek, die für die MariaDB Unterstützung gebraucht wird. Hierfür führen wir auf unserem Linux System einfach folgenden Befehl aus:

      Code
      $ dpkg -s libmariadb2dpkg-query: package 'libmariadb2' is not installed and no information is availableUse dpkg --info (= dpkg-deb --info) to examine archive files,and dpkg --contents (= dpkg-deb --contents) to list their contents.


      Wie man hier sieht, ist es zum Beispiel nicht installiert.


      Ebenso sieht man das, wenn man im Verzeichnis des TeamSpeak Servers folgenden Befehl ausführt:

      Code
      $ ldd libts3db_mariadb.so        linux-vdso.so.1 (0x00007fff43fff000)        libmariadb.so.2 => not found        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f211d5dd000)        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f211d234000)        /lib64/ld-linux-x86-64.so.2 (0x00007f211dbe0000)


      Um es zu installieren, benötigt man den SID Repository von Debian. Oder man downloadet und installiert es manuell:

      Code
      wget http://ftp.de.debian.org/debian/pool/main/m/mariadb-client-lgpl/libmariadb2_2.0.0-1_amd64.debdpkg -i libmariadb2_2.0.0-1_amd64.deb


      Hier kann es vorkommen, dass man eine zu alte "libc6" Version installiert hat und dann hilft es nur, das System zu aktualisieren. Wenn es mit den aktuellen Repositorys und ohne den SID Repository bereits aktuell ist, dann müsst ihr den SID Repository noch inkludieren und das System aktualisieren. Danach könnt ihr - wie ich - das Paket einfach per Paketmanager installieren:

      Code
      aptitude install libmariadb2


      +++ UPDATE 2014-09-04 +++
      Anstatts den SID Repository zu nutzen, kann auch folgende Repository genutzt werden: MariaDB - Setting up MariaDB Repositories
      - MariaDB

      Bei Debian Wheezy wäre das zum Beispiel folgender:

      Code
      deb http://ftp.hosteurope.de/mirror/mariadb.org/repo/5.5/debian wheezy maindeb-src http://ftp.hosteurope.de/mirror/mariadb.org/repo/5.5/debian wheezy main


      +++ UPDATE ENDE +++


      Und voila - es ist installiert/vorhanden:

      Code
      $ ldd libts3db_mariadb.so        linux-vdso.so.1 (0x00007fff4e16e000)        libmariadb.so.2 => /usr/lib/x86_64-linux-gnu/libmariadb.so.2 (0x00007fa287de0000)        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa287adf000)        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa287736000)        /lib64/ld-linux-x86-64.so.2 (0x00007fa28832f000)        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa28751b000)        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa2872fe000)        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa2870f9000)        libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fa286e99000)        libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fa286aa3000)


      So... Nachdem der Server prinzipiell funktionsfähig wäre, brauchen wir noch eine Datenbank. Hierfür installieren wir sie einfach mal:

      Code
      aptitude install mariadb-server-5.5


      Dann loggen wir uns als root-User in der Datenbank ein und erstellen eine neue leere Datenbank, sowie einen extra User dafür:

      Code
      mysql -u root -p


      Passwort eingeben, was ihr während der Installation der Datenbank gewählt habt...

      Code
      CREATE DATABASE teamspeak;


      Die neue Datenbank heißt z.B. "teamspeak".

      Code
      GRANT ALL PRIVILEGES ON teamspeak.* TO 'teamspeak'@'localhost' IDENTIFIED BY 'geheimesPasswort';


      Beim letzten Befehl geben wir dem User "teamspeak" alle Rechte auf die Datenbank "teamspeak".


      Danach drücken wir noch die Tastenkombination "Strg" und "D", um aus der SQL-Shell raus zu gehen.


      Okay, das war der Datenbank-Teil und somit eigentlich auch das schwierigste. ;)


      Im root unseres TeamSpeak Server-Verzeichnisses erstellen wir nun die Datei "ts3db_mariadb.ini", welche wie folgt aufgebaut ist:

      Code
      [config]host=127.0.0.1port=3306username=teamspeakpassword=geheimesPasswortdatabase=teamspeak


      Ebenso benötigen wir noch eine "ts3server.ini", welche wie folgt aufgebaut ist und im selben Verzeichnis liegt:

      Code
      machine_id=1default_voice_port=9987voice_ip=192.168.1.20licensepath=filetransfer_port=30033filetransfer_ip=0.0.0.0query_port=10011query_ip=192.168.1.20query_ip_whitelist=query_ip_whitelist.txtquery_ip_blacklist=query_ip_blacklist.txtdbplugin=ts3db_mariadbdbpluginparameter=ts3db_mariadb.inidbsqlpath=sql/dbsqlcreatepath=create_mariadb/dblogkeepdays=90logpath=logslogquerycommands=0dbclientkeepdays=30


      Gut, jetzt haben wir die besten bzw. alle Bedingungen. ;)

    • Server einrichten/installieren
      Sobald alle notwendigen Vorbereitungen getroffen wurden, starten wir den TeamSpeak Server einfach in folgender Reihenfolge:

      Code
      ./ts3server_minimal_runscript.sh start inifile=ts3server.ini


      Wobei hier erstmal sehr viel Ausgabe-Text erscheint:


      Hier muss man sich dann alles rot markierte unbedingt sichern/raus schreiben bzw. kopieren!


      Sobald man das hat, kann man mit Hilfe der Tastenkombination "Strg" und "C" das Minimal-Runscript beenden.


      Als nächstes passen wir unsere "ts3server_startscript.sh" Datei so an, dass man den Parameter "inifile=ts3server.ini" nicht jedesmal angeben muss - vor allem, weil man es gerne mal vergessen kann. Hierfür bearbeiten wir die Datei in einem Text-Editor und ersetzen die folgende Zeile...

      Code
      COMMANDLINE_PARAMETERS="${2}" #add any command line parameters you want to pass here


      ...durch diese...

      Code
      COMMANDLINE_PARAMETERS="inifile=ts3server.ini" #add any command line parameters you want to pass here


      ...und speichern, sowie schließen die Datei. :)


      Jetzt starten wir den TeamSpeak Server ganz normal mit der MariaDB:

      Code
      $ ./ts3server_startscript.sh start
      Starting the TeamSpeak 3 server
      TeamSpeak 3 server started, for details please view the log file


      Und siehe da, unsere Log-Datei sagt, es funktioniert:


    • Server Admin Rechte erhalten
      Jetzt müssen wir uns nur noch mit einem TeamSpeak Client auf unseren neuen Server verbinden und uns unsere Server Admin-Rechte holen. Hierfür geben wir einfach den Token, den wir uns vorhin raus geschrieben haben, im entsprechenden Feld ein:

      • Rechte
      • Berechtigungsschlüssel

    Fertig! Ich wünsche euch viel Spaß damit! ;)


    Für Fragen, Verbesserungsvorschläge und/oder Kommentare bin ich gerne offen: Schreibt's einfach in die Kommentare. Danke! :)

  • Beachtet bitte, dass sich das Tutorial einzig und allein auf eine Neuinstallation bzw. Erst-Installation bezieht und nicht als Upgrade-Tutorial dient!


    Kannst du das auch nochmal als Upgrade Tutorial schreiben oder ist das technisch nicht möglich?

  • This threads contains 25 more posts that have been hidden for guests, please register yourself or log-in to continue reading.