« 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


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

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