珍しくゲームとかの話でなく。
仕事で使ってるTracのバージョンが古いので新しくしてみた。
とはいえ、うまく動作しなかったので、Redmineもインスコしてみてます。
そっちはまた後日。

■インストール済み関連モジュール
Subversion1.1.4
Trac0.9.X(ログ取り忘れ)

■パスとか
SVNレポジトリ(Parent)/var/www/svn
SVNレポジトリ/var/www/svn/repos
TracEnv(Parent)/var/www/trac
TracEnv(Project)/var/www/trac/proj

▼SVNのバックアップ
# svnadmin dump /var/www/svn/repos > svn_rep_backup_20081030

▼TracEnvのバックアップ(念のためバックアップ)
# tar zcvf tracenv_backup_20081030.tar.gz /var/www/trac/proj
# mv tracenv_backup_20081030.tar.gz /tmp

▽SVNの再構築(サーバ移行の場合、今回は行っていない)
# svnadmin create /var/www/svn/repos
# svnadmin load /var/www/repos < svn_rep_backup_20081012
# chown -R apache:apache /var/www/svn/repos

▼yumでDag’s repositoryを取得するように設定
# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt
# vi /etc/yum.repos.d/dag.repo
-----------------------------------------------------------------
[dag]
name=Dag RPM Repository for RHEL4/CentOS4
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el4/en/$basearch/dag/
enabled=0
gpgcheck=1
-----------------------------------------------------------------
enabled=1に設定しておくと普通にyumコマンドを打ったときもDAGを適応するようになるが、依存関係とか諸々が怖いので今回はパス。
"--enablerepo=dag"をオプション追加することで利用できる。
ex.
# yum list --enablerepo=dag

▼ついでなのでyum-plugin-fastestmirrorもインストールしておく
# yum -y install yum-plugin-fastestmirror
# vi /etc/yum.conf
-----------------------------------------------------------------
plugins=1
-----------------------------------------------------------------
0だったら1に行自身がなかったら付け加える

▼Subversionアップグレード
RPMforgeでアップデート。
詳しくは↓こちらの日記を参照してください。
http://24503.diarynote.jp/200902021640404600

▼setuptoolsとPythonモジュールをインストールする
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
# easy_install -Z genshi
# easy_install pygments

▼Tracのインストール
元が0.9系と古いのでyumでインストールできる最新のもの(英語版)を一旦入れる。
(依存関係対応のため)
まずは確認
# yum list --enablerepo=dag trac
>trac.noarch 0.10.4-1.el4.rf
インストール
# yum install --enablerepo=dag trac
そしてアンインストール
# yum remove trac
んで、日本語版をインストールする
# mkdir trac
# cd trac
# wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.1.ja1.zip
# unzip Trac-0.11.1.ja1.zip
# cd Trac-0.11.1.ja1
# python setup.py install

▼TracEnvアップグレード
#trac-admin /var/www/trac/proj upgrade
#trac-admin /var/www/trac/proj wiki upgrade

▼Tracdで確認
# tracd --port 8000 /var/www/trac/proj
確認できたらCtrl+Cで止める

▼mod_dav_svnの確認
# cd /etc/httpd/conf.d/
# vi subversion.conf
-----------------------------------------------------------------
<Location "/repos">
DAV svn
SVNPath /var/www/svn/repos
SVNListParentPath on
# AuthType Digest
# AuthName trac
# AuthDigestFile "/var/www/trac/htdigest"
# Require valid-user
</Location>
-----------------------------------------------------------------
を追加。
# /etc/init.d/httpd configtest
で構文のチェックをしてOKならhttpd再起動。
# /sbin/service httpd reload
http://myhost/repos/で確認。確認OK。
このままだと素で見れてしまう(といっても社内LANではあるが)のでDIGEST認証導入。
コメントアウトをはずして再チャレンジ。
# htdigest -c /var/www/trac/htdigest trac admin
# chown apache:apache /var/www/trac/htdigest
# vi subversion.conf
-----------------------------------------------------------------
<Location "/repos">
DAV svn
SVNPath /var/www/svn/repos
SVNListParentPath on
AuthType Digest
AuthName trac
AuthDigestFile "/var/www/trac/htdigest"
Require valid-user
</Location>
-----------------------------------------------------------------
# /etc/init.d/httpd configtest
# /sbin/service httpd reload
再度確認。OK。

▼tracのWeb確認
svntrac.confを新たに作成し、ApacheでTracを動作させる。
# cd /etc/httpd/conf.d/
# vi svntrac.conf
-----------------------------------------------------------------
<Location "/trac">
SetHandler mod_python
PythonDebug on
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir "/var/www/trac/"
PythonOption TracUriRoot /trac
PythonOption PYTHON_EGG_CACHE "/var/cache/egg"
</Location>

#<LocationMatch "/[^/]+/login">
# AuthType Digest
# AuthName trac
# AuthDigestFile "/var/www/trac/htdigest"
# Require valid-user
#</LocationMatch>
-----------------------------------------------------------------
# /etc/init.d/httpd configtest
# /sbin/service httpd reload
あれ・・・真っ白。なので、エラーログを見渡す。
>child pid 2255 exit signal Segmentation fault (11)
orz
で色々調べたり入れなおしたりするも回復せず。
tracdでは動いていたので、apacheのmodがうまく動いてないご様子ではあるのですが。
しょうがないので、cgiで動作させるように設定
# rm svntrac.conf
# vi svntrac.conf
-----------------------------------------------------------------
ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi
<Location "/trac">
SetEnv TRAC_ENV "/var/www/trac/proj"
</Location">
-----------------------------------------------------------------
# /etc/init.d/httpd configtest
# /sbin/service httpd reload
http://myhost/trac/
とりあえず動作していますが、すごく重いです&リポジトリが文字化け。
継続調査の予定ですはい。

■refs
参考にしたURL。感謝。
http://d.hatena.ne.jp/MasaGon/20080415/1208272376
http://d.hatena.ne.jp/slywalker/20081012/1223798813
http://www.hanada.org/setting-up-trac-on-centos5
http://discypus.jp/wiki/?%A5%BD%A5%D5%A5%C8%2FBug%20Tracking%2Ftrac%2FCentOS

コメント

お気に入り日記の更新

最新のコメント

この日記について

日記内を検索