Trac on Windows(4)
id:ooparts77:20060428#p1(Trac on Windows(2))の修正。Eclipseのプロジェクト単位にSubversionとTracへリポジトリを登録する方法をまとめる。以下、Eclipseのプロジェクト名を[project]とする。またSubversionとTracのリポジトリはそれぞれc:\svnrepos, c:\tracの下へ配置する。
c:\svnrepos c:\trac | | +-- \[project]--+-- trunk +-- \[project] | +-- branches | +-- tags
Tracプロジェクトのディレクトリ作成
Apacheのドキュメントルート、つまりhttpd.confのDocumentRootで定義されたディレクトリ下にTrac用のディレクトリprojectsを作成する。手順としては、もし
DocumentRoot "C:/www"
となっているなら
mkdir c:\www\projetcts
とするか、エクスプロラーでc:\wwwの下に新規フォルダprojetcts作成。そしてこのprojetctsの下に
する。
Subversionリポジトリの作成
以下のコマンドで作成。trunkはEclipseから登録したとき作成する(Subclipseは同名dirがあるとエラーになるため)
SET SVN_EDITOR=notepad.exe svnadmin create d:/svnrepos/[project] svn mkdir file:///d:/svnrepos/[project]/branches file:///d:/svnrepos/[project]/tags
admin.pyのrestore
Resolutionの日本語で更新されたadmin.pyだとエラーが起きるので、更新前のものに戻す。
対象はD:\Python23\Lib\site-packages\trac\scriptsの
- admin.py
- admin.pyc
Tracリポジトリの作成
手順はD:\Python23\Scriptsへcdしてadminを実行する。
(1)python trac-admin d:/trac/[project] initenv
(2)Project Name [My Project]> に対して [project]
(3)Database connection string [sqlite:db/trac.db]> に sqlite:db/[project].db
(4)Path to repository [/var/svn/test]> に d:/svnrepos/[project]
(5)Templates directory [C:\Python23\share\trac\templates]> は ENTERのみ
(6)d:\trac\[project]\conf\trac.iniを変更
default_charset = iso-8859-15 ↓ default_charset = MS932
[notification] always_notify_owner = true smtp_port = 25 smtp_password = smtp_enabled = true smtp_replyto = trac@localhost smtp_always_cc = always_notify_reporter = false smtp_from = ********** smtp_server = ***.***.***.*** smtp_user =
admin.pyの戻し
上記でrestoreしたものを戻す。
対象はD:\Python23\Lib\site-packages\trac\scriptsの
- admin.py
- admin.pyc
パスワードファイルの作成
各プロジェクト用パスワードファイルを作成。このファイルでアクセスできるユーザを定義する。手順としてはApacheのBasic認証用ファイルを作るのと同じ。
d:\Apache2\bin>htpasswd -c -m [project]_passwd user1 New password: ***** Re-type new password: ***** Adding password for user user1
2人目からは-cつけない。できたらD:\svnrepos\confへ置く。
httpd.confの調整
以上の内容をもとにhttpd.confへ定義を追加する。すでにSubversion, Tracに関する設定が記載されている場合は、それらと干渉しないか確認。
# Subversion <Location /svnrepos/[project]> DAV svn SVNPath d:\svnrepos\[project] AuthType Basic AuthName "svn [project]" AuthUserFile d:\svnrepos\conf\[project]_passwd Require valid-user </Location> # Trac <Directory "C:/Python23/share/trac/htdocs"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> RewriteEngine on RewriteRule ^/projects/+$ /projects/index.html [L] RewriteCond c:/trac/$1 -d RewriteRule ^/projects/([[:alnum:]]+)(/?.*) /projects/trac.cgi$2 [S=1,E=TRAC_ENV:c:/trac/$1] RewriteRule ^/projects/(.*) /projects/index.html <Directory "c:/www/projects"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch AddHandler cgi-script .cgi Order allow,deny Allow from all </Directory> <Location "/projects/[project]"> #mod_pythonが有効な場合 SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv c:/trac/[project] #PythonOption TracUriRoot /projects/[project] AuthType Basic AuthName "trac [project]" AuthUserFile c:\svnrepos\conf\[project]_passwd Require valid-user </Location>
最後にrewrite_moduleを有効にする。
#LoadModule rewrite_module modules/mod_rewrite.so ↓ LoadModule rewrite_module modules/mod_rewrite.so
これでApacheを再起動すれば準備OK。
プロジェクトへログイン
上記の設定によりhttp://[サーバ名]/projects/[project]でアクセスできるようになる。このときBasic認証のダイアログが表示されるので、所定のユーザ名/パスワードを入力する。ログイン後、リポジトリブラウザをクリックしてもこの段階では、空のbranches/tagsしかない。
Eclipseからのプロジェクトをチェックインする
Subclipse0.9.37の場合、以下の手順でプロジェクトをチェックインする。
- パッケージエクスプローラで対象プロジェクト(プロジェクト名は[project])を選択。右クリックで[チーム]→[プロジェクトの適用]
- svnを選択→[次へ]
- 「新しいリポジトリロケーションを作成」を選択→[次へ]
- 「URL」に"http://[サーバ名]/svnrepos/[project]"を入力。ユーザ名/パスワードを入力して→[次へ]
- 「指定したファイル名を使用」を選択して"trunk"を入力→[次へ]→[終了]
- チェックインするファイルを選択→[OK]
リポジトリの閲覧
これでhttp://[サーバ名]/projects/[project]にアクセスするとtrunkが現れる。
プロジェクトのチェックアウト
Subclipseのリポジトリエクスプローラでtrunkを選択。右クリックで[プロジェクトとしてチェックアウト]を選択する。