WindowsにTracを導入してNFS上のリポジトリを管理する

  • 前提

NFS上のホームに置いてあるリポジトリ
¥¥サーバ名¥hoge¥repos
というような感じでsambaで見える

  • 手順
    • Trac月」という一括で全部入れてくれるパッケージを導入

http://sourceforge.jp/projects/traclight/wiki/FrontPage
から辿って最新バージョンをダウンロード。
今回はver1.4.3。


で普通にインストール。

スタートメニューの
Trac-コマンドプロンプトを起動。

TRAC_LIGHT_ROOTは「Trac月」をインストールしたディレクト

#プロジェクトを作成
create-project.bat 好きなプロジェクト名


TRAC_RIGHT_ROOT\projects\trac\ryo\conf\trac.ini
のrepository_dirを
¥¥Serv2¥hoge¥repos
というように所望のリポジトリパスに変更する。
これで、さっき作ったプロジェクトのレポジトリパスがローカルマシンのものではなく、リモートのマシンのものに設定される。

#リポジトリの設定を反映したのでtrac側に反映させる
trac-admin TRAC_RIGHT_ROOT\projects\trac\さっきのプロジェクト名 resync

    • 見てみる

スタートメニューの
Trac-コンソールから起動をクリックして専用のApacheを起動。
そして
http://localhost/プロジェクト名
にアクセス♪

  • 日本語が化けるとき

日本語をちゃんと読めるように
TRAC_RIGHT_ROOT\projects\trac\プロジェクト名\conf\trac.iniのコメントアウトされているdefault_charsetをutf8とかにセットする
ただし、これだとSJISとかEUCのファイルは依然として化けるので、そういった混在したリポジトリの場合は
http://espion.just-size.jp/archives/05/330101137.html
とか
http://www.machu.jp/diary/20051028.html
を参考に頑張る。

  • サーバが起動しない

Cドライブ以外に「Trac月」をインストールすると、c:/apache/manualが見つからないと起こられて起動しない。
そういう時はしょうがないので
TRAC_RIGHT_ROOT\apache2\conf\httpd.confの


#
# This should be changed to the ServerRoot/manual/. The alias provides
# the manual, even if you choose to move your DocumentRoot. You may comment
# this out if you do not care for the documentation.
#
AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "c:/apache/manual$1"


Options Indexes
AllowOverride None
Order allow,deny
Allow from all


SetHandler type-map

SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|ru)/ prefer-language=$1
RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|ru)){2,}(/.*)?$ /manual/$1$2

という部分を消してしまえばよい。
どうせ大して必要ないし。