PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Möchte .sh script per http starten



michikkk
16.08.07, 12:40
hiho,

ich bin noch ein kleiner aber freiner noob.
ich bin stolz auf mich das ich es doch geschafft habe, einige .sh scripts zu schreiben die soweit auch wunderbar funktioneren.

Das Problem jetzt: Ich suche eine Möglichkeit, wie ich das script:

/home/****/Script/test.sh per http starten könnte.

Apache ist drauf, meine webseite dort drauf läuft.

Habe mal etwas von cgi gehört, das das helfen könnte.


Mir würde ein kleiner tipp (wenn möglich in php geschrieben) sehr helfen.
Die Scripte werden nicht als root ausgeführt, darum muss ich mich nur als aleinstehender unwichtiger :D user einloggen.

Habe dafür auch einen eigenen Account.


Ich hoffe ihr könnt mir einige tipps post,

mfg
michikkk

marce
16.08.07, 12:43
willst Du das Script direkt starten oder soll es über ein anderes Script gestartet werden?

(also: http://127.0.0.1/meinScript.sh oder http://127.0.0.1/irgendwas startet dann MeinScript.sh)

michikkk
16.08.07, 15:34
es soll für ein gameserver webinterface sein.

das script startet in sich andere dateien, die wurden jedoch so angegeben:

sh /home/***/.../datei.sh
also links und so stimmen.

Ich muss nur eine sh ausführen könne, mann solte jedoch nicht direkt die datei sehen in der URL, also einfach einen button drüber legen (PHP)

also im ganzen so:

irgendwas.ch/member/index.php (pw abfragen für zugang)
dort einen button: Server starten

dieser button öffnet dann /home/***/start.sh

marce
16.08.07, 16:14
Dann solltest Du perl oder php lernen und dich mit dem exec oder system-Kommando näher beschäftigen.

Alternativ natürlich auch shell-Scripte oder sonstige CGI, aber da musst Du halt ein bisserl mehr am Webserver konfigurieren...

cane
16.08.07, 16:31
Wenn die Benutzung des Scriptes nicht nur von dir per .htaccess sondern von Dritten beabsichtigt ist: Lass es!!!

mfg
cane

zyrusthc
16.08.07, 16:51
es soll für ein gameserver webinterface sein.

das script startet in sich andere dateien, die wurden jedoch so angegeben:

sh /home/***/.../datei.sh
also links und so stimmen.

Ich muss nur eine sh ausführen könne, mann solte jedoch nicht direkt die datei sehen in der URL, also einfach einen button drüber legen (PHP)

also im ganzen so:

irgendwas.ch/member/index.php (pw abfragen für zugang)
dort einen button: Server starten

dieser button öffnet dann /home/***/start.sh
Schau dir einfach mein Webinterface an , dort kannste dir die shell_exec funktionen abkucken!
http://www.linuxforen.de/forums/showthread.php?t=135735

Greeez Oli

michikkk
16.08.07, 17:32
jo danke, werde es versuchen

michikkk
16.08.07, 17:54
kann mir bite jemand ein simples php erklären.

Tut mir leid ich brings nich hin.. und es muss relativ schnell gehen.
Ich weiss es ist nicht die feine art, aber macht bitte mal eine ausnahme :S


<?php
$output = shell_exec("sh /home/script/server start");
echo "Startscript geladen.";
?>

Der sh Link stimmt, er funktioniert so in der konsole...

ich verzweifle langsam.. momentan scheitere ich nur an diesem befehl

zyrusthc
16.08.07, 18:10
Wozu sh ?
Im Script steht immer in der ersten Zeile #!/bin/sh !
Und du weisst das das ganze dann unter dem Benutzer des Webservers ausgeführt wird. Du wirst also um Sudo nicht drum herum kommen!

Greeez Oli

michikkk
16.08.07, 18:29
okay.. wie würde denn der befehl mit sudo aussehen..

und unter wechlem benutzer sollte der Apache am besten laufen?

zyrusthc
16.08.07, 18:32
okay.. wie würde denn der befehl mit sudo aussehen..

sudo -u $user $befehl
Vorausgesetzt du hast die /etc/sudoers angepasst!


und unter wechlem benutzer sollte der Apache am besten laufen?
meist www-run,www-data,httpd ,apache je nach dem , ist Distributionsabhängig!

PS: Für was für ein Gameserver soll das denn bei dir werden? Warum nimmste nicht mein fertiges Interface?


Greeez Oli

michikkk
16.08.07, 18:44
alles möglihce, wir beginnen zu hosten, jedoch das verdammte interface.. ich bin grad das von dir am rutnerladen ;)

herzolichen dank an alle fürs helfen, ich nehm das von zyrushc.

Ich resigniere..