カテゴリー
technology

Subversion + Trac 導入 on CentOS

Subversion と Trac の導入は過去に何度もやっているのに、毎回調べないと思い出せないくらいの頻度でしか行わないので面倒。ということで CentOS のケースをメモ。
ついでに SyntaxHighlighter の導入もして、かつコマンドライン風味とPerl風味を自作してみたが、その件は後日。


Subvesion 本体と WebDAV 経由で利用するための mod_dav_svn を導入。認証を Trac と共通化するのでおまじない(AuthUserFile)を入れる。

# yum install subversion
# yum install mod_dav_svn
# mkdir /home/svn
# svnadmin create --fs-type fsfs /home/svn/project_name
# svn mkdir file:///home/svn/project_name/trunk file:///home/svn/project_name/tags file:///home/svn/project_name/branches -m 'INITIAL'
# chown -R apache:apache /home/svn/project_name
# vi subversion.conf
---
LoadModule dav_module       modules/mod_dav.so
LoadModule dav_svn_module   modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNPath /home/svn/project_name
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/trac/project_name/.htpasswd
Require valid-user
#   </LimitExcept>
</Location>
---

Trac をパッケージで導入するためにおまじない。

# vi /etc/yum.repos.d/CentOS-Base.repo
---
[dag]
name=Dag RPM Repository for Redhat EL4
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
---
# yum install trac
# mkdir /home/trac
# trac-admin /home/trac/project_name initenv
# chown -R apache:apache /home/trac
# htpasswd -c /home/trac/project_name/.htpasswd admin
# vi trac.conf
---
Alias /trac/chrome/common /usr/share/trac/htdocs
<Directory "/usr/share/trac/htdocs">
Order allow,deny
Allow from all
</Directory>
ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi
<Location "/trac">
SetEnv TRAC_ENV         "/home/trac/project_name"
SetEnv PYTHON_EGG_CACHE "/tmp/python_egg_cache"
</Location>
<Location "/trac/login">
AuthType Basic
AuthName "trac"
AuthUserFile /home/trac/project_name/.htpasswd
Require valid-user
</Location>
---
# service httpd reload

Trac 用に追加のプラグインを入れるための準備。setuptools 導入。

# wget http://pypi.python.org/packages/2.3/s/setuptools/setuptools-0.6c9-py2.3.egg#md5=a83c4020414807b496e4cfbe08507c03
# sh setuptools-0.6c9-py2.3.egg

WebAdmin プラグイン導入。

# wget http://trac.edgewall.org/attachment/wiki/WebAdmin/TracWebAdmin-0.1.2dev_r4240-py2.3.egg.zip?format=raw
# mv TracWebAdmin-0.1.2dev_r4240-py2.3.egg.zip\?format\=raw TracWebAdmin-0.1.2dev_r4240-py2.3.egg
# easy_install TracWebAdmin-0.1.2dev_r4240-py2.3.egg

AccountManager プラグイン導入。

# easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10