Skip to main content

tracの前に・・・Apache+SVN

· 3 min read
前回に引き続き、tracの設定。

Apacheのconfから修正。

> ServerAdmin root@localhost
---
< ServerAdmin ken@teapla.net
264c264
> #ServerName www.example.com:80
---
< ServerName metis.teapla.net:80
730c730
> LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
---
< LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

/etc/http/conf.d/subversion.confの設定。 コメントになっているので、#を消して有効にするだけでOK。 この設定に合わせてSubversionの設定すれば比較的お手軽。

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /repos>
DAV svn
SVNParentPath /var/www/svn

# Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/users
Require valid-user
# </LimitExcept>
</Location>

ディレクトリ構成。 Subversionはsubversion.confにあったように/var/www/svn/projectして、tracは/var/www/trac/projectとするか。

Subversionの準備。

mkdir -p /var/www/svn
cd /var/www/svn
svnadmin create project
chown -R apache:apache project

tracの準備。

mkdir /var/www/trac
cd /var/www/trac
trac-admin project initenv

上記を実行するとプロジェクト名などを聞かれるので入力する。

Project Name [My Project]>
Database connection string [sqlite:db/trac.db]>
Repository type [svn]>
Path to repository [/path/to/repos]>

Project Nameは適当にプロジェクト名を入力。 DatabaseとRepository typeはそのままEnterを押しておけばよい。 Path to repositoryはSubversionのリポジトリパス。上記の流れで行くと/var/www/svn/projectとなる。

chown -R apache:apache project

trac用の設定ファイル。 /etc/http/conf.d/trac.conf

<Location /trac> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /var/www/trac PythonOption TracUriRoot /trac </Location>

<LocationMatch "/trac//*/login"> AuthType Basic AuthName "Authorization Realm" AuthUserFile /var/www/svn/users Require valid-user </LocationMatch>

最後にユーザを作ってとりあえず完了。

cd /var/www/svn/
htpasswd -c users username
/etc/init.d/httpd graceful

起動を確認。 http://servername/trac/にアクセスするとプロジェクト一覧が見れるはず。 細かな設定は後日。