« redMine&Apache(Proxy) | Main | ThinkFree »

2007.05.14

redMine&Apache(Proxy その2)

 mod_proxy_htmlを用いてサーバからブラウザへのレスポンス内のURLを書き換えることで、VirtualHostを使用せずにProxyを使用してWEBrick上で動作しているredMineにアクセスすることができるようです。

参考資料:
Running a Reverse Proxy in Apache
mod_proxy_html: Configuration

【ファイルのダウンロード】
1.Apache Loungeからmod_proxy_html-2.5.2-2.0.x-w32.zipをダウンロード。
2.アーカイブ内のlibxml2.dllおよびmod_proxy_html.soをApache2のmodulesフォルダ内にコピー。

【httpd.confの設定】
1.VirtualHostでProxyの設定を行っている場合、それらをコメントアウトしておく(残したままでも動くかもしれませんが、念のため)。
2.必要なモジュールの読込。とりあえず以下のモジュールを指定します。

LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadFile modules/libxml2.dll
LoadModule proxy_html_module modules/mod_proxy_html.so

3.Proxyの設定を行います。なお、testsvrはApacheおよびWEBrickが稼働しているマシン(同一マシン)のホスト名とします。
ProxyRequests off
ProxyPass /webrick/ http://testsvr:3000/
ProxyPassReverse /webrick http://testsvr:8080
ProxyHTMLURLMap http://testsvr:8080 /webrick
<Location /webrick/>
  ProxyPassReverse /
  ProxyHTMLMeta On
  ProxyHTMLExtended On
  SetOutputFilter proxy-html
  ProxyHTMLURLMap / /webrick/
  ProxyHTMLURLMap /webrick /webrick
  RequestHeader unset Accept-Encoding
</Location>

 WEBrickを起動後、http://testsvr:8080/webrick/でアクセスすると、redMineにアクセスできます。レスポンス中のURLも書き換わってるため、画像ファイルの表示やログイン等も問題なくできます・・・が、スタイルシートやJavaScriptへのリンクの部分で上手く置換できない場合があるようで、残念ながら完全に使える状態とはいかないようです(涙)。

#なお、Apacheの起動に失敗する場合、Microsoft Visual C++ 2005のランタイムがない可能性があります(mod_proxy_htmlのモジュールがVC++でコンパイルされているようです)。その場合、Microsoft Visual C++ 2005 再頒布可能パッケージ (x86)からダウンロードし、インストールすればOK。

|

« redMine&Apache(Proxy) | Main | ThinkFree »

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/15025080

Listed below are links to weblogs that reference redMine&Apache(Proxy その2):

« redMine&Apache(Proxy) | Main | ThinkFree »