Lighttpd Webserver: Skript-Aufruf bei Webpage-Aufruf

  • Hallo zusammen,


    wie kann ich automatisch ein Bash-Skript aufrufen, wenn eine bestimmte Datei auf einem lighttpd Webserver aufgerufen wird.


    Hintergrund: Aktualisierung einer Temperatur-Grafik mit rrdtool beim Aufrufen eben dieser Grafik vom Webserver.


    Wie bzw. geht das?



    Grüße
    Fux

    Hardware: Asus M3N78-EM µATX GF 8300 | AMD Sempron 140 | Display VFD USB MDM166A | DVB-S2 TT-3600 USB | RAM 1 GB | WD20EARS 2 TB
    Software: yaVDR 0.5

  • So richtig schlau werd ich daraus nicht. Aber anscheinend brauch ich dazu cgi.


    Auf meiner Dockstar hab ich aber nur fcgi



    cgi ist nicht als Paket verfügbar. Ich habe mal versucht ein Skript mit Endung .fcgi und .sh auf /var/www abzulegen. Wenn ich diese dann aufrufe, will bei .sh der Browser die Datei runterladen und bei .fcgi zeigt er nur den Inhalt an oder 403 forbidden (je nach Einstellung in der lighttpd.conf).


    Bin für weitere Hilfe sehr dankbar.

    Hardware: Asus M3N78-EM µATX GF 8300 | AMD Sempron 140 | Display VFD USB MDM166A | DVB-S2 TT-3600 USB | RAM 1 GB | WD20EARS 2 TB
    Software: yaVDR 0.5

    Edited once, last by Fux ().

  • Ich schreibe in meine php-Dateien für easyPortal von easyVDR einfach


    exec ()


    Klappt prima


    Und um php in lighty einzubauen genügt (wenn ich mich recht erinnere - ist lange her)


    apt-get install php5-common php5-cgi


    lighty-enable-mod fastcgi


    Andy

  • Ich habs jetzt dem PHP Modul php_rrd geschafft.
    Anleitung zum kompilieren ist hier zu finden: http://www.ioncannon.net/syste…rdtool-extension-by-hand/


    Bei Aufruf der Seite werden zuerst die Grafiken neu erstellt und dann angezeigt.


    Hier die entsprechende PHP-Datei (Auszug):

  • sieht ja mal interessant aus, hab' noch das gefunden.


    Code
    apt-get install librrds-perl rrdtool
    
    
    lighty-enable-mod rrdtool
    /etc/init.d/lighttpd force-reload


    und dann per php, siehe hier lightygraph.cgi


    ohne irgendwelches rumkompilieren :)

  • möchte auf meinem Fileserver auch ein Skript ausführen per Buttonclick in meinem Webinterface!
    Das Skript braucht aber Root-Rechte da es solche Dinge wie den SMART-Status der HDD's ausliest.


    Die Webserver lighttpd oder in meinem Fall Apache2 werden die Skripte ja sicher nicht einfach mit Root-Rechten ausführen? (Wäre doch ein wenig ungewöhnlich...)

  • Quote

    Original von aelo
    wie macht ihr das wenn ihr ein script mit root Rechten ausführen wollt?


    Man könnte es über /etc/sudoers erlauben.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • ich löse das durch ein eigenes wrapper-script. nur dieses ist mit sudo-rechten ausgestattet!


    Code
    cat /etc/sudoers

    liefert


    Code
    #VDR4FUNWEB /a
    www-data ALL=NOPASSWD: /var/www/vdr4fun/vdr4fun.sh
    #VDR4FUNWEB /e
  • Ich löse das auch per sudoers, indem ich dem Script rootrechte einräume.


    Aber die sudoers muss nach der Änderungen wieder chmod 440 haben


    Andy

  • Quote

    Original von sinai
    Aber die sudoers muss nach der Änderungen wieder chmod 440 haben


    Dafür gibt es ja visudo

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Edited once, last by seahawk1986 ().

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!