Hallo Frank, On Wed 27 Feb 2008, Frank Zündorff wrote:
Leider fehlt wohl das Modul mod_proxy_html.so. Scheinbar ist dieses Modul in der Distribution nicht enthalten.Ich möchte ungern einen Apache wegen der Abhängigkeiten selbst compilieren. Gibt es noch einen anderen Lösungsweg?
Du solltest erstmal untersuchen, ob Du proxy_html überhaupt brauchst. Wenn der HTML Text der Kamera nur relative Links enthält brauchst Du es nämlich nicht. Falls der Text nur relative oder Links enthält, die mit /... beginnen, kannst Du immer noch versuchen, die Struktur Deiner Seite entsprechend anzupassen. Lauten die Links z.B. immer auf /kamera/..., dann reservierst Du halt /kamera auf Deiner Seite für die Kamera. Bei mehreren Kameras vom gleichen Typ wird das natürlich nicht gehen. Wenn das alles nicht hilft, brauchst Du irgendwas, was die ausgelieferten Seiten patcht. Der übliche Weg ist dann wohl mod_proxy_html. Wenn Du in Perl fit bist, spricht aber auch nichts gegen einen Output-Filter mit mod_perl. Ich habe sowas mal für CSS Files gemacht: sub { use Apache2::Filter; use Apache2::Const -compile=>qw/OK DECLINED/; use strict; use warnings; my @args=qw!http://example.com /kamera!; # das sind die Parameter. # ähnlich wie für ProxyPassReverse my ($f)=@_; unless( defined $f->ctx ) { unless( $f->r->content_type eq 'text/css' ) { $f->remove; return Apache2::Const::DECLINED; } $f->r->headers_out->unset('Content-Length'); my $buf=''; $f->ctx(\$buf); } my $bufref=$f->ctx; while( $f->read( my $buffer, 1024 ) ) { $buffer=$$bufref.$buffer; $$bufref=($buffer=~s/\b(url\([^)]*)$//) ? $1 : ''; $buffer=~s!\burl\(\s*(?:/+|\Q$args[0]\E/+)!url($args[1]/!g; $f->print($buffer); } if( $f->seen_eos ) { $f->print(${$bufref}) if( length ${$bufref} ); } return Apache2::Const::OK; } Solch eine Funktion kannst Du auch direkt als PerlOutputFilterHandler in der httpd.conf oder einer .htaccess angeben. Du mußt dann halt ein wenig mit dem Quoting aufpassen. (Das sind übrigens kaum mehr Zeilen als die Konfiguration von mod_proxy_html erfordern würde.) Alternativ kann ich Dir ein RPM für mod_proxy_html geben, das allerdings mit meiner eigenen Apache-Version kompiliert wurde. Natürlich würde ich Dir auch die Apache-Pakete (2.2.6) und was sonst so dazu gehört geben. Das ist aber alles ein wenig mod_perl-lastig. Ich habe z.B. kein mod_php oder mod_ruby oder so, dafür aber alles, was Du für mod_perl und einen Proxy brauchst und auch mod_dav_svn. Installiert alles nach /opt. Falls Du das nicht magst, kannst Du auch das mod_proxy_html-SRPM nehmen, auspacken, das SPEC-File anpassen und kompilieren. Das ist nicht schwer. Torsten -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org