TeamSpeak Web Interface
Comme promis, après avoir installé TeamSpeak 3, il est maintenant temps de mettre en place une interface web de gestion qui simplifie grandement l’administration de son serveur. Elle est un peu brute, mais elle reste quand même beaucoup plus simple, pour gérer rapidement les instances de son serveur, que la ligne de commande du ServerQuery.
Environnement
OS : Debian 7.5 stable (Wheezy) (64bits)
Nginx : nginx/1.2.1
PHP : 5.4.4
Prérequis
Le fichier d’installation est sous format rar. Si ce n’est pas déjà fait, vous devrez donc installer Unrar. Par défaut, les packages non-free de Debian ne sont pas configurés, d’où la 1ère ligne. N’installez pas Unrar-free, il ne décompresse pas correctement l’archive contenant l’interface web !
1 2 3 | root@server:~#echo 'deb http://ftp.fr.debian.org/debian/ stable main contrib non-free' >> /etc/apt/sources.list.d/wheezy.non-free.list root@server:~# apt-get update root@server:~# apt-get install unrar |
Création du Serveur Web
Passez les commandes suivantes pour créer le répertoire web et installer les fichiers
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | root@server:~# mkdir /var/www/ -p root@server:~# cd /var/www/ root@server:/var/www/# wget http://addons.teamspeak.com/directory/addon/download/Teamspeak-3-Webinterface-by-Psychokiller.html -O ts3wi_3.4.2.rar --2014-04-27 14:53:00-- http://addons.teamspeak.com/directory/addon/download/Teamspeak-3-Webinterface-by-Psychokiller.html Resolving addons.teamspeak.com (addons.teamspeak.com)... 50.22.6.149 Connecting to addons.teamspeak.com (addons.teamspeak.com)|50.22.6.149|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 761726 (744K) [application/download] Saving to: `ts3wi_3.4.2.rar' 100%[===============================================================================================================>] 761,726 313K/s in 2.4s 2014-04-27 14:53:03 (313 KB/s) - `ts3wi_3.4.2.rar' saved [761726/761726] root@server:/var/www# unrar x ./ts3wi_3.4.2.rar root@server:/var/www/ts3wi# cd /var/www/ts3wi root@server:/var/www/ts3wi# chown www-data. temp -R root@server:/var/www/ts3wi# chown www-data. icons -R root@server:/var/www/ts3wi# chown www-data. templates_c -R root@server:/var/www/ts3wi# chown www-data. site/backups -R |
Éditez avec nano le fichier config.php dans la racine du site web afin de paramétrer l’interface:
1 2 3 4 | $server[0]['alias']= "Serveur Local"; $server[0]['ip']= "192.168.0.73"; $server[0]['tport']= 10011; $cfglang = "fr"; |
Attention, si vous avez bien suivi mon précédent post sur l’installation de TeamSpeak, il faut utiliser la « query_ip » et le « query_port » tels que définis dans le fichier /var/lib/teamspeak3-server/ts3server.ini. De plus, rajoutez au fichier /var/lib/teamspeak3-server/query_ip_whitelist.txt l’adresse IP utilisée par le serveur nginx (dans mon exemple 192.168.0.73).
Config Nginx du TS Web Interface
Il ne reste plus qu’à créer le fichier de config nginx du serveur, attention, vous êtes censés avoir suivi le tuto précédent sur nginx et php et notamment le fichier php_params doit déjà exister!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | root@server:/var/www/ts3wi# cat /etc/nginx/sites-available/ts3webint server { server_name ts3webint.mondomaine.com; root /var/www/ts3wi; # will serve by default index.php index index.php # You can set access and error logs at http, server and location level # Likewise means you turn them off at specific locations access_log /var/log/nginx/ts3webint.access.log; error_log /var/log/nginx/ts3webint.error.log; # Simply using try_files, tests the request uri against a file, then folder # then if neither can be found, the request is sent to index.php # try_files checks the existence of the PHP file before passing the request to the FastCGI server location / { try_files $uri $uri/ =404; } # send bad requests to 404 fastcgi_intercept_errors on; # Includes my PHP parameters location ~ \.php { include /etc/nginx/php_params; try_files $uri /index.php; fastcgi_index index.php; } # this prevents hidden files (beginning with a period) from being served location ~ /\. { deny all; } } |
Et n’oubliez pas de créer le lien symbolique pour activer le serveur et de relancer ensuite nginx:
1 2 | root@server:~# ln -s /etc/nginx/sites-available/ts3webint /etc/nginx/sites-enabled/ts3webint root@server:~# service nginx reload |
Voilà, vous êtes prêts à administrer! Il ne vous reste plus qu’à vous connecter en utilisant le mot de passe du serveradmin.
Pour Aller plus Loin
Bien évidement, il s’agit là d’une configuration basique qui gagne à être enrichie et qui vient, comme d’habitude, sans aucune garantie de ma part. Une des première chose à faire, par exemple, serait de passer le serveur en ssl.
De plus, n’hésitez pas à regarder de plus près le fichier config.php
pour affiner votre configuration. De plus, la même interface est tout à fait capable de gérer plusieurs serveurs TeamSpeak 3 aussi longtemps qu’elle arrive à se connecter au port du serverquery.