Apache 2.0.28 und mod_gzip

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Apache 2.0.28 und mod_gzip

    Hallo
    Weiss jemand wie man unter Windows und Apache 2.0.28 das Modul mod_gzip einbindet ???
    So wie unter Apache 1.3.22 geht es wohl nicht ???

    Bernd

  • #2
    Hi!
    Also die LoadModule Direktive hat sich in der Version 2.x nicht geändert.

    Wie üblich mit

    In Unix
    LoadModule status_module modules/mod_status.so
    bzw. in Windows
    LoadModule foo_module modules/ApacheModuleFoo.dll
    einbinden.

    Also:
    LoadModule gzip_module modules/ApacheModuleGzip.dll

    Grüsse

    FreeBSD - Unleash the daemon inside your PC

    Kommentar


    • #3
      Hallo,
      muss ich mod_gzip als *.dll oder *.so einbinden?
      Habe zwar den Apache 2 unter Win2k, aber alle anderen Dateien im Ordner modules sind auch *.so, keine einzige Dll-Datei

      Kommentar


      • #4
        Abend !

        Natürlich musst du unter Windows die Module als .dll einbinden.
        .so sind für UNIX-Systeme.

        IIRC gibts da nen eigenen Ordner für Windows, wo die .dll drinnen sind.

        Wenn nicht, dann kannst du sie entweder selber compilieren oder eben vom Anbieter runterladen (drauf achten, dass es ein Apache 2.x Modul ist, da Apache 1.3x Module nicht mit Apache 2.x kompatibel sind).

        mod_gzip ist aber nur für Apache 1.3 erhältlich. Siehe:
        http://sourceforge.net/projects/mod-gzip/

        Die Ablösung für mod_gzip in Apache2 ist ohnehin mod_deflate

        Grüsse
        Zuletzt geändert von iQD; 28.03.2004, 20:27.
        FreeBSD - Unleash the daemon inside your PC

        Kommentar


        • #5
          Danke, hat geklappt, habe jetzt wieder den alten Apache

          Es hat nur mit dem DLL-Modul funktioniert, obwohl alle anderen als *.so angegeben sind, keine Ahnung warum, aber egal

          Muss ich sonst noch irgendwelche Einstellungen machen in der Conf, damit ich gzip in Perlscripten verwenden kann? Wofür brauch ich das hier ?
          Zuletzt geändert von razer2k; 28.03.2004, 21:13.

          Kommentar


          • #6
            Ich merke gerade, ich verdrehe da glaube ich was

            Mit mod_gzip wird gezipptes an den Browser gesendet? Stimmt das?

            Wie kann ich aber in Perl sowas machen:

            LogFile="gzip -d <D:/Tools/Logs/domain.de.log.gz |"

            Reicht dafür auch mod_gzip? Irgendwer muss das ja packen/entpacken, macht das das Modul oder benötige ich dafür noch etwas?

            Kommentar


            • #7
              dll's funktionieren ja auch nur unter Windows
              UNIX und Windows haben ja ganz andere Paradigmen bez. dynamischen Libs.

              Apache is ja eigentlich eine UNIX-Entwicklung, die API is aber für UNIX und Windows dieselbe. Die .so Dateien sind eben in der compilierten Distribution dabei.

              gzip in perl verwenden??

              Das gzip Modul hat den Zweck die übertragenen Daten transparent zu komprimieren/dekomprimieren.

              Um gzip in perl scripten direkt zu verwenden musst du das Perl Modul installieren.
              Archive::TarGzip wäre das.

              Des hat ja nichts mit dem mod_gzip zu tun.

              Und für dein Beispiel muss am Server das Programm gzip installiert sein.
              Das ist ja nur ein Aufruf eines externen Programms.

              Die Konfigurationen bei dem genannten Link sind eben Einstellungen für das gzip-Modul. Welche Mimetypes komprimiert werden sollen, etc. etc.
              Zuletzt geändert von iQD; 28.03.2004, 21:39.
              FreeBSD - Unleash the daemon inside your PC

              Kommentar


              • #8
                Hallo,

                das ist mir eben auch klar geworden, so ein Mist

                Mal schaun, dann muss ich mir erstmal gzip besorgen. Aber wofür benötige ich dann mod_perl? Das ist mir noch nicht ganz klar.
                Zuletzt geändert von razer2k; 28.03.2004, 21:44.

                Kommentar


                • #9
                  Ja, gibts auch für Windows:

                  http://www.gzip.org/#sources

                  Das Problem (ich nehme an Files packen/entpacken etc.) lässt sich eben auf 2 Arten lösen:

                  Aufruf des externen Programmes oder eben durch das Perl Module.
                  Das Perl Module "Archive::TarGzip" ist hier gemeint. Des stellt Funktionen zur Verfügung um Dateien zu packen/entpacken.

                  mod_perl:
                  mod_perl gives you a persistent Perl interpreter embedded in your web server.
                  Das ist eben ein Apache Modul. Anstatt den externen Perl Interpreter jedesmal aufzurufen, wird das durch das Perl Modul erledigt. Der Apache hat sozusagen dann den Perl-Interpreter integriert.
                  Schneller, keine langen Startupzeiten des Interpreters etc.
                  Zuletzt geändert von iQD; 28.03.2004, 21:52.
                  FreeBSD - Unleash the daemon inside your PC

                  Kommentar


                  • #10
                    Danke für die Hilfe, langsam gehts voran.
                    Also, gzip ist installiert und in der Path-Variablen, der Aufruf über die Eingabeaufforderung funktioneirt aber nur mit:
                    "gzip -d <D:/Tools/Logs/domain.de.log.gz"
                    nicht mit:
                    "gzip -d <D:/Tools/Logs/domain.de.log.gz |"
                    Habe leider auch im Manual nichts gefunden was das | bedeutet.

                    Im Perlscript funktoniert es leider noch nicht.
                    Im Logfile erscheint der Fehler:

                    [Sun Mar 28 21:25:07 2004] [error] [client 127.0.0.1] Der Befehl "gzip" ist entweder falsch geschrieben oder
                    [Sun Mar 28 21:25:07 2004] [error] [client 127.0.0.1] konnte nicht gefunden werden.



                    Dann bleibt nur noch die Frage, was mache ich mit der Archive-TarGzip-0.02.tar ??

                    Kommentar


                    • #11
                      "|" heisst "Pipe"
                      Damit kannst du Programme verbinden.
                      progA | progB -> Ausgabe von progA ist die Eingabe von progB

                      "foo |" wäre ja ein "Invalid null command".

                      Es is ja kein Programm angegeben, welches die Ausgabe des ersten Programmes in Empfang nehmen kann.

                      Im Perlscript musst/sollst du absolute Pfade verwenden.
                      Zuletzt geändert von iQD; 28.03.2004, 22:17.
                      FreeBSD - Unleash the daemon inside your PC

                      Kommentar


                      • #12
                        Hallo!

                        Super vielen Dank, jetzt funktioniert es! Ich habe den absoluten Pfad zu gzip angegeben, das wars (aber warum? ist doch im PATH..., naja egal )

                        Allerdings brauche ich das | dahinter, sonst kommt eine Meldung "Invalid argument"

                        2 Fragen hätte ich noch

                        Was bedeutet das "<" in "gzip -d <D:/datei.log.gz |"?
                        Wenn ich gzip so direkt aufrufe (Eingabeaufforderung), werden die entpackten Dateien dann irgendwo abgelegt oder nur "onthefly" geöffnet? Kann ich gzip auch sagen, dass die entpackten Dateien irgendwo gespeichert werden sollen?

                        Kommentar


                        • #13
                          Die PFAD Variable is ja nur gültig in der Aufgabeaufforderung von Windows.
                          Woher soll des der Perl-Interpreter wissen.
                          Die Variablen werden nich in den Perl-Interpreter exportiert. Das musst im Interpreter selber einstellen, wo er nach ausführbaren Datein sucht.

                          Sehr merkwürdig, dass du die Pipe benötigst. Naja Windows war ja immer schon suspekt ...

                          "<" und ">" etc. sind für Output-Redirecting.

                          das "<D...." ist hier ohnehin falsch.

                          Das leitet den Inhalt der Datei D...... zum Programm gzip.
                          Und gzip gibt dessen Inhalt nach dem Entpacken dann auf stdout aus.

                          Um die entpackten Dateien an einer bestimmten Stelle abzulegen musst du die Ausgabe umleiten:

                          gzip -cd <gepacktes file> | <entpacktes file>

                          c steht für stdout

                          Des macht nix anderes als:
                          entpacke <gepacktes file> nach stdout und leite es nach <entpacktes file> um.
                          Zuletzt geändert von iQD; 28.03.2004, 23:05.
                          FreeBSD - Unleash the daemon inside your PC

                          Kommentar


                          • #14
                            Hallo iQD,

                            danke für die Erklärung, jetzt ist mir alles klarer.
                            Also in dem Fall ist das < doch richtig, weil die Datei ja nicht gespeichert werden soll, sondern direkt vom Programm verarbeitet werden. Das war nur so eine Frage.

                            Läuft alles perfekt

                            Kommentar

                            Lädt...
                            X