tracの移行作業

少し前のことですが、tracの移行作業(subversionリポジトリ移行も含む)を行いました。

今後、同じ作業をどこかでするかもしれませんので、忘れないようにメモ。

例として、

を別マシンに移行する場合を考えます。tracのDBはsqliteとします。

まず、移行元のマシンでtrac-projとsvnrepのバックアップを取ります。他ユーザのアクセスとバックアップが競合しないようにhotcopyコマンドを使ってロック+バックアップします。

$ trac-admin ~/trac/trac-proj hotcopy trac-backup
$ tar cvfz trac-backup.tar.gz trac-backup

$ svnadmin hotcopy ~/svn/svnrep svn-backup 
$ tar cvfz svn-backup.tar.gz svn-backup

ディレクトリ位置は適当です。自分の環境に合わせて変更すること。


移行先に両tar.gzファイルを持って行き、展開。なお、リポジトリの位置が移行元と違う場合、移行先でtrac-proj/conf/trac.iniの修正が必要。

例えば、以下のような感じ。

repository_dir = /home/user/svn/svnrep
↓
repository_dir = /var/svn/svnrep

移行先tracのバージョンが移行元より新しい場合、以下コマンドを使ってtracプロジェクトの更新をしておく。

$ trac-admin trac-proj upgrade

apacheの設定とかに関しては、以下リンク先を参照 (Trac月プロジェクト*1における移行作業の話だけど、十分役に立ちます)

http://sourceforge.jp/projects/traclight/wiki/Install

なお、apache2.2より、httpd.conf内の"AuthDigestFile"が"AuthUserFile"に変わったので注意すること。

*1:Windows上にTracに必要なパッケージ(trac, apache, subversion等)をまとめて入れるソフトウェアの開発プロジェクト