Sponsor-Board.de

Normale Version: Probleme beim Teamspeak 2 Webinterface
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo an alle hier im Board,

ich habe ein kleines Problem mit meinem Webinterface. Es geht um folgendes:

Für meinem Teamspeak 2 Server benutzte das Ts2Perlmod. Um beides
automatisch zu starten benutzte ich folgendes Script, welches im
Ordner /etc/init.d/ liegt

Zitat:
#!/bin/sh
### BEGIN INIT INFO
# Provides: teamspeak
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 5
# Description: startet Teamspeak und Ts2Perlmod automatisch
### END INIT INFO

case "$1" in
'start')
#! /bin/bash
# Copyright © 2004 TeamSpeak team All rights reserved.
#
# Lance TeamSpeak et TS2PerlMod au boot de la machine
# By TeamSpeak Team & Flemzard

# DEBUT DE LA PARTIE DE CONFIGURATION
# User pour le lancement
USER=teamspeak

# Repertoire de l'installation de TeamSpeak
DIR=/home/ts/teamspeak_und_bot/teamspeak/ts/

# Répertoire de l'installation de TS2PerlMod
DIR2=/home/ts/teamspeak_und_bot/perlmod_funbox/

# FIN DE LA PARTIE DE CONFIGURATION

case "$1" in
start)
if [ -e $DIR/tsserver2.pid ]; then
echo -e "tsserver2.pid existe... le serveur est deja demarré ?";
echo -e "Si vous êtes sur que le serveur n'est pas demarré, effacez tsserver2.pid"
exit 1
else
echo -e "Demarrage du serveur TeamSpeak ..."
if [ -e $DIR/server_linux ]; then
if [ ! -x $DIR/server_linux ]; then
echo -e "server_linux n'est pas un fichier executable - modification du chmod ..."
chmod u+x $DIR/server_linux
fi
if [ -x $DIR/server_linux ]; then
WD=`pwd`
cd $DIR
su $USER -c "$DIR/server_linux -PID=tsserver2.pid" &
cd $WD
sleep 3
cd $DIR2
su $USER -c "./ts2perlmod_startscript restart" &
else
echo -e "server_linux n'est pas un fichier executable"
exit 4
fi
else
echo -e "Impossible de trouver server_linux."
exit 5
fi
fi
;;
stop)
if [ -e $DIR/tsserver2.pid ]; then
echo -e "Arret du serveur TeamSpeak ..."
kill -TERM `cat $DIR2/ts2perlmod.pid`
rm $DIR2/ts2perlmod.pid
kill -TERM `cat $DIR/tsserver2.pid`
rm $DIR/tsserver2.pid
sleep 3

if [ -e $DIR2/ts2perlmod.pid ]; then
echo -e "TS2PerlMod n'a pas été coupé correctement - Kill du processus ..."
kill `cat $DIR2/ts2perlmod.pid`
rm $DIR2/ts2perlmod.pid
sleep 3
echo -e "Effectué"

if [ -e $DIR/tsserver2.pid ]; then
echo -e "TeamSpeak n'a pas été coupé correctement - Kill du processus ..."
kill `cat $DIR/tsserver2.pid`
rm $DIR/tsserver2.pid
sleep 3
echo -e "Effectué"
fi
fi
else
echo -e "tsserver2.pid est manquant, le serveur est deja arreté ?"
fi
;;
restart)
$0 stop && $0 start || exit 1
;;
status)
if [ -e $DIR/tsserver2.pid ]; then
echo -e "Le serveur TeamSpeak est lancé"
exit 0
else
echo -e "Le serveur TeamSpeak est arreté"
exit 3
fi
;;
passwords)
if [ -e $DIR/server.log ]; then
date=$(cat $DIR/server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^([0-9]+-[0-9]+-[0-9]+ [0-9]+:[0-9]+:[0-9]+).*$/1/")
spass=$(cat $DIR/server.log | grep "superadmin account info: username: superadmin" | tail -n 1 | sed"s/^.*username: superadmin password: ([a-z0-9]+).*$/1/")
pass=$(cat $DIR/server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^.*username: admin password: ([a-z0-9]+).*$/1/")
echo -e "Following passwords were generated on $date"
echo -e "superadmin = "$spass""
echo -e "admin = "$pass""
else
echo -e "server.log not found; maybe the server has not been started yet?"
exit 1
fi
;;
*)
echo -e "Usage: $0 {start|stop|restart|status|passwords}"
exit 2
esac
exit 0
;;
'stop')
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0


Diese Script funktioniert fast zu 100%. Denn der Teamspeak 2 Server
und Ts2Perlmod werden beim booten des Severs mitgestartet und
laufen auch. Aber bei meinem Webinterface gibt es folgenden Fehler.

So sollte das Webinterface aussehen:


http://fs1.directupload.net/images/150720/f5olwlz6.jpg(!https)


So sieht es aber aus:


http://fs1.directupload.net/images/150720/78q4246c.jpg(!https)


Auf gut Deutsch, die Hintergrundbilder werden nicht angezeigt. Wenn
ich jetzt mit rechtsklick grafik anzeigen mache bekomme ich folgende
Fehlermeldung:

Access denied
You do not have sufficient priviligies to access this document.

Ich habe auch schon den Ordner alle Rechte wie 7777 gegeben wo die
Bilder liegen. Aber keine Chance. Starte ich alles Manuell über das
Terminal von WinSCP dann funktioniert es. Also sollte es am Script
liegen. Aber ich finde keine Fehler. Ich hoffe das einer von euch den
Fehler findet. Mein Betriebssystem ist Debian 7 32bit

Lg Lepirato
Hey,

wie hast du die Daten denn hochgeladen? Wenn via WinSCP musst du sicherstellen das auch der richtige Benutzer angegeben ist. (meist www-data und nicht root)

RedDust schrieb:
Hey,

wie hast du die Daten denn hochgeladen? Wenn via WinSCP musst du sicherstellen das auch der richtige Benutzer angegeben ist. (meist www-data und nicht root)


Hey RedDust,

wenn Du im Script schauen würdest, wird er als User teamspeak gestartet.
Er startet ja und läuft auch. Das ist nicht das Problem. Sondern die
Hintergrundbilder.

Lepirato schrieb:
Hey RedDust,

wenn Du im Script schauen würdest, wird er als User teamspeak gestartet.
Er startet ja und läuft auch. Das ist nicht das Problem. Sondern die
Hintergrundbilder.



Es ist hiermit auch nicht gemeint welcher User deine Teamspeak Intance startet, sondern welche Rechte bzw Benutzer die ICONS haben. Wenn die ICONS nicht die benötigten Rechte bzw Benutzer haben, können diese auch nicht eingebunden und angezeigt werden. Du solltest also mal nachsehen welche Dateirechte bzw welche Benutzer die ICONS bzw. die Webdateien haben.

~Chris~ schrieb:

Lepirato schrieb:
Hey RedDust,

wenn Du im Script schauen würdest, wird er als User teamspeak gestartet.
Er startet ja und läuft auch. Das ist nicht das Problem. Sondern die
Hintergrundbilder.



Es ist hiermit auch nicht gemeint welcher User deine Teamspeak Intance startet, sondern welche Rechte bzw Benutzer die ICONS haben. Wenn die ICONS nicht die benötigten Rechte bzw Benutzer haben, können diese auch nicht eingebunden und angezeigt werden. Du solltest also mal nachsehen welche Dateirechte bzw welche Benutzer die ICONS bzw. die Webdateien haben.


Hallo Chris,

alle Dateien haben die Gruppe: users [100] und Eigentümer: teamspeak [1000].
Die Ordner haben 755 und die Datei 644. Wie oben schon geschrieben, habe ich
auch schon den Ordner und Dateien alle Rechte mit 7777 gegeben. Aber keine
Chance. Starte ich alles Manuell über das Terminal von WinSCP dann funktioniert es.

Lepirato schrieb:
Starte ich alles Manuell über das Terminal von WinSCP dann funktioniert es.

Deswegen meine Frage, als welcher Benutzer der Webserver läuft. Weil wenn dies (wie ich vermute) der user www-data ist, dann hat er da evtl. keine Rechte. Wenn du es via Terminal startest, wird es als root Benutzer ausgeführt und der darf alles. (Ist zumindest meine Vermutung)

Ich habe das Problem gelöst. Es war eine Fehler im Script.

Der Teamspeak Server wurde nicht über
teamspeak2-server_startscript gestartet sonder mit der server_linux.
Habe es abgeändert und es läuft wie es soll. Siehe hier:

Vorher:

Zitat:
if [ -x $DIR/server_linux ]; then
WD=`pwd`
cd $DIR
su $USER -c "$DIR/server_linux -PID=tsserver2.pid" &
cd $WD
sleep 3
cd $DIR2
su $USER -c "./ts2perlmod_startscript restart" &
else
echo -e "server_linux n'est pas un fichier executable"
exit 4


Abgeändert:

Zitat:
if [ -x $DIR/server_linux ]; then
WD=`pwd`
cd $DIR
su $USER -c "$DIR/teamspeak2-server_startscript start -PID=tsserver2.pid" &
cd $WD
sleep 3
cd $DIR2
su $USER -c "./ts2perlmod_startscript restart" &
else
echo -e "server_linux n'est pas un fichier executable"
exit 4


Das war es. Problem gelöst. So einfach kann es sein.

Referenz-URLs