Torsten Förtsch
IT System Development & Security
Kaum macht man's richtig, schon geht's, ;-)

>> Home >> Publikationen >> Mod_perl 2

In den Ausgaben 5/2005 und 6/2005 des Linux-Magazins ist mein kurzer Workshop zu Mod_perl's zweiter Version erschienen. Hier möchte ich dem interessierten Leser nun weiterführendes Material anbieten. Im Weiteren kürze ich Mod_perl 2 als MP2 ab. Version 1 heißt demzufolge MP1.

mod_perl-2.0.0-RC5

Gleich zu Anfang eine Anmerkung. Die im Text abgedruckten Beispiele funktionieren nicht mit RC5. Dieser Release Kandidat ist weit nach Redaktionsschluss am 11.4.2005 erschienen. Leider schaffte es dann nur noch ein Kasten in die gedruckte Ausgabe, der auf diesen Umstand hinweist.

Wie kann es aber kommen, dass zu einem so späten Zeitpunkt im Entwicklungszyklus noch Änderungen wirksam werden, die selbst einfache Beispiele inkompatibel machen? Auf dem Weg von RC4 zu RC5 wurde ein latentes Problem beseitigt, dass die mod_perl-Benutzergemeinde seit längerer Zeit bemängelt, nämlich der Apache:: Namensraum.

Warum nicht Apache::?

Zu Beginn der Arbeiten an MP2 entschieden die Entwickler, den von MP1 verwendeten Apache:: Namensraum auch für Version 2 beizubehalten. Damit würde eine MP2 Installation eine vorhandene Installation der Version 1 zerstören. Nun ist es aber durchaus legitim auf dem selben Rechner Apache 1 und 2 gleichzeitig zu betreiben, nur eben nicht beide mit Mod_perl. Um das Problem zu umgehen wurden mehrere Wege vorgeschlagen, die alle nicht sehr befriedigend waren. Bis RC4 gab es 2 Varianten, entweder man installierte den Perl-Interpreter selbst doppelt mit unterschiedlichen Modul-Pfaden, oder man benutzte MP2 in einen extra-Pfad. Letztere Variante wurde mit dem automatisch erzeugten Modul Apache2.pm unterstützt.

Mit RC5 wurde ein Schnitt gemacht. MP2 benutzt nun den Apache2:: Namensraum. Damit müssen aber alle Module, die bisher mit MP2 funktionierten angepasst werden. Die im Artikel erwähnten Beispiele sind hier in überarbeiteter Version zu finden.

Unteranfragen und Interne Weiterleitungen

Aus Platzgründen hat es ein Abschnitt über Unteranfragen und interne Weiterleitungen nicht in die gedruckte Fassung geschafft. Da das Thema durchaus zum tieferen Verstehen beiträgt, liefere ich ihn hier nach.

Zusammenarbeit mit mod_include

Hier werden Unteranfragen im Zusammenhang mit mod_include nochmal genauer betrachtet und eine Optimierung des bisherigen Codes vorgestellt.