Noch eins? JA!
Lest es euch durch und entscheidet ob es euch hilft oder ich nur unnötig was ins Forum geschrieben habe. Mein Ziel ist es hier ein Beitrag zu finden, nach dem ich immer wieder meinen TS3Server installieren kann.
-
Vorraussetzungen
Ich verwende ein allen meinen Setups Ubuntu (momentan 14.04.02). Für dieses Tutorial habe ich aber auch Debian 7.8 getestet und es genau so hinbekommen.
:: MariaDB ::
Bitte verzeiht mir, das ich hier nicht auf die fachgerechte Installation von MariaDB eingehe. Dafür habe ich leider keine Zeit und finde andere Tutorial hierfür so wieso besser. Dennoch möchte ich euch natürlich nicht im Regen stehen lassen und gebe euch natürlich den Link von dem Tutorial, das ich auch für mich selber nutze.
MariaDB - Setting up MariaDB Repositories
- MariaDBoptional:
Nginx (als Webserver für das admintool von Psychokiller)
PHP5 (incl. php5-fpm)
phpmyadmin (Ich verwende hiefür php5-mysqlnd und php5-mcrypt) -
Vorbereitung
wir legen nun natürlich eine Datenbank an und geben anschließend einem DB-User auch die Rechte:
CodeCREATE DATABASE teamspeak;GRANT ALL PRIVILEGES ON teamspeak.* TO teamspeak@localhost IDENTIFIED BY 'geheimesPasswort';
Für die Sicherheit aber auch zur besseren Verwaltung legen wir nun noch die passende Gruppe (vielleicht unnötig) und User an:
Damit Ihr auch wisst was ihr da gemacht habt die Options:
-r creates a system user/group
-m creates a home-dir
-d defines the home-dir, else it would be /home/<user>
-g defines main groupAuf zum nächsten Punkt
-
Installation
Trotz des nun erstellten Home-Verzeichnises empfehle ich Downloads von anderen Sites immer mit eurem User zu machen. Wir laden mal Teamspeak-Server für Linux runter (ich verwende amd64, bitte bei bedarf ändern)
Codecd ~wget http://dl.4players.de/ts/releases/3.0.11.2/teamspeak3-server_linux-amd64-3.0.11.2.tar.gztar -xzf team #TAB-Key
Kopiert nun die Dateien ins TS-Home-Verzeichnis. Natürlich als teamspeak!!
Nun noch 1 wichtige Sache damit die Datenbank auch funktioniert und wir keine unerklärlichen Abstürze erhalten. (Infos hierzu hier entnehmen)
Codesudo ln -s /opt/teamspeak3-server/redist/libmariadb.so.2 /opt/teamspeak3-server/libmariadb.so.2
-
Konfiguration
Um Teamspeak die Möglichkeit zu geben sein Daten in der Datenbank zu hinterlegen, muss es die Zugangsdaten bekommen und wissen wo sich die DB befindet. Hier schreiben wir eine ini-File mit dem Namen ts3db_mariadb.ini . Ich verwende nano, da es auch Copy&Pase über ssh unterstützt.
Inhalt ist
Teamspeak braucht dann noch die eigentliche Konfigurationsdatei. Diese heißt ts3server.ini (sie kann im Prinzip jeden beliebigen Namen haben)
Inhalt ist
Codemachine_id=default_voice_port=9987voice_ip=0.0.0.0licensepath=filetransfer_port=30033filetransfer_ip=0.0.0.0query_port=10011query_ip=127.0.0.1query_ip_whitelist=query_ip_whitelist.txtquery_ip_blacklist=query_ip_blacklist.txtdbplugin=ts3db_mariadbdbpluginparameter=ts3db_mariadb.inidbsqlpath=sql/dbsqlcreatepath=create_mariadb/dbconnections=5dbclientkeepdays=30dblogkeepdays=90logpath=logslogappend=1logquerycommands=0
Fertig!!
Lest umbedingt den nächsten Abschnitt!!
-
Autostart
Nun kommt der für mich wichtigste Punkt. In den meisten Tutorials wird natürlich von den berühmten init-Scripten geschrieben und davon gibt es mehr als genug - finde ich. Ich hab nach einer Lösung gesucht die einfach, verständlich und dennoch effektiv arbeitet. Dabei muss ich erwähnen das ich nun ca. seit 2 Jahren danach suche und es eigentlich auch schon so lange verwende aber einfach völlig übersehen habe. Gespannt?ssss Supervisord ddddd
ja das ist das Zauberwort! Ihn zu installieren und zu betreiben ist einfacher als Pizza aufbacken. Hier alle was ihr tun müsst.
What???
Ja das ist alles. Nun noch die passenden conf's speichern und los geht's. Hier meine:
Code[program:TS3Server]command=/opt/teamspeak/ts3server_linux_amd64 inifile=ts3server.inidirectory=/opt/teamspeakenvironment=LD_LIBRARY_PATH=/opt/teamspeak:user=teamspeakautostart=trueautorestart=truestderr_logfile=/opt/teamspeak/logs/error.logstdout_logfile=/opt/teamspeak/logs/out.log
Code[program:TS3_DNS]command=/opt/teamspeak/tsdns/tsdnsserver_linux_amd64directory=/opt/teamspeak/tsdnsenvironment=LD_LIBRARY_PATH=/opt/teamspeak/tsdns:user=teamspeakautostart=trueautorestart=truestderr_logfile=/opt/teamspeak/logs/tsdns_error.logstdout_logfile=/opt/teamspeak/logs/tsdns_out.log
OK. Ich hab gelogen. Das ist nicht alles. Ihr müsst dies conf's in das conf.d-Verzeichnis /etc/supervisor/conf.d/ z.B. als TS3Server.conf und TSDNS.conf schreiben. Und zum starten müsst ihr natürlich auch noch ein Befehl ausführen.
Doch nun sollten die Server laufen (TSDNS.conf nur erstellen wenn ihr TSDNS auch nutzt, sonst gibt es Fehler)
Was Supervisord für einen Vorteil hat? Es startet automatisch, es startet nach einem Abbruch, es schreibt alles was auf die Konsole geleitet wird in das Log-File (hier out.log). Kann euer init-Script das auch?
Infos zu supervisord hier
- [Platzhalter für Migration]