これで,
$ sudo mkdir /var/lib/svn $ sudo svnadmin create /var/lib/svn/MyProject $ sudo chown -R www-data /var/lib/svn/
Subversionのリポジトリを作成後,
ここでも,
$ sudo mkdir /var/lib/trac $ sudo trac-admin /var/lib/trac/MyProject initenv [中略] Project Name [My Project]> My Project [中略] Database connection string [sqlite:db/trac.db]> [中略] Repository type [svn]> [中略] Path to repository [/path/to/repos]> /var/lib/svn/MyProject [中略] Templates directory [/usr/share/trac/templates]> [中略] Congratulations! $ sudo chown -R www-data:www-data /var/lib/trac
Trac単体でもWebサーバの機能を持っているため,
まず,
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/lib/trac/MyProject
PythonOption TracUriRoot "/trac"
</Location>
<Location "/trac/login">
AuthType Basic
AuthName "My Project"
AuthUserFile /etc/apache2/svn.passwd
Require valid-user
</Location>
/trac以下すべてを基本認証で保護したい場合は,
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/lib/trac/MyProject
PythonOption TracUriRoot "/trac"
AuthType Basic
AuthName "My Project"
AuthUserFile /etc/apache2/svn.passwd
Require valid-user
</Location>
以上の設定を行って次のコマンドでApacheを再起動します。
$ sudo /etc/init.d/apache2 restart
ブラウザからhttp://ホスト名/tracにアクセスしてみてください。図1のような画面が表示されれば成功です。
次にApacheとSubversionを連携します。/etc/
<Location /svn>
DAV svn
SVNParentPath /var/lib/svn
AuthType Basic
AuthName "MyProject subversion repository"
AuthUserFile /etc/apache2/svn.passwd
</Location>
設定が終わったらApacheを再起動してください。
Apacheをフロントエンドに配置した場合のTracとSubversionの設定で,
次のコマンドでTrac,
$ sudo htpasswd -cm /etc/apache2/svn.passwd user1
コマンドを実行するとパスワードの入力を求められますので,
最後に,
$ sudo trac-admin /var/lib/trac/MyProject permission user1 TRAC_ADMIN