PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dedicated server remote control



Xenei
27.04.06, 21:31
Hi @ll

Ich habe ein Projekt vor und komme zur Zeit nirgens weiter.
Ueber Unterstuezung und Tips wuerde ich mich sehr freuen.

Ziel:
Duch klick auf einen Link dedicated server starten.


Bisherige anlaeufe:
- php script mit ssh connection und ausfuehrung eines Befehls bzw eines files welches das befehl enthaltet
- php script und erstellen eines files welches von cronjob ausgefuehrt und geloescht weden soll.
- c code ueber cgi und ausfuehren des befehls oder files welches das befehl enthaltet
- java applet und sockets und ausfuehren des befehls oder files welches das befehl beinhaltet.

bisherige ergebnisse:
- php script:
ein bsp:
================================================== ====
$connection = ssh2_connect('server', 22);
ssh2_auth_password($connection, 'root', 'pwd');
$stream = ssh2_exec($connection, 'cd /home/highcon/quake3');
echo $stream."</br>";
$stream = ssh2_exec($connection, './public
');
echo $stream."</br>";



das war der start befehl
Warning: ssh2_auth_password(): Authentication failed for root using password in /var/www/apache2-default/gamersgui/control.php on line 72

Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/apache2-default/gamersgui/control.php on line 73
================================================== ====

ein weiteres bsp:
================================================== ====


<?php

$output = shell_exec('cd /home/highcon/quake3');
echo "output: ".$output."</br>";
echo "output array: ".print_r($output)."</br>";

$output = shell_exec('./public');
echo "output: ".$output."</br>";
echo "ouput array: ".print_r($ouput)."</br>";


?>


das war der start befehl
Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in /var/www/apache2-default/gamersgui/control.php on line 83
output:
output array: 1

Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in /var/www/apache2-default/gamersgui/control.php on line 87
output:
ouput array: 1
================================================== ====

ich liste mal nur diese auf... villeicht hilft es schon mal jemand ...



- Beim waren meine letzten zwei Versuche wie folgt:

================================================== ====

cronjob:

MAILTO=
* * * * * /var/www/apache2-default/gamersgui/chmod 777 demands.txt
* * * * * /var/www/apache2-default/gamersgui/demands.txt
* * * * * rm /var/www/apache2-default/gamersgui/demands.txt
MAILTO=

MAILTO=
* * * * * /home/highcon/quake3/screen -ls
* * * * * /home/highcon/quake3/public
* * * * * /home/highcon/quake3/screen -ls
MAILTO=


email:


/bin/sh: line 1: homehighcon/quake3/screen: Datei oder Verzeichnis nicht gefunden

Must be connected to a terminal.

/bin/sh: line 1: homehighcon/quake3/screen: Datei oder Verzeichnis nicht gefunden

================================================== ====

- Beim c code mit cgi, bin ich noch nirgens da ich noch nicht weiss wie ich die Parameter erhalten kann und wie ich dann den start/stop befehl ausgeben kann.

- Dasselbe beim Java Applet.


Infrastruktur:
- Dedicated Server und Webserver laufen auf Debian
- Nach mehreren Tagen versuche mit dem Script habe ich verschiedenen gemaess www.php.net installiert (PECL, libssh2, zlib, ...) oder zumindest versucht, ich kenn mich noch wenig in Linux aus und weniger in LAMP.
- Zur Zeit lauf noch nicht der ganze LAMP (MySQL noch nicht fertig gestellt) daher, dabe ich den HTML-file mit dem Link auf einem temporaeren Webserver, der PHP-script auf dem zukunftigen Webserver wo auch der dedicated Gamerserver lauf.
- Falls phpinfo() hilft poste ich es auch gerne auf Anfrage.

Bisherige Notizen auch unter: http://www.inside-php.de/board/topic-768.0.html


Wer kann mir bitte helfen?

Thx for helping im Voraus.

Gruss, xen

zyrusthc
28.04.06, 13:01
Hallo und Willkommen im Forum!

Was genau hast du den vor , suchst du eventuell ein Gameserverwebinterface?

Zu den Fehlermeldungen:

Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in /var/www/apache2-default/gamersgui/control.php on line 83
output:
output array: 1
Liess mal den vorvorletzen Beitrag auf der 1.Seite!
http://zyrusthc.homeip.net/include.php?path=forum/showthread.php&threadid=98


Warning: ssh2_auth_password(): Authentication failed for root using password in /var/www/apache2-default/gamersgui/control.php on line 72
Da steht der Fehler doch schon da , und zwar gibt es ein Problem das Passwort zu übergeben! Du solltest sudo verwenden für diese Angelegenheit.

Du kannst dir ja mal mein Webinterface runterladen , und dir anschauen wie ich das gelöst habe;)

gruss Oli

EDIT: Und verwende bitte in Zukunft die CODE-Tags !

marce
28.04.06, 13:24
für mich klingt das nach einem Schrei nach webmin (http://www.webmin.com/)

Xenei
29.04.06, 12:23
Hi

Danke euch beiden :-)

ich habe http://zyrusthc.homeip.net/include.p...hp&threadid=98 anchgeschaut, hatte ich schon probiert, bekomme keine fehlermeldung mehr aber auch keine weitere reaktion und der gameserver wird nicht gestartet.
was ist sudo bzw wie mach ich das?
hab mal dein projekt angeschaut, bekomme folgende fehlermeldungen:

oben rechts:



Warning: chdir(): SAFE MODE Restriction in effect. The script whose uid is 501 is not allowed to access ../../ owned by uid 0 in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/index.php on line 15

Warning: main(config.inc.php): failed to open stream: No such file or directory in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/index.php on line 16

Warning: main(): Failed opening 'config.inc.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/index.php on line 16

Warning: chdir(): No such file or directory (errno 2) in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/index.php on line 17

Warning: chdir(): No such file or directory (errno 2) in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/index.php on line 18



unten rechts:



Warning: chdir(): SAFE MODE Restriction in effect. The script whose uid is 501 is not allowed to access ../../ owned by uid 0 in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/status.php on line 15

Warning: main(config.inc.php): failed to open stream: No such file or directory in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/status.php on line 16

Warning: main(): Failed opening 'config.inc.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/status.php on line 16

Warning: chdir(): No such file or directory (errno 2) in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/status.php on line 17

Warning: chdir(): No such file or directory (errno 2) in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/status.php on line 18

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/status.php on line 23

Warning: fread(): supplied argument is not a valid stream resource in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/status.php on line 24

Warning: socket_get_status(): supplied argument is not a valid stream resource in /var/www/apache2-default/gamersgui/webinterface-1.2.2/games/mohaa/status.php on line 25


Server
:
antwortet nicht !




links:



Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 501 is not allowed to access /proc/meminfo owned by uid 0 in /var/www/apache2-default/gamersgui/webinterface-1.2.2/modul/mem.php on line 23

Warning: fopen(/proc/meminfo): failed to open stream: Success in /var/www/apache2-default/gamersgui/webinterface-1.2.2/modul/mem.php on line 23
Physikalischer RAM
RAM Total :
RAM Frei :
RAM Cache :
RAM Buffer :

SWAP
Total :
Frei :


Dabei muss man villeicht beruecksichtigen, dass ich keinen CS-Gamerserver habe bzw noch nicht, im Moment geht es um einen quake server.

Die Sicherheit sollte gewaehrleistet sein.

Zur Anfaenglichen Frage:
Ja, ich schaetze man koennte mein vorhaben als Gameserverinterface bezeichnen, ich moechte mit start/stop/status anfangen und schrittweise erweitern so dass man die Konsole nicht mehr braucht.
Ich moechte dies moechst mit PHP und MySQL machen.

Zu "webmin"... ja, sie so in dieser Richtung aus.. ist aber in perl geschrieben oder? Gibt's sowas auch in PHP?

Xenei
29.04.06, 14:28
das verstehe ich nicht:

du benutzt die php-funktion um in files zu schreiben aber tust es in eine udp-verbindung hinein? und liest dann die ersten 4 Bytes heraus?

Wo finde ich infos/tutorials/... ueber dieses Thema?

in www.php.net habe ich noch nichts gefunden.



$connect = fsockopen("udp://".$ip, $port);
fwrite($connect, "˙˙˙˙". chr (0x02). "getstatus". chr (0x00));
fread($connect, 4);
$status = socket_get_status($connect);
$timeout = time() +3;

if($status["unread_bytes"] == 0 or time() >=$timeout)
{
echo "<br><div align=\"center\">";
echo "<table><tr><td align=\"center\">";
echo "Server<br> $ip:$port<br> antwortet nicht !<br>";
die();
}

do
{
$empfangen .= fread($connect, 1);
$status = socket_get_status($connect);
}
while($status["unread_bytes"] != 0);

fclose($connect);
$daten = explode("\n", $empfangen);
$rules = explode("\\",$daten[1]);
$find_pos = array_search ("sv_hostname", $rules);
$hostname = $rules[$find_pos+1] . "\n";

zyrusthc
29.04.06, 16:50
Als erstes , lade dir die Version 1.3 runter , den die funktioniert mit sudo. Die 1.2.2 verwendet nämlich Perl!
Wie das mit sudo funktioniert kannst du hier (http://www.linuxfibel.de/useradmin.htm#sudo) nachlesen, und schau mal dir mal ne restart.php aus meinen Projekt an und lies die beigelegte README , dies sollte dir klarheit über sudo bringen.

Zu den ganzen Fehlermeldungen oben aus den Frames:
Also irgentwie scheint es bei dir Probleme mit dem PHP Safemode zu geben!

The script whose uid is 501 is not allowed to access
Verwendest du vieleicht auch suphp? Das der Benutzer kein Recht hat auf die Verzeichnisse bzw. Dateien zuzugreifen!?


Wo finde ich infos/tutorials/... ueber dieses Thema?
Also ich hatte mich damals an dieser Seite orientiert http://dev.kquery.com/index.php?article=0

Hier die Quake3 Server Query "˙˙˙˙getstatus"

EDIT : Hier ist nen komplettes Q3 MASTER Query in PHP
http://dev.kquery.com/index.php?article=22


gruss Oli

Xenei
29.04.06, 20:20
grosses dankeschoen Oli

ich werde mich gleich ran machen und gib dir dann feedback.

thx and greets, xen

Xenei
29.04.06, 20:21
Verwendest du vieleicht auch suphp? Das der Benutzer kein Recht hat auf die Verzeichnisse bzw. Dateien zuzugreifen!?


was ist suphp und wie finde ich das heraus?

zyrusthc
29.04.06, 20:42
Verwendest du vieleicht auch suphp? Das der Benutzer kein Recht hat auf die Verzeichnisse bzw. Dateien zuzugreifen!?


was ist suphp und wie finde ich das heraus?
google ;)

und ob es installiert ist mit :

rpm -qa | grep suphp

gruss Oli

Xenei
29.04.06, 21:12
# rpm -qa | grep suphp
rpm: To install rpm packages on Debian systms, use alien. See README.Debian.
Fehler: cannot open Packages index using db3 - Datei oder Verzeichnis nicht gefunden (2)


heisst das es it nicht installiert?

Xenei
01.05.06, 15:16
Meldungen vom Startscript

Must be connected to a terminal

zyrusthc
01.05.06, 15:25
Meldungen vom Startscript

Must be connected to a terminal
Diese Meldung kommt von screen!
Hast du den schon mal versucht screen von einem Terminal aufzurufen, aber auch als der user der das web,vhost benutzt?
Eventuell must du libc6 updaten!

gruss Oli

Xenei
01.05.06, 18:39
meinst du zb mit "screen -ls"? listet die laufenden server auf.
was ist libc6? wo finde ich es? wie mach ich das?

zyrusthc
01.05.06, 18:48
Zu deinen Fragen , schon mal was von google gehört?!
Ist dein Problem identisch mit diesem (http://66.249.93.104/search?q=cache:Ew40uGzDNKwJ:www.cargal.org/drupal/node.php%3Fid%3D625+%22Must+be+connected+to+a+term inal%22&hl=de&gl=de&ct=clnk&cd=3) ?
Bevor du solch ein Projekt angehst solltest erst einmal mit deinen Server umgehen können , mit allem drum und dran (Paketverwaltung) und konfiguration von Apache und php solltest du auch genau studieren, dann weisst du was drauf ist und ob es funktioniert!

gruss Oli