
http://plagger.org/のようなtrac&svn環境を作りたかったので頑張ってみました。
Apache1.3系でtracとsvnwebの構築をしました。
例としてBloxabというプロジェクトを立ち上げる時の構築方法で書いていきます。
ディレクトリとかユーザー名とかは適時書き換える事。
tracの細かい事についてはドキュメントとかを参考に。
$ svnadmin create /usr/local/bloxab/repos普通にリポジトリを作ります。
trac-admin /usr/local/bloxab/trac initenvrepositoryは/usr/local/bloxab/reposを指定します。
$ sqlite3 /usr/local/bloxab/db/trac.dbとして匿名アクセスは読み込みのみ許可に変えてます。
sqlite> delete from permission where username = 'anonymous' and action not like '%VIEW';
$ trac-admin /usr/local/bloxab/trac permission add MyName TRAC_ADMINしてます。
$ htpasswd -c /usr/local/bloxab/trac/htpasswd MyName
$ tracd_safe&これでport 11001 でtracdがあがりました。
LoadModule dav_svn_module modules/mod_dav_svn.soこれでapache2を起動すれば
LoadModule authz_svn_module modules/mod_authz_svn.soListen 127.0.0.1:11002
ServerName svn.example.jp:80<Location /repos/bloxab>
DAV svn
SVNPath /usr/local/bloxab/repos# how to authenticate a user
AuthType Basic
AuthName "Bloxab repository"
AuthUserFile /usr/local/bloxab/trac/htpasswd# For any operations other than these, require an authenticated user.
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
$ svn co http://localhost:11002/repos/blocabでチェックアウト可能です。
#for tracdlogとかその他は適当に設定して下さい。
<VirtualHost example.jp>
DocumentRoot 適当に
ServerName example.jpRedirectMatch ^/$ http://example.jp/trac
ProxyPass /trac http://localhost:11001/trac
ProxyPassReverse /trac http://localhost:11001/trac
</VirtualHost>#for svnweb
<VirtualHost svn.example.jp>
ServerName svn.example.jp
ProxyPass / http://localhost:11002/
ProxyPassReverse / http://localhost:11002/
</VirtualHost>
だいたいこんな感じでplagger.orgのような環境が出来上がります。
これでhttp://example.jp/にアクセスするとtracにhttp://svn.example.jp/repos/bloxab/にアクセス/svn coする事が可能になりました。