Archiv verlassen und diese Seite im Standarddesign anzeigen : 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
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
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 :confused:
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
Danke, hat geklappt, habe jetzt wieder den alten Apache :D
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 (http://www.php-resource.de/forum/showthread.php?s=&threadid=6000&highlight=httpd.conf+gzip) ?
Ich merke gerade, ich verdrehe da glaube ich was :confused:
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? :confused:
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.
Hallo,
das ist mir eben auch klar geworden, so ein Mist :rolleyes:
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.
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.
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.
:confused:
Dann bleibt nur noch die Frage, was mache ich mit der Archive-TarGzip-0.02.tar ?? :confused:
"|" 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.
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 :rolleyes:
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?
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.
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 :cool:
|
|