PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : server übers web starten


Exudus
14.09.05, 23:36
Hi,

mein ziel is es nen gameserver übers internet ohne ssh zugriff zu starten,
also ne kleine webseite zum start und stop anklicken und dementsprechend wird der server gestartet/gestoppt!

stand der dinge - die php files:

index.php (http://pastebin.com/363990) - fragt ab ob der server läuft oder nicht und agiert entsprechend - das funzt auch
start.php (http://pastebin.com/363991) bzw stop.php (http://pastebin.com/364006) - sollten den server über 'n bash script starten/stopen

die bash files:
status (http://pastebin.com/364007)
webstart (http://pastebin.com/363998)
webstop (http://pastebin.com/364000)
dateirechte 777 - benutzer und gruppe vom "gameserver" user

die /etc/sudoers file:
sudoers (http://pastebin.com/364002) - visudo -c check sagt die is ok!
und auch wenn ich den zieluser von GAMESERVER auf ALL (also root) änder ändert sich nichts!

vorgestellt hab ich mir das so, ich geh auf die index.php und die checkt ob der server läuft (das funzt), wenn ja => kann man ihn beenden, wenn nicht ihn starten. startet/stoppt man den server werden die webstart/webstop dateien ausgeführt, welche eine start/stop datei laufen lassen die ich bisher immer über die console verwendet hab (die funzen!), da die jedoch textausgabe erzeugen wird das in den startlog/stoplog geleitet... - theoretisch!

klicke ich auf starten dann lädt er kurz, sagt mir das gestartet wurde und das wars, es wird auch keine startlog erstellt - genauso wie beim stoppen!
da er mir die echo bringt und das php ansonst ein fehler bringen würde führt er doch die start/stop scripte aus, oder?

führe ich die webstart/webstop als nutzer gameserver auf der shell aus funzt alles O_o

was hab ich übersehen?
an dem sudo zeugs dürfte es eigentlich nicht liegen da ich noch ne andere status-seite hab welche mir ein paar dinge cat'ed
usw welche auch mittels sudorechte abgefragt werden!
und komischerweiße funzt ja auch das status script....


danke schonmal für eure antworten
Hoffe ich hab hier richtig gepostet! *hoff*

gn8, exu :-)

edit:
aso das mit dem sudo hat das auf sich das der apache usw als nutzer "wwwrun" läuft - und der server soll unter nem anderen nutzer laufen :D

cane
15.09.05, 07:29
klicke ich auf starten dann lädt er kurz, sagt mir das gestartet wurde und das wars, es wird auch keine startlog erstellt - genauso wie beim stoppen!

#!/bin/sh

./start > startlog
echo "gestartet"

Probier mal den Scriptaufruf so zu machen:

#!/bin/sh

./start > startlog 2>&1
echo "gestartet"

Und arbeite am besten mit absoluten Pfaden - also:

"/wo/auch/immer/startlog 2>&1"

Sonst wird denke ich nicht in das Verzeichnis des Scripts sondern ins (vorhandene?) Home des users geschribene der das Script ausführt...


mfg
cane

Exudus
15.09.05, 18:41
danke dir, es lag an den relevationen von den ganzen pfäden in den verschiedenen scripts :D