Trac0.9.6から0.10.3へのバージョンアップ(FreeBSD5.4編)
※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい
2007-06-10
今回は Trac のお話です。今まで、Pukiwiki や CVS などを使ってプロジェクト管理をしてきましたが、ここ数年、ソース管理は Subversion が流行っているのと、Wiki と BTS が統合した Trac が注目を浴びているので、すっかり流されちゃってます(笑)
昨年、知り合いが Trac の記事を書いたのも流された原因かもしれません。
使ってる? Issue Tracking - trac 楽々ことはじめ
さて、今回は FreeBSD5.4 のサーバで使ってる trac0.9.6 を trac0.10.3 にバージョンアップします。なぜ、バージョンアップに踏み切ったのかというと、mod_python を最新にしたら、Trac が、「○○の関数が見つからない」とエラーを吐くからです。apache のエラーダンプファイル(mod_dumpioの機能?)を見ると、mod_python の辺でメモリエラーになってる臭いのです。
現在、Trac(ja-trac-0.9.6_3) は Ports でインストールされているので、まずはパッケージを削除します。
% pkg_delete -v ja-trac-0.9.6_3
Ports の trac-0.10.3 をインストールすると日本語化されないので、trac は日本語パッケージを インタアクト株式会社 からダウンロードして使います。
# ソース置き場に移動してダウンロードと解凍をする % cd /usr/local/src % fetch http://www.i-act.co.jp/project/products/downloads/trac-0.10.3-ja-1.zip % unzip trac-0.10.3-ja-1.zip
# セットアップ % cd trac-0.10.3-ja-1 % ./setup.py install
今回は既に Trac プロジェクトがあるので、アップグレードで対応してみます。実は Subversion と同じ階層に trac のディレクトリがあるので、念の為、Subversion をダンプしておくと安心できそうです。なので、まずは Subversion のバックアップをします。
# Subversionの場所 /home/svn/saratoga # Tracプロジェクトの場所 /home/svn/saratoga/trac # ディスク容量確認 % df # ダンプ % svnadmin dump /home/svn/saratoga > /home/saratoga/saratoga_dump_file
さらに、trac プロジェクトのディレクトリもバックアップしておくと保険になります。今回は直接 trac プロジェクトのディレクトリをコピーしましたが、実はバックアップ用のコマンドが用意されているみたいです。
# 直接コピー % mkdir -p /root/LOCAL/backupdir % cp -rp /home/svn/saratoga/trac /root/LOCAL/backupdir % mv /root/LOCAL/backupdir/trac /root/LOCAL/backupdir/saratoga_trac
# trac-adminコマンド % trac-admin /home/svn/saratoga/trac hotcopy /root/LOCAL/backupdir
いよいよ、アップグレード作業に入ります。上記でバックアップしてるので、今回は --no-backup オプション付けました。
% trac-admin /home/svn/saratoga/trac upgrade --no-backup % trac-admin /home/svn/saratoga/trac wiki upgrade
これのついでに mod_python もバージョンアップします。
mod_python3.2.10.so から mod_python3.3.1.so に置き換えます。念の為、いつでも古いバージョンに戻せるように、シンボリックリンクで管理します。現在、apache のモジュール用のディレクトリに、バージョン 3.2.10 の mod_python.so と、バージョン 3.3.1 の mod_python3.3.1.so があると仮定します。
% mv mod_python.so mod_python3.2.10.so % ln -sf mod_python3.3.1.so mod_python.so
apache を再起動して Trac にアクセスしてみます。問題がなければ OK です。
■番外編(TIPSやハマったこと)
・upgradeコマンドがあるのを知らなくて、新規でtracプロジェクトを作成した ・新規でプロジェクトを作成しても問題ないが、trac.db(SQLite)がコピーでは移行できなかった ・新規でプロジェクトを作成すると、trac.iniファイルへの書き込み権限がない(作成したユーザーが悪かったと思う)
Tracの管理者モードを使うための事前設定 (今回はプラグインに変更はなさそうなので不要っぽい) [参考] http://trac.edgewall.org/wiki/WebAdmin % cd /usr/local/src % mkdir trac_plugin_0.10.3 % cd trac_plugin_0.10.3 % svn export http://svn.edgewall.com/repos/trac/sandbox/webadmin/ % ll total 2 drwxr-xr-x 3 root wheel 512 Mar 6 11:00 webadmin % cd webadmin % python setup.py bdist_egg % cp dist/TracWebAdmin-0.1.2dev-py2.4.egg /home/svn/saratoga/trac/plugins/ 管理者権限をユーザーに追加 % trac-admin /home/svn/saratoga/trac permission add saratoga TRAC_ADMIN
環境に合わせて、trac.ini の設定を少し変更します。
# 文字コード default_charset = euc_jp # 管理者モード [components] webadmin.* = enabled
関連記事
上記の記事に関連する記事(最新の10件)です。


