love! LOVEHINA - love2hina.net
メニュー



アーカイブ
2009/07/27 WHSにレポジトリサーバーを作ろう! その5

作成者: カテゴリー: 未分類

IISでTracを動かそう。

とはいうものの、CGI上のPythonでTracをキックするとタイムアウトするほど重い…
ので、今回はRunning Trac on IIS 6 using AJPに書いてある方法を使うことにします。
> http://trac.edgewall.org/wiki/TracOnWindowsIisAjp

IIS 6.0がフロントエンドサーバーとしてリクエストを受け付け、
AJPコネクターによって、Tracデーモンへ転送します。

…なんか、この構成を見ると、Cosminexusを思い出してしまうのは、職業病?
(HWSがフロント、リダイレクターによってAJP接続し、
uCosminexus Application Serverへ転送するので。)

…とか言う話をすると、どこの人だかわかりそうですがw

で、Tracのwikiに親切後丁寧に全部書いてあるので、その通り設定します。
とはいうものの、tracのデーモンをマシンを再起動するたびに
毎度毎度コマンドを打って起動するのも面倒なので、
サービス化しちゃいましょう。

Windows Server 2003 Resource Kit Tools
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en&displaylang=en

をダウンロードして、実行ファイルをサービスとして実行できる、srvany.exeを使用します。

initsrvでsrvanyをサービスとして追加します。(たぶん、sc.exeでもできるとおもう)

> initsrv TracService “C:\\Program Files\\Windows Resource Kits\\Tools\srvany.exe” -a “NT AUTHORITY\\LocalService”

外部ネットワークや管理者権限は不要なので、LocalServiceにしました。

レジストリエディタで以下のキーを作成します。
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\TracService\\Parameters

その配下に、
Application(文字列値):
C:\\develop\\python2.6.2\\python.exe

AppParameters(文字列値):
“C:\\develop\\python2.6.2\\Scripts\\tracd-script.py” –port=8009 –protocol=ajp –unquote –env-parent-dir=”D:\\repository\\trac” –base-path=/develop/trac

AppEnviroment(複数行文字列値):
Path=C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\develop\\python2.6.2;C:\\develop\\python2.6.2\\Scripts;C:\\develop\\MySQL Server 5.1.36\\bin
SystemDrive=C:
SystemRoot=C:\\WINDOWS
WinDir=C:\\WINDOWS
ProgramFiles=C:\\Program Files
HGENCODING=utf_8
PYTHON_EGG_CACHE=D:\\repository\\egg-cache
APR_ICONV_PATH=C:\\develop\\Subversion1.6.3\\iconv

といった感じで、起動パラメーターや環境変数を設定しました。

> net start TracService

サービスとして登録できました!