Archiv verlassen und diese Seite im Standarddesign anzeigen : teamspeak2-server_startscript ausführen?
Mein server verabschiedet sich mal ab und zu...
Dar ich TS2 server hoste bräuchte ich kein kleines script womit die leute von denen ich die TS2 server hoste es selbst starten können falls ich mal nicht da bin.
es müsste erst die tsserver2.pid löschen und dann
./teamspeak2-server_startscript start
Ausführen
könnte mir jemand pls helfen
Naja...
Erst per unlink() (http://de.php.net/manual/de/function.unlink.php) die tsserver2.pid löschen,
dann per exec() (http://de.php.net/manual/de/book.exec.php) den TS-Starter ausführen.
Etwa so:
<?php
if(md5($_GET['startmyts.pw']) == "21232f297a57a5a743894a0e4a801fc3") {
if(unlink("tsserver2.pid") AND exec("./teamspeak2-server_startscript start")) {
print "TS-Server erfolgreich gestartet!";
} else {
print "Es ist ein Fehler aufgetreten!";
}
} else {
die("Access denied");
}
?>
Denke ich mir mal... ;)
Passwortschutz muss aber drinnen sein, sonst macht es nicht viel Sinn ;). Momentan ist das Passwort "admin"... ;)
Also der Aufruf wäre dann eben datei.php?startmyts.pw=admin. Finde zwar diese Methoden nicht so toll aber wird seinen Zweck tun, wenn nicht alle wisen, wo die Datei liegt.
der pfad zum startscript ist
root/ts2/
muss ich da jezz was verändern?
sry ich hab davon echt keine ahnung XD
Naja Du musst halt zum Pfad hin navigieren. Bei dem Script hatte ich Deine Angabe genutzt. Sofern die Sicherheitseinstellungen den Zugriff von PHP-Scripten auf Dateien außerhalb von "htdocs" (oder www etc.) erlaubt kannst Du einfach mit ../../../ zurücknavigieren (so viele, wie halt nötig sind) und dann root/ts2/ dranhängen.
das heist also
<?php
if(md5($_GET['startmyts.pw']) == "21232f297a57a5a743894a0e4a801fc3") {
if(unlink("../../root/ts2/tsserver2.pid") AND exec("../../root/ts2/./teamspeak2-server_startscript start")) {
print "TS-Server erfolgreich gestartet!";
} else {
print "Es ist ein Fehler aufgetreten!";
}
} else {
die("Access denied");
}
?>
Joa, sofern PHP eben diesen Zugriff erlaubt. Falls es so nicht geht, versuchs mit mehr "../". Sollte aber wohl gehen, ja.
http://81.89.99.16/test/test.php?startmyts.pw=admin
Access denied
:S hab vorher den ts down gemacht
Dann ohne das Passwort... Könntest Du aber auch selber entfernen ;).
<?php
if(unlink("../../root/ts2/tsserver2.pid") AND exec("../../root/ts2/./teamspeak2-server_startscript start")) {
print "TS-Server erfolgreich gestartet!";
} else {
print "Es ist ein Fehler aufgetreten!";
}
?>
Kann Dir so gerade nicht sagen, wieso access denied gegeben wird. Habe ich wohl einen kleinen Denkfehler drin oder so.
Warning: unlink(../../../../root/ts2/tsserver2.pid) [function.unlink (http://81.89.99.16/test/function.unlink)]: Permission denied in /var/www/test/test.php on line 3
Es ist ein Fehler aufgetreten!
-.- kein zugriff
Jop. Ich schreibe auch hier nochmal, woran das wohl liegt. Damit, falls später nochmal jemand das Problem hat er nachsehen kann ;).
Dein Pfad war korrekt, aber die test.php kann nicht darauf zugreifen wegen den Rechten (oder Securityeinstellungen).
Bei Linux(-Servern) kann man z.B. per SSH und Putty die Rechte ändern:
chown www-data test.php
chgrp www-data test.php
Oder eben im FTP-Programm einstellen, dass die Datei www-data gehört und auch der Gruppe angehört. Wenn sie "root" gehört (dem User) schlägt sowas oft fehl.
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.