lighttpd: Perl-Skript als index-file

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo!

    Auf meinem Raspberry Pi (minibian 2016-03-12) läuft lighttpd (1.4.35). Der Webserver funktioniert, Perl-Skripte als CGI funktionieren.

    Nun möchte ich als Startseite ein Perl-Skript aufrufen. Das Skript liegt in /var/www/cgi-bin/, der übrige Content in /var/www/html/ - das ist auch document-root.

    In /etc/lighttpd/lighttpd.conf kann man ja die Index-Datei eintragen. Aber weder

    Code
    index-file.names            = ( "/cgi-bin/test.cgi")


    noch

    Code
    index-file.names            = ( "/var/www/cgi-bin/test.cgi")


    funktionieren
    "Von Hand", also "192.168.0.111/cgi-bin/test.cgi" im Browser eintippen, funktioniert.

    Hat jemand eine Idee, wie ich das zum Laufen bekomme? Danke!

  • Eine extrem unsaubere Lösung, die funktioniert, ist, eine nicht existierende Seite einzutragen, und den 404 auf das Perl-Skript umzuleiten. Eine Fallunterscheidung müsste ich dann dort im Skript machen. Das geht, ist aber scheiße. :)
    Automatisch zusammengefügt:


    Ist doch klar, die test.cgi liegt ja auch nicht in /var/www/html, sprich nicht in Document root.

    Und wie macht das der Fachmann, dass, wenn jemand http://www.beispieldomain.de/ aufruft, ein Skript aus /cgi-bin/ ausgeführt wird? Meine Pfusch-Lösung kann ja nicht der Weisheit letzter Schluss sein.

    Einmal editiert, zuletzt von Ohnsorg (20. April 2017 um 13:53)

  • Was passiert, wenn du bei 'index-file.names' die CGI-Datei, die du als Startseite definiert hast, angegeben ist, und du mal http://www.beispieldomain.de/cgi-bin/ aufrufst.
    Kommt dann deine Seite?

    Übrigens, wenn die interpretierende Sprache, die die Webseiten darstellen soll, mittels "CGI-Funktion" in den Webserver eingebunden wurde, bedeutet das nicht, dass die Dateien im "cgi-bin" Verzeichnis liegen müssen.

    Wenn ich mich richtig erinnere, wird PHP bei lighttpd auch per CGI eingebunden, und die PHP-Dateien liegen in der Document-Root (oder einem der folgenden Unterverzeichnisse)

    Computer ..... grrrrrr


  • Was passiert, wenn du bei 'index-file.names' die CGI-Datei, die du als Startseite definiert hast, angegeben ist, und du mal http://www.beispieldomain.de/cgi-bin/ aufrufst.
    Kommt dann deine Seite?


    Ja, dann kommt die Seite.

    Zitat


    Übrigens, wenn die interpretierende Sprache, die die Webseiten darstellen soll, mittels "CGI-Funktion" in den Webserver eingebunden wurde, bedeutet das nicht, dass die Dateien im "cgi-bin" Verzeichnis liegen müssen.

    Das ginge wohl. Aber eigentlich will ich meine Skripte alle in /cgi-bin/ haben.

    Einmal editiert, zuletzt von Ohnsorg (21. April 2017 um 13:47)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!