Tracのリストア

サーバーが逝った時のことを想定して、TRACのリストアをテスト

VMのイメージは、この前作ったCentOS 4.5を使用、カーネルインストールまで終わっている環境のバックアップを取ってます。これを使います。(Rubyのテスト用に作ったんだけどね・・・)
VM等でテストすると、ここら辺がお手軽でよいです(^o^)/

DAG(rpmforge)をインストール

追加のパッケージをyumでインストールできるので便利、特に後でインストールする「ClearSilver」がインストールできるようになるので、ここでインストールする。
最新パッケージは、ここで確認

# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.4-1.el4.rf.i386.rpm
# rpm -ivh rpmforge-release-0.3.4-1.el4.rf.i386.rpm

終わったら、アップデートしておく

# yum update

apachesubversionをインストール

# yum install httpd subversion mod_dav_svn mod_ssl

起動と起動設定

# service httpd start
httpd を起動中:                                            [  OK  ]
# chkconfig httpd on
# chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

subversionのリストア

リポジトリの作成

/var/svnの下にプロジェクト名毎にリポジトリを作るとする。
リポジトリの中でプロジェクト分けたほうがよいのかな?)

# mkdir /var/svn
# cd /var/svn
# svnadmin create /var/svn/<プロジェクト名>
# svnadmin load /var/svn/<プロジェクト名> < dumpfile
<<< オリジナルのリビジョン *** に基づき、新しいトランザクションを開始しました

------- リビジョン *** をコミットしました >>>

Apacheから操作できるようにオーナーを変更しておく

# chown -R apache.apache /var/svn/<プロジェクト名>
Subversionの再設定

リポジトリへデータの取り込みはできたものの、これでは外のパソコンから参照できない。
で、設定をしてやる

/etc/httpd/conf.d/subversion.confを編集

#vi /etc/httpd/conf.d/subversion.conf
<Location /repos/<プロジェクト名>>
   DAV svn
   SVNPath /var/svn/<プロジェクト名>
   
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /var/svn/.passwd
      Require valid-user
   </LimitExcept>
</Location>

Basic認証用のパスワードファイルを作成する。

# htpasswd -c /var/svn/.passwd <登録するユーザー名>
New passwd: <パスワードを入力>
Re-Type new password: <パスワードを入力>
Adding password for user <登録するユーザー名>

htpasswdの-cはクリエートのオプションなので、次からは.passwdファイルが既にあるならいらない

Apacheを再起動させる

# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]


ためしにアクセスしてみる
http://<サーバーのIP>/repos/<プロジェクト名>

Revision ***: /

* branches/
* tags/
* trunk/

こんなのが表示されるはず。

これでバージョン管理システムはOK,次はTrac

TRACの再インストール

まずは、Tracを再インストール

Trac必要なもの

こんなところ、

日本語版無くても良いのなら(# yum install tracでよい)

pythonをインストール

pythonと日本語コーデック、Python/XMLをインストール
最新版の確認は、以下を確認
JapaneseCodecs : http://www.python.jp/pub/JapaneseCodecs/

# cd
# yum install mod_python python-devel clearsilver python-clearsilver
........
# wget http://ftp.python.jp/pub/JapaneseCodecs/JapaneseCodecs-1.4.11.tar.gz
# tar xvfz JapaneseCodecs-1.4.11.tar.gz
# cd JapaneseCodecs-1.4.11
# python setup.py install

# wget http://jaist.dl.sourceforge.net/sourceforge/pyxml/PyXML-0.8.4.tar.gz
# tar xvfz PyXML-0.8.4.tar.gz
# cd PyXML-0.8.4
# python setup.py install

trac日本語版のインストール

日本語版を用意してくださっているインアタクトさんに感謝しつつインストール

# wget http://www.i-act.co.jp/project/products/downloads/trac-0.10.4-ja-1.zip
# unzip trac-0.10.4-ja-1.zip
# cd trac-0.10.4-ja-1.zip
# python setup.py install

Tracのリストア

バックアップしていたデータをリストア

# service httpd stop
# cp -Rf <バックアップデータ>/* /var/www/trac/project
# vi /var/www/trac/hoge/conf/trac.ini
repository_dir=<この値を新しいSubversionのリポジトリに変更>
# trac-admin /var/www/trac/project resync
Resyncing repository history...
** revisions cached. Done.
# service httpd start

Apacheの設定

Tracmod_python用の設定は、/etc/httpd/conf.d/python.confに追加

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

<LocationMatch "/[^/]+/login">
   AuthType Basic
   AuthName "Trac"
   AuthUserFile /var/svn/.passwd
   Require valid-user
#   SSLRequireSSL
</LocationMatch>

SSLは使ってないのでコメントしてますorz

って感じ。