Cruz: IIS Hat jemand schon mal Perl mit IIS auf NT zum laufen gebracht?

Hallo Sysops,

dieses sch*** Microsoft Ding bringt mich echt zur Weißglut! Nicht nur daß man erst einen halben Tag mit Durchlesen von Handbüchern verbringen muss, um das "einfache Userinterface" unter Kontrolle zu kriegen (man muss ja schließlich wissen welcher einfache Klick welche einfache Funktion hat). Nein, es funtioniert dann natürlich auf Anhieb nicht, man hat ein bescheuertes Häkchen vergessen, oder man hat den Webserver vielleicht einfach nicht oft genug neu gebootet.
Dagegen sind "komplizierte" Webserver, wie z.B. der Apache, wo man tatsächlich eine "komplizierte" Konfigurationsdatei hat, die man schon beim Durchlesen versteht und es funtioiuert auch alles, fast ein Traum.

So..sorry...das musste ich einfach mal von der Seele brüllen.

Wie unschwer zu erkennen, versuche ich diese jämmerliche Software dazu zu kriegen mir ein Perl Script auszuführen. Ich habe mir ein Verzeichnis namens cgi-bin angelegt, und dann mit rechts-klick über properties und dann application configuration dem Server eingebläut, daß er CGI Scripte mit der Endung .pl mit c:\perl\bin\perl.exe ausführen soll. Es scheint wohl auch etwas bewirkt zu haben, denn wenn ich jetzt mein Perl Script im Browser aufrufe, wird er nicht downgeloaded. Aber das ist auch schon alles, es gibt keine Fehlermeldung, keinen Timeout, der Browser rödelt einfach vor sich hin, als würde etwas passieren, aber gar nichts passiert.

Ich kenne mich mit dem IIS leider überhaupt nicht aus, und ich habe auch nicht die Zeit mich damit bekannt zu machen. Ich weiß noch nicht mal, wo ich die Access und Error logs suchen soll. (bis jetzt musste ich noch nie suchen, um sie zu finden)

Kann mir vielleicht jemand hilfreiche Tipps geben, oder vermuten was ich falsch, oder noch nicht eingestellt habe?
Ich weiß, daß NT, IIS und Perl nicht gerade die optimale Kombination ist, es muss aber sein, diese 3 Komponenten sind leider nicht variierbar.

Vielen Dank
Cruz

  1. Gleich nochmal Hi!  (wieso stellst Du immer die Fragen, zu denen ich was weiss??)

    dieses sch*** Microsoft Ding bringt mich echt zur Weißglut! [...]
    So..sorry...das musste ich einfach mal von der Seele brüllen.

    Ich weiss, was Du meinst. ;-) Zum Glueck muss ich mich mittlerweile nur selten mit dieser Schrottware befassen.

    Ich habe mir ein Verzeichnis namens cgi-bin angelegt, und dann mit rechts-klick über properties und dann application configuration dem Server eingebläut, daß er CGI Scripte mit der Endung .pl mit c:\perl\bin\perl.exe ausführen soll.

    Reicht nicht ganz. Du musst c:\perl\bin\perl.exe %s %s hinschreiben. Genau so. Keine Ahnung, was das genau bedeutet, aber es muss hin. Siehe auch http://www.whitecrow.demon.co.uk/steve/perlfaq/runperl.html.

    Falls Du noch Kommandosubstitution oder aehnliches in Deinen Scripten verwenden willst, interessiert Dich vielleicht auch <../../sfarchiv/1999_2/t03170.htm>. Ein weiteres Problem mit dem Scheiss-Teil, auf das ich gestossen bin, findest Du unter <../../sfarchiv/1999_3/t05336.htm#a25905>.

    Es scheint wohl auch etwas bewirkt zu haben, denn wenn ich jetzt mein Perl Script im Browser aufrufe, wird er nicht downgeloaded. Aber das ist auch schon alles, es gibt keine Fehlermeldung, keinen Timeout, der Browser rödelt einfach vor sich hin, als würde etwas passieren, aber gar nichts passiert.

    Naja, es ist als ob Du einfach 'perl' ohne Parameter auf der Kommandozeile eingibst (weil ohne das '%s %s' das auszufuehrende Script nicht mit uebergeben wird). Dann wartet Perl naemlich darauf, dass Du direkt ein Script eingibst, welches dann ausgefuehrt wird. Da Du ueber CGI aber keines eingeben kannst (naja, mit der POST-Methode ginge es), wartet Perl ewig, und der Webserver bis irgendein Timeout abgelaufen ist (hoffentlich).

    Ich kenne mich mit dem IIS leider überhaupt nicht aus, und ich habe auch nicht die Zeit mich damit bekannt zu machen. Ich weiß noch nicht mal, wo ich die Access und Error logs suchen soll. (bis jetzt musste ich noch nie suchen, um sie zu finden)

    Den Ort fuer die Access logs kann man irgendwo in den zahlreichen Optionsdialogen einstellen (Frag mich nicht wo, das hab ich verdraengt!). Default ist irgendwo unterhalb von c:\winnt\system32 ($%&!!). Error logs scheint es bei diesem Spielzeug-Server nicht zu geben. Meine Frage konnte mir jedenfalls vor einiger Zeit keiner beantworten: <../../sfarchiv/1999_4/t08688.htm#a43486>. Vielleicht weiss es ja inzwischen jemand.

    Ich weiß, daß NT, IIS und Perl nicht gerade die optimale Kombination ist, es muss aber sein, diese 3 Komponenten sind leider nicht variierbar.

    Schon klar, das Du Dich nicht aus freiem Willen damit rumquaelst...

    *Request for Auslese*: Ok, dies wird zwar nicht oft gefragt, aber ich denke, diese diversen Probleme des IIS4 koennten vielleicht mal mit in der Auslese dargestellt werden.

    So long

  2. Hi Cruz, Zeit für http://www.i-netlab.de/iis/iis.htm ... so wie ichs schrieb wars schon veraltet, aber schau mal ;-)
    Viele Grüße, Rolf

    1. Hi Rolf!

      Mmh... jetzt faellt mir erst auf, dass Cruz nicht gesagt hat, welche Version des IIS er meint. Deine Beschreibung passt auf 3, meine auf 4.

      So long

      1. Hi Rolf!

        Mmh... jetzt faellt mir erst auf, dass Cruz nicht gesagt hat, welche Version des IIS er meint. Deine Beschreibung passt auf 3, meine auf 4.

        So long

        Hi Calocybe, grüß Dich! Wie ich schon sagte "so wie ichs schrieb, wars veraltet..." was natürlich _nicht_ heißt, mit dem IIS der neuesten Version ständig hinterherzujagen ;-)

        Und einen Bug des IIS (festgestellt am 3er und 4er) will ich hier mal eben dokumentieren: Ist der WWW-Veröffentlichungs-Dienst (verständlicher vielleicht: "httpd" ) einmal gestartet, gibt es u.U. Probleme eine HTML-Datei zu ändern und zu speichern, FM "Zugriff verweigert..." (oder so). Mir ist das mal im Intranet aufgefallen, wo ich direkten Zugriff über gemappte Laufwerke zum WWW-Root hatte, die o.g. FM war da schon sehr lästig, wenn ich da eine Datei löschen wollte, blieb mir manchmal nur der Weg die Datei umzubenennen und neu zu erstellen... der ganze Kram war auch offline nachvollziehbar. Wie's damit im FTP-Bereich aussieht weis ich nicht. Naja.

        Viele Grüße aus der Erfurter Altstadt, Passer::Domesticus::Domus (Domspatz) Rolf

        1. Hi again!

          Und einen Bug des IIS (festgestellt am 3er und 4er) will ich hier mal eben dokumentieren: Ist der WWW-Veröffentlichungs-Dienst (verständlicher vielleicht: "httpd" ) einmal gestartet, gibt es u.U. Probleme eine HTML-Datei zu ändern und zu speichern, FM "Zugriff verweigert..." (oder so).

          Na sowas aber auch... <../../sfarchiv/1999_3/t05336.htm> ;-) Wusste nur noch nicht, dass es beim 3er auch schon so war, den hatte ich nur mal ein paar Tage in Benutzung.
          (Siehe auch mein zweites Posting in dem Thread - noch'n Bug...)

          Mir ist das mal im Intranet aufgefallen, wo ich direkten Zugriff über gemappte Laufwerke zum WWW-Root hatte,

          genau wie bei mir

          wenn ich da eine Datei löschen wollte, blieb mir manchmal nur der Weg die Datei umzubenennen und neu zu erstellen...

          Genau so hab ich's auch gemacht. *g*

          So long && Greetings from ErlM (Erlangen Mitte)

  3. Hallo Rolf und Calocybe,

    vielen Dank für eure Hilfe, das waren super hilfreiche Infos.
    Ich kämpfe mit IIS4, also danke für die ganzen Mühe mit den zusätzlichen Warnungen Calocybe.

    Eigentlich sollten die Infos unbedingt im Manual stehen, ich wette da stolpert so ziemlich jeder einmal drüber, der versucht Perl inter IIS zum laufen zu bringen.

    Übrigens, habt ihr auch mal versucht eine User Authentifizierung mit dem Ding einzurichten? Von LDAP oder .htaccess gibt es da keine Spur, das Ding verwendet die Userprofile von NT als Userdatenbank. D.h. dynamische Userbearbeitung kannst du nur über system() Kommandos erledigen.
    Wie man dynamisch ein Verzeichnis schützen kann stelle ich in Frage...jedenfalls fällt mir kein DOS Kommando ein, womit ich eine Benutzergruppe auf ein Verzeichnis zugreifen lasse.

    Jedenfals Danke nochmal!
    Cruz

    1. Hallo Cruz!

      Übrigens, habt ihr auch mal versucht eine User Authentifizierung mit dem Ding einzurichten? Von LDAP oder .htaccess gibt es da keine Spur, das Ding verwendet die Userprofile von NT als Userdatenbank. D.h. dynamische Userbearbeitung kannst du nur über system() Kommandos erledigen.
      Wie man dynamisch ein Verzeichnis schützen kann stelle ich in Frage...jedenfalls fällt mir kein DOS Kommando ein, womit ich eine Benutzergruppe auf ein Verzeichnis zugreifen lasse.

      Mir fällt ein solcher Befehl für NT 4.0:

      CACLS
      (Gibt unter NT 4.0 die Hilfe zum Befehl CACLS aus)

      cacls test /e /g vordefiniert\benutzer:f
      (Erteilt in deutschem NT 4.0 der vom System generierten Gruppe "Benutzer" Vollzugriff auf die Datei "test")

      cacls test /e /g ortner\ortner:f
      (Erteilt in NT 4.0 der Gruppe "ortner" in der Domäne "ortner" Vollzugriff auf die Datei "test")

      Ich hoffe, das ist das, was Du gesucht hast.

      H-P Ortner

      1. CACLS
        (Gibt unter NT 4.0 die Hilfe zum Befehl CACLS aus)

        cacls test /e /g vordefiniert\benutzer:f
        (Erteilt in deutschem NT 4.0 der vom System generierten Gruppe "Benutzer" Vollzugriff auf die Datei "test")

        cacls test /e /g ortner\ortner:f
        (Erteilt in NT 4.0 der Gruppe "ortner" in der Domäne "ortner" Vollzugriff auf die Datei "test")

        Ich hoffe, das ist das, was Du gesucht hast.

        H-P Ortner

        Ja das ist sicherlich hilfreich danke schön!

        Gruß
        Cruz