per http ein programm auf dem server ausführen

Dieses Thema im Forum "Web- & File-Services" wurde erstellt von brusko, 07.07.2007.

  1. brusko

    brusko Mitglied

    Dabei seit:
    07.07.2007
    Beiträge:
    28
    Zustimmungen:
    0
    Guten Morgen,
    nun weis ich nicht ob ich hier mit diesem Thema richtig bin,
    aber ich versuch es mal.
    Ich möchte gerne per Webseite ein programm auf einem server ausführen.
    auf dem server befindet sich das programm mb_tcpclient. Dieses muss ich mit einigen parametern und ip starten:
    mb_tcpclient 0.0.0.0 502 255 write_coil 0 1
    es bewirkt das der ausgang eines gerätes das sich an der ip 0.0.0.0 befindet auf 1 gesetzt wird.
    Wenn ich dies am server direkt eingebe geht das ganze aber nun möchte ich es gerne in einer Webseite einbinden.
    Wenn es ein sript schreibe und dieses starte geht es nicht bsw. es pasiert nicht im browser.
    Kann mir jemand sagen was ich da evtl falsch mache ?
    ich benutze netobjektfusion 8

    mfg Michael
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Schneemann, 07.07.2007
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    PHP:
    <?php
      shell_exec
    ("mb_tcpclient 0.0.0.0 502 255 write_coil 0 1");
    ?>
     
  4. brusko

    brusko Mitglied

    Dabei seit:
    07.07.2007
    Beiträge:
    28
    Zustimmungen:
    0
    Php ? kenne ich mu nu garnicht mit aus :-( wo müste ich denn dein code eingeben ?
     
  5. #4 Schneemann, 07.07.2007
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    Du speicherst das in eine PHP-Datei (also z.B. foobar.php) und lädst es auf den webserver. Wenn du dann die PHP-Datei aufrufst, wird der Befehl ausgeführt.
     
  6. brusko

    brusko Mitglied

    Dabei seit:
    07.07.2007
    Beiträge:
    28
    Zustimmungen:
    0
    Hallo Schneemann
    also ich gebe dein Code einfach per edit test.php ein und dann z.b aufen server mit ./test.php starten um zu sehen ob es geht ?

    dann sagt er mir keine zugriffrechte Permission denied.
     
  7. #6 blue-dev, 07.07.2007
    blue-dev

    blue-dev stranger with blue eyes

    Dabei seit:
    30.06.2007
    Beiträge:
    438
    Zustimmungen:
    0
    Dann setzt du dir Rechte halt hoch, ein bisschen eigene initiative wäre nicht fehl am Platz.
    Das gleiche könnte man auch mit perl und system realisieren falls du dich da besser auskennst.

    Code:
    #!/usr/bin/perl -w
    system("mb_tcpclient 0.0.0.0 502 255 write_coil 0 1");
     
  8. brusko

    brusko Mitglied

    Dabei seit:
    07.07.2007
    Beiträge:
    28
    Zustimmungen:
    0
    im groben mus ich sagen kenne ich mich da garnicht mit aus.
    Ich möchte es mal so sagen, haben ein platine die ich per IP schalten kann, mit diese möchte ich später eine hausteuerung bauen, Soweit kappt das ja alles auch ich kann ja mit direkten befehlen die platine per IP steuern. Nun möchte ich ja das ganze aber gerne vereinfachen in dem ich ein Touchscreen aufstelle wo dementsprechend die eine Webseite zum steuern der platine drauf läuft. Gebe zu ich dachte ich könnte einfach per http den befehl rübersenden. aber so ist es ja nicht .
     
  9. #8 Schneemann, 07.07.2007
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    Nein, du legst meinen PHP-Skript auf dem webserver und rufst die Datei dann per Browser auf.
     
  10. #9 sim4000, 07.07.2007
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Ich würde nur aufpassen was du da ausführst. Weil sowas kann auch Sicherheitslücken öffnen.
     
  11. brusko

    brusko Mitglied

    Dabei seit:
    07.07.2007
    Beiträge:
    28
    Zustimmungen:
    0
    nun bin etwas weiter gekommen wuste nicht das ich in /etc/rc.conf :
    chmod +x /usr/local/www/apache22/cgi-bin/mb-test.sh
    eingeben muste.
    Habe ich damit zuviel freigegeben ?
    Was ich nun für ein probem noch habe ist. wenn ich nu per browser diese datei aufmache ersscheint mir das download-fenster. das möchte ich ja nicht ich möchte das er dieses ausführt. kann es sein ich habe den link als dateilink gemacht wäre das der fehler ?
     
  12. #11 blue-dev, 07.07.2007
    blue-dev

    blue-dev stranger with blue eyes

    Dabei seit:
    30.06.2007
    Beiträge:
    438
    Zustimmungen:
    0
    Shell scripte werden von cgi nicht interpretiert, cgi ist ein Perl Modul und kein bash interpreter.
    Du hast da nicht zu viel freigegeben, du hast die Datei nur ausführbar gemacht.

    Sorry wenn ich das sage aber ich glaube mit deinen Linuxkentnissen bist du relativ fehl am Platz mit solchen Konstruktionen, wie oben schon gesagt wurde kann das ziemliche Lücken aufreisen, die Konsequenzen musst du dann tragen.

    Mein Script oben (perl) funktioniert unter cgi bestens, ersetz ihn durch die .sh Datei und es sollte funktionieren. Wenn nicht füg "use CGI::Carp qw(fatalsToBrowser);" in die zweite Zeile ein.

    PS: Perl Dateien haben die Endung .pl, cgi Dateien die Endung .cgi.
     
  13. brusko

    brusko Mitglied

    Dabei seit:
    07.07.2007
    Beiträge:
    28
    Zustimmungen:
    0
    Danke ich werde es morgen mal versuchen. stimmt meine kentnisse sind "schlecht" ich mus mich da nach und nach mehr reinsetzten. Diese steuerung brauche ich blos fürs Haus und deswegen kann ich damit leider keine jahre warten :-(.
    Eines wurde mich aber schon im vorum begbracht...unix ist nicht linux :-) ich hab freebsd 6.2 aufen server
     
  14. #13 serverzeit.de, 07.07.2007
    serverzeit.de

    serverzeit.de Netzwerkarchäologe

    Dabei seit:
    24.05.2007
    Beiträge:
    227
    Zustimmungen:
    0
    Hast du die Zeile "chmod..." in die /etc/rc.conf eingetragen? Dann lösch die da mal schnell wieder raus. Die rc.conf ist für sowas nicht gedacht.

    Wenn du auf der Konsole einmal den chmod-Befehl ausgeführt hast, dann reicht das. Damit ist das Ding ausführbar.

    Der Server ist aber nicht aus dem Internet aus zugreifbar, oder? Besser nicht...
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. brusko

    brusko Mitglied

    Dabei seit:
    07.07.2007
    Beiträge:
    28
    Zustimmungen:
    0
    Hallo, Doch die webseite ist ja aus dem internet aufrufbar, und chmod mus ich doch schin in der rc.conf reinschreiben was mach ich denn wenn ich aus der ferne mal den server neu starten mus ?.
     
  17. #15 serverzeit.de, 08.07.2007
    serverzeit.de

    serverzeit.de Netzwerkarchäologe

    Dabei seit:
    24.05.2007
    Beiträge:
    227
    Zustimmungen:
    0
    chmod ist dafür da, um Rechte an Dateien zu vergeben. Löschst du die Datei jedesmal wieder? Aber auch dann ist die rc.conf dafür nicht gedacht.

    chmod machst du einmal und nie wieder, außer du löschst die Datei.
     
Thema:

per http ein programm auf dem server ausführen

Die Seite wird geladen...

per http ein programm auf dem server ausführen - Ähnliche Themen

  1. Mozilla will ungesichertes HTTP zurückdrängen

    Mozilla will ungesichertes HTTP zurückdrängen: Mozilla will erreichen, dass Webseiten möglichst nur noch verschlüsselt übertragen werden. Dazu müssen die Webseitenbetreiber HTTPS statt HTTP...
  2. Named Pipe und Lighttpd

    Named Pipe und Lighttpd: Hey, ich habe ein kleines Problem, bei dem ich nicht weiß, wie ich vorgehen soll. Im Prinzip ist mein Anliegen nicht schwer (denke ich mal). Auf...
  3. Https und samba

    Https und samba: Hallo, also ich habe ein Ordner namens data mit 100 GB gemountet diesen möchte ich nun mittels https erreichbar machen. Also das ich im Browser...
  4. Squid als RPCoHTTPS Proxy für Outlook Anywhere

    Squid als RPCoHTTPS Proxy für Outlook Anywhere: Hallo Community, ich habe bereits versucht in einem anderen Forum Hilfe zu finden leider ohne Erfolg, darum versuche ich nochmal hier mein...
  5. httpry Specialized HTTP Packet Sniffer 0.1.7

    httpry Specialized HTTP Packet Sniffer 0.1.7: httpry is a specialized packet sniffer designed for displaying and logging HTTP traffic. It is not intended to perform analysis itself, but...