Christoph Schnauß: Problem mit mod_gzip

hallo Forum,

Ich versuche grade, meinen Apache mit mod_gzip zusammenzuschrauben  -  unter WinXP. Von sourceforge.net habe ich mir dazu "ApacheModuleGzip.dll.zip" geholt, ausgepackt und in der httpd.conf die entsprechenden Einträge vorgenommen. Aber ich bekomme beim Serverstart einen Hinweis:
  Syntax error on line 67 of D:/Apache/modules/ApacheModuleGzip.dll:
  </body></html> without matching <body></html> section
Und dagegen bin ich machtlos. Die DLL ist kompiliert, ich müßte sie wieder auseinandernehmen ... Ich habe mir auch das tar.gz-Paket geholt und ohne viel Hoffnung mal probiert, ob ich es unter FreeBSD extra kompilieren kann. Geht sogar, es kommt auch eine DLL raus, aber einsetzbar ist sie natürlich nicht  -  auch nicht, wenn ich das mit gcc gleich unter Windows probiere.
Auf LINUX und *BSD klappt das Einbinden problemlos, auf Windows nicht.

Michael Schröpls Seite zu mod-gzip ist mir selbstverständlich bestens bekannt.

Hat jemand nen Hinweis?

Grüße aus Berlin

Christoph S.

  1. Moin Moin !

    Syntax error on line 67 of D:/Apache/modules/ApacheModuleGzip.dll:
      </body></html> without matching <body></html> section

    Ist die DLL auf Drogen? ;-)

    Was will die DLL mit HTML anfangen, und vor allem: Warum parst sie sich den Inhalt, statt ihn einfach durch den gzip-Algorithmus zu jagen?

    Ich habe den Verdacht, daß die Fehlermeldung eigentlich nicht aus der gzip-DLL kommt, sondern daß eine andere Apache-Erweiterung durcheinander kommt und im namen der gzip-DLL rumjammert.

    Michael Schröpls Seite zu mod-gzip ist mir selbstverständlich bestens bekannt.

    Das wäre mein erster Tip gewesen.

    Hat jemand nen Hinweis?

    Hat die DLL die zum Apache passende Version?

    Hast Du noch andere Apache-Erweiterungen (mod_php, mod_dieses, mod_jenes) eingebunden, die zicken könnten? Irgendeine Template-Engine?

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    1. hallo Alexander,

      Syntax error on line 67 of D:/Apache/modules/ApacheModuleGzip.dll:
        </body></html> without matching <body></html> section
      Ist die DLL auf Drogen? ;-)

      Sieht beinahe so aus, gelle?

      Was will die DLL mit HTML anfangen, und vor allem: Warum parst sie sich den Inhalt, statt ihn einfach durch den gzip-Algorithmus zu jagen?

      Keine Ahnung, deshalb hab ich ja gefragt. Vor allem das hier:
        </body></html> without matching <body></html>
      -----------------------------------------^
      ist problematisch, da ist ein slash zuviel drin. Ich könnte eine Beschwerde
        </body></html> without matching <body><html>
      wenigstens teilwesie verstehen, aber auch nicht beheben.

      Hast Du noch andere Apache-Erweiterungen (mod_php, mod_dieses, mod_jenes) eingebunden, die zicken könnten? Irgendeine Template-Engine?

      Nein. Wenn mir ein Modul Probleme macht (mod_ssl hat auch mal gezickt), stelle ich immer erstmal _alles_ ab, was stören könnte. Hab meine httpd.conf eh in lauter kleinere conf-Dateien zerschnipselt, so daß ich immer bloß ein Include in der httpd.conf aktivieren oder auskommentieren muß, um ganze "Blöcke" (z.B.virtual hosts) ein- oder auszuschließen. Die httpd.conf wird dadurch schön klein und übersichtlich.
      Ich habe im Augenblick unter WinXP auch keinen selber kompilierten Apache laufen, sondern die Installer-Software, so, wie ich sie heruntergeladen habe.

      Christoph S.

      1. Moin Moin !

        Syntax error on line 67 of D:/Apache/modules/ApacheModuleGzip.dll:
          </body></html> without matching <body></html> section
        Ist die DLL auf Drogen? ;-)
        Sieht beinahe so aus, gelle?

        Nein. Wenn mir ein Modul Probleme macht (mod_ssl hat auch mal gezickt), stelle ich immer erstmal _alles_ ab, was stören könnte. Hab meine httpd.conf eh in lauter kleinere conf-Dateien zerschnipselt, so daß ich immer bloß ein Include in der httpd.conf aktivieren oder auskommentieren muß, um ganze "Blöcke" (z.B.virtual hosts) ein- oder auszuschließen. Die httpd.conf wird dadurch schön klein und übersichtlich.

        Du versuchst nicht zufällig und versehentlich, die DLL selbst in die httpd.conf zu includen?

        Die Apache-Config-Parser Engine könnte in der DLL ein Fragment einer Fehlermeldung gefunden haben (</body></html>), und versucht nun, das als Konfigurationsdirektive à la <Directory>blabla</Directory> zu interpretieren.

        Die Engine findet </irgendwas>, ohne das vorher <irgendwas> gefunden wurde. Also beschwert sie sich (zu Recht). Das "irgendwas" ist in Deinem Fall "body></html".

        Alexander

        --
        Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
        1. hi,

          Du versuchst nicht zufällig und versehentlich, die DLL selbst in die httpd.conf zu includen?

          Doch. Ich habe unbegrenztes Vertrauen in Michael Schröpls Beschreibungen, und da ist genau das so beschrieben. Also mache ich es nicht "zufällig und versehentlich", sondern ganz arglos "laut Lehrbuch", was im übrigen auf LINUX-Seite ja auch wunderbar funktioniert. Eine Windows-Installation hatte ich bisher noch nicht probiert, heute war mir halt mal danach. Und prompt bin ich auf die Nase gefallen :-(

          Die Apache-Config-Parser Engine könnte in der DLL ein Fragment einer Fehlermeldung gefunden haben (</body></html>), und versucht nun, das als Konfigurationsdirektive à la <Directory>blabla</Directory> zu interpretieren.

          Könnte. Nur weiß ich nicht, wie ich da irgendeine Diagnose starten kann, um das zu verifizieren.

          Grüße aus Berlin

          Christoph S.

          1. Du versuchst nicht zufällig und versehentlich, die DLL selbst in die httpd.conf zu includen?
            Doch. Ich habe unbegrenztes Vertrauen in Michael Schröpls Beschreibungen, und da ist genau das so beschrieben.

            Nein, Alexander meinte, ob Du ungeschickterweise include statt loadmodule verwendet hast, denn der Text "</body></html>" taucht tatsächlich in der .dll auf (bei mir zwar in Zeile 91 und nicht 67, aber das ist möglicherweise eine Frage des Zeilenendeformats Windows <-> Amiga)). Das ist auch die sinnvollste Erklärung für Dein Problem:

            Die Apache-Config-Parser Engine könnte in der DLL ein Fragment einer Fehlermeldung gefunden haben (</body></html>), und versucht nun, das als Konfigurationsdirektive à la <Directory>blabla</Directory> zu interpretieren.
            Könnte. Nur weiß ich nicht, wie ich da irgendeine Diagnose starten kann, um das zu verifizieren.

            Wirf nochmal einen ganz genauen Blick in die Konfiguration.

            Gruß,
              soenk.e

            1. hallo soenke,

              Nein, Alexander meinte, ob Du ungeschickterweise include statt loadmodule verwendet hast

              Achso. Ich habe tatsächlich einmal "include" genommen, nur zum Vergleich (das tomcat-Modul mod_jk möchte zum Beispiel auf diesem Weg eingebunden werden), aber da sieht die Fehlermeldung anders aus.
              Nein, mein "Problem" ist schon bei der korrekten Verwendung von "LoadModule" aufgetreten.

              denn der Text "</body></html>" taucht tatsächlich in der .dll auf (bei mir zwar in Zeile 91 und nicht 67, aber das ist möglicherweise eine Frage des Zeilenendeformats Windows <-> Amiga)

              Wenn ich die DLL mit einem Texteditor aufmache, gibt es auch in WinXP die beanstandete Zeichenfolge "</body></html>" erst in Zeile 125, aber das hat nix zu sagen  -  wenn ich mit einem Texteditor in eine kompilierte Datei reinschiele, sind Zeilennummern eh sehr unzuverlässig.

              Wirf nochmal einen ganz genauen Blick in die Konfiguration.

              Was meinst du denn, was ich die ganze Zeit mache ;-)

              Grüße aus Berlin

              Christoph S.

  2. Hi,

    Ich versuche grade, meinen Apache mit mod_gzip zusammenzuschrauben  -  unter WinXP. Von sourceforge.net habe ich mir dazu "ApacheModuleGzip.dll.zip" geholt, ausgepackt und in der httpd.conf die entsprechenden Einträge vorgenommen. Aber ich bekomme beim Serverstart einen Hinweis:
      Syntax error on line 67 of D:/Apache/modules/ApacheModuleGzip.dll:

    Weiß zwar keine direkte Hilfe, aber mal so eine Idee:

    paßt die mod_gzip-Version zur Apache-Version?

    Bei Apache 2.x ist doch einiges an der Modul-Schnittstelle gegenüber der 1.3.x geändert worden...

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. hallo Andreas,

      paßt die mod_gzip-Version zur Apache-Version?
      Bei Apache 2.x ist doch einiges an der Modul-Schnittstelle gegenüber der 1.3.x geändert worden...

      Der Hinweis ist berechtigt. Ich habe aber beide Apache installiert (1.3.26 und 2.0.46) und stelle mir den an, den ich nun gerne haben möchte. Die Fehlermeldung kommt bei beiden, das heißt, der Apache startet gar nicht erst.

      Die mod_gzip-Version ist übrigens 1.3.26.1, das gute Stück stammt von CK.

      Christoph S.