Guggel: Apache2 / CGI-BIN / Bilder

Hi,

weiss jemand wie ich meinem CGI-BIN Verzeichnis unter Apache2 sagen kann, dass er Bilder, CSS-Files etc. nicht ausführen soll?

Folgendes Problem:

Meine Scripte liegen unter cgi-bin/scripts und meine Bilder dafür unter cgi-/bin/scripts/pics und css unter cgi-/bin/scripts/css.

Die Scripte funktionieren eigentlich problemlos, ausser dass er mein CSS ignoriert und die Bilder nicht anzeigt.

Errorlog sagt:
[Thu Jun 25 14:43:13 2009] [error] [client] (13)Permission denied: exec of '/usr/local/apache2/cgi-bin/scripts/pics/Symbol.png' failed
[Thu Jun 25 14:43:13 2009] [error] [client ] Premature end of script headers: Symbol.png

Berechtigung ist 755 auf die Ordner pics und css. Files an sich haben 644.
Wobei ich schon 777 versucht hab auf alles - ohne Erfolg.

Ich will ja nicht, dass er die Files ausführt wie er sagt im log .. exec of ...

Die conf ist die 0815-Config von Apache.

Jemand einen Rat, wie man das behebt?

Danke.
Guggel

  1. Hi,

    weiss jemand wie ich meinem CGI-BIN Verzeichnis unter Apache2 sagen kann, dass er Bilder, CSS-Files etc. nicht ausführen soll?

    Und ich hätte gerne gewusst, was Du für einen Grund hast, Dateien, die nicht ausgeführt werden sollen, in /cgi-bin/ abzulegen.

    Folgendes Problem:

    Hausgemachter Mist.

    Hotte

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
    1. »» Und ich hätte gerne gewusst, was Du für einen Grund hast, Dateien, die nicht ausgeführt werden sollen, in /cgi-bin/ abzulegen.

      Ziemlich einfach - ich hab ein paar Perlscripte mit der ich HTML-Ausgaben dynamisch erzeuge. Keine einzige statische Website. Und nun will ich eben alls beisammen haben und nicht die Bilder/etc. irgendwo in htdocs/<xyz>/bilder, htdocs/<xyz>/css, htdocs/<xyz>/... haben und den Rest unter cgi-bin/<xyz>/. Das ist doch total unübersichtlich.

      Oder willst du mir jetzt sagen, dass ich besser .pl in htdocs ausführbar mache und alle Dateien dort hin packe. Falls ja ... was wäre denn daran besser als das ganze anderstrum zu machen, sprich alles in cgi-bin?

      1. hi,

        Ziemlich einfach - ich hab ein paar Perlscripte mit der ich HTML-Ausgaben dynamisch erzeuge. Keine einzige statische Website. Und nun will ich eben alls beisammen haben und nicht die Bilder/etc. irgendwo in htdocs/<xyz>/bilder, htdocs/<xyz>/css, htdocs/<xyz>/... haben und den Rest unter cgi-bin/<xyz>/. Das ist doch total unübersichtlich.

        Ok, wenn das so ist ;-)

        Schnapp Dir die Konfigurationsdatei und lösche die Zeile, wo für /cgi-bin/ der ScriptAlias konfiguriert ist.

        Damit werden alle Dateien in /cgi-bin/ nicht mehr serverseitig ausgeführt. Damit .pl Dateien dennoch ausgeführt werden, notiere in der Konfigurationsdatei oder in der .htaccess:

        AddHandler cgi-script .pl
        Options +ExecCGI

        Hotte

        --
        Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  2. Hallo,

    Meine Scripte liegen unter cgi-bin/scripts und meine Bilder dafür unter cgi-/bin/scripts/pics und css unter cgi-/bin/scripts/css.

    das ist ungünstig.

    Errorlog sagt:
    [Thu Jun 25 14:43:13 2009] [error] [client] (13)Permission denied: exec of '/usr/local/apache2/cgi-bin/scripts/pics/Symbol.png' failed
    [Thu Jun 25 14:43:13 2009] [error] [client ] Premature end of script headers: Symbol.png

    Works as designed.

    Die conf ist die 0815-Config von Apache.

    Ja, ich weiß auch nicht, was das cgi-bin-Verzeichnis für einen Sinn hat - wo doch der Apache Dateien, die an irgendeinem Merkmal erkennbar sind (Dateiname, auf Unix-artigen Systemen auch x-Bit), in jedem beliebigen Verzeichnis ausführen kann.
    Das Konzept lautet jedenfalls vereinfacht: Alles, was in /cgi-bin liegt, ist ausführbarer Code.

    Jemand einen Rat, wie man das behebt?

    Ja, hotti weiß.

    Ciao,
     Martin

    --
    "Life! Don't talk to me about life!"
      (Marvin, the paranoid android in Douglas Adams' "The Hitchhiker's Guide To The Galaxy")
    1. hi Martin,

      »» Jemand einen Rat, wie man das behebt?

      Ja, hotti weiß.

      Hab das sogar getestet :P

      Have a Cigar ;-)

      --
      Und gebt ihr keine Kirschen mehr!
      1. Hallo,

        Have a Cigar ;-)

        bah, geh mir weg mit deinem Stinkbalken!

        Und gebt ihr keine Kirschen mehr!

        Äh, wem? "ihr"? Und warum keine Kirschen? .oO(?)

        Okay, *ich* mag sowieso keine Kirschen. Dann schon lieber Pflaumen, Kiwi[*], Stachelbeeren, oder Rhabarberstengel knabbern.

        Enjoy your cigar,
         Martin

        [*] die Frucht natürlich, nicht den Vogel!

        --
        Ist die Katze gesund,
        freut sich der Hund.
        1. hi,

          »» Und gebt ihr keine Kirschen mehr!

          Äh, wem? "ihr"? Und warum keine Kirschen? .oO(?)

          Sorry, da hatte ich wohl den falschen Film erwischt ;-)

          Enjoy your cigar,

          Danke, danke!!

          Viele Grüße,
          Horst Haselhuhn

          --
          Apache? Ne, Schoschonen hießen die, glaube ich...