Thursday, August 27, 2009

mod_proxy_html.so 3.0.1 for SuSE - how to compile apache module

I am not particularly proficient in compiling apache modules or anything, but since mod_proxy_html doesn't come as a binary, one has to compile mod_proxy_html.c from source. Here is my story, at least in SuSE 10.x.
  1. Download v3.0.1 under "Availability": http://apache.webthing.com/mod_proxy_html/
  2. apsx is not in my path, and gcc hurt my head, so I did:
    /usr/sbin/apxs2 -c -I /usr/include/libxml2 -i mod_proxy_html.c
    called from within the folder to which I extracted mod_proxy_html.c in step 1 above. Note: this overwrote my previous mod_proxy_html.so (but I am ok with that).
  3. Got some compiler warnings followed by a success message! It worked, but config has changed somewhat from v2.5. I next spent some time updating config.
Some notes:
  • in vhost .conf's or http.conf
    LoadModule proxy_html_module /usr/lib/apache2/mod_proxy_html.so
    is unchanged but worth mentioning for first time users..
  • Looks like the new directives (shown in the sample/base proxy_html.conf) are usable anywhere in your vhost or httpd.conf config files. Order appears to be important... Mine, in testing, looks like:
    SetOutputFilter proxy-html
    ProxyHTMLDoctype XHTML
    ProxyHTMLExtended On
    ProxyHTMLURLMap /app_context/ / R

    ProxyHTMLLinks a href onclick
    ProxyHTMLLinks embed src
    ...

    Funny thing is, though, embed is not valid xhtml, so it's getting totally wiped out of source! To get around that, I set:
    ProxyHTMLDoctype XHTML Legacy
    Better would be to get away from "embed" for this inline PDF.
What mod_proxy_html 3.0.x brought to me, previously only familiar with 2.5.x, was more configuration, external to the binary. I just needed to add "embed"->"src" which did work, but ProxyHTMLDoctype sucked the whole element out in the first place! (see above)

0 Comments:

Post a Comment

<< Home