Subversion + Trac インストール
会社で使っているSubversionがとても便利なのと、いちいち変更したファイルを同期するのが面倒なので、導入することに。
Subversionのインストール
$ yum -y install mod_dav_svn
レポジトリを'/var/www/svn'としました。
プロジェクト名は'test'です。
$ mkdir -p /var/www/svn $ svnadmin create /var/www/svn/test
トランク、タグ、ブランチ用のディレクトリを作成。
$ svn mkdir file:///var/www/svn/test/trunk file:///var/www/svn/test/tags file:///var/www/svn/test/branches -m "init repository layout (trunk,tags,branches)"
apacheからファイルの書き込みができるようにパーミッションを変更。
$ chown -R apache.apache /var/www/svn/test
Basic認証の設定ファイルを作成
$ htpasswd -c /var/www/.htpasswd ユーザ名
apacheの設定変更。/etc/httpd/conf.d 以下に subversion.conf が出来ているので、編集する。
$ vim /etc/httpd/conf.d/subversion.conf <Location /svn> 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/.htpasswd Require valid-user </LimitExcept> </Location>
Tracのインストール
yumで簡単に入れたいところだが、CentOSの標準レポジトリにTracは含まれていないので、依存ライブラリをDAGからインストールするために、サードパーティーのレポジトリであるDAGレポジトリ(rpmforge)というものをインストールする。$ 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にする。DAGレポジトリの設定ファイルを編集する。enabled = 0 にする。
$ vim /etc/yum.repos.d/rpmforge.repo ・・・ enabled = 0 ・・・
そしてTracが依存しているライブラリをDAGからインストール
yum --enablerepo=rpmforge install -y python-clearsilver
ついでにmod_pythonも必要なので入れる。
yum install -y mod_python
日本語版をダウンロードして、解凍してインストール。
$ wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.6.ja1.zip $ unzip Trac-0.11.6.ja1.zip $ cd Trac-0.11.6.ja1 $ python setup.py install
このように出力された↓ん??
Traceback (most recent call last): File "setup.py", line 15, in ? from setuptools import setup, find_packages ImportError: No module named setuptools
どうやら、pythonのパッケージをもっていないらしいのでyumする
$ yum install -y python-setuptools
でもう一度、インストール
$ python setup.py install
成功した。
$ mkdir /var/www/trac
Tracプロジェクトの作成。こちらもsubversionのプロジェクト名と同じ'test'とする。
$ trac-admin /var/www/trac/test initenv
またもエラーらしき出力をされた。↓
Traceback (most recent call last): File "/usr/bin/trac-admin", line 5, in ? from pkg_resources import load_entry_point File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 2479, in ? working_set.require(__requires__) File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 585, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 483, in resolve raise DistributionNotFound(req) # XXX put more info here pkg_resources.DistributionNotFound: Genshi>=0.5
Googleさんに聞いて、解決。またpythonの何かが足りないらしいので、yum。
$ yum install -y python-genshi
そして、再度、Tracプロジェクトの作成。
$ trac-admin /var/www/trac/test initenv
大丈夫みたい。いろいろ聞かれる↓以下のように答えた。2,3質問はそのままEnter!した。
Project Name [My Project]> test Database connection string [sqlite:db/trac.db]> Repository type [svn]> Path to repository [/path/to/repos]> /var/www/svn/test
で、完了したので。Apacheで動作するように設定。
$ chown -R apache:apache test
/etc/httpd/conf.d/trac.confファイルを以下のように作成
$ vim /etc/httpd/conf.d/trac.conf <Location /trac> SetHandler mod_python PythonDebug On PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /var/www/trac PythonOption TracUriRoot /trac </Location> <LocationMatch "/trac/.*/login"> AuthType Basic AuthName "trac" AuthUserFile "/var/www/.htpasswd" Require valid-user </LocationMatch>
で再読み込みして、設定を反映させる。
$ /etc/rc.d/init.d/httpd reload
で http://サーバのアドレス/trac/testにアクセスして確認。
Tracのheaderの設定
デフォルトだと画面の左上の画像が指定されていないので、/var/www/trac/test/conf/trac.iniを指定した。事前にtracの画像を/var/www/icons/trac/trac_logo.pngに保存しておいた。$ vim /var/www/trac/test/conf/trac.ini ・・・・・ [header_logo] alt = trac_logo height = 61 link = ../ src = /icons/trac/trac_logo.png width = 214 ・・・・・
これで終了。↓
参考