CentOS5.3にSubversion+Tracを入れてみた

前回、Apacheをインストールしたので次にSubversionTracを入れてみる。

SELinuxの無効化

# setenforce 0
# vi /etc/sysconfig/selinux

#SELINUX=enforcing
SELINUX=disabled

ファイヤーウォールの無効化

# chkconfig iptables off

Subversionのインストール

mod_dav_svnにはSubversionをhttp経由で使うのに必要なパッケージが入っている

# yum install mod_dav_svn

subversionリポジトリを作成。ここでは、プロジェクト名は"project"とする

# mkdir -p /home/svn
# svnadmin create /home/svn/project

トランク、タグ、ブランチ用のディレクトリを作成

# svn mkdir file:///home/svn/project/trunk file:///home/svn/project/tags file:///home/svn/project/branches -m "init repository layout (trunk,tags,branches)"

apacheからファイルの読み書きができるようにパーミッションを変更

# chown -R apache.apache /home/svn/project

BASIC認証の設定

# htpasswd -c /home/svn/.htpasswd greennoah

apacheの設定変更

# vi /etc/httpd/conf.d/subversion.conf

<Location /svn>
   DAV svn
   SVNParentPath /home/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 /home/svn/.htpasswd
      Require valid-user
   #</LimitExcept>
</Location>

apacheの再起動と自動起動設定

# /etc/rc.d/init.d/httpd restart
# chkconfig httpd on

apacheを再起動

# /etc/rc.d/init.d/httpd restart

ブラウザで http://サーバのIPアドレス/svn/project でリポジトリにアクセスできるか動作確認をする。

Tracのインストール

DAGリポジトリの追加

# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

DAGリポジトリは標準でOFF。必要なときのみONとする

# vi /etc/yum.repos.d/rpmforge.repo
・・・
#enabled = 1
#enabled = 0
・・・

Tracが依存しているライブラリをDAGからインストール

# yum --enablerepo=rpmforge install -y python-clearsilver

mod_pythonとeasy_installをインストール

# yum install -y mod_python
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py

日本語化のTracをインストール。最新版はTrac0.11.4

# wget wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.4.ja1.zip
# unzip Trac-0.11.4.ja1.zip
# cd Trac-0.11.4.ja1
# python setup.py install

Tracプロジェクト用ディレクトリの作成

# mkdir /home/svn/trac

Tracプロジェクト用ディレクトリの作成。ここでもプロジェクト名は"project"とする

# trac-admin /home/svn/trac/project initenv

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

Tracパーミッションを変更する

# chown -R apache:apache /home/svn/trac/project

Trac用のapache設定ファイルを作成

# vi /etc/httpd/conf.d/trac.conf

<Location /trac>
   SetHandler mod_python
   PythonDebug On
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnvParentDir /home/svn/trac
   PythonOption TracUriRoot /trac
</Location>
 
<LocationMatch "/trac/.*/login">
   AuthType Basic
   AuthName "trac"
   AuthUserFile "/home/svn/.htpasswd"
   Require valid-user
</LocationMatch>

最後にapacheを再起動

# /etc/rc.d/init.d/httpd restart

ブラウザで http://サーバのIPアドレス/trac/project でTracにアクセスできるか動作確認する。


参考
http://www.cafechantant.com/blog/2007/08/27/centos5-%E3%81%A7-subversiontrac/