RailsplaygroundのRedmineをアップグレードした

Railsplayground で動いている Redmine のバージョンを0.7.3から0.8.6にアップグレードしました。最新の0.8.7にアップグレードしたところ、Wikiページの表示で内部エラーが発生したため、ひとまず0.8.6にすることにしました。

以下の手順で作業しました。

  1. ダウンロードと展開
  2. データベースと設定ファイルのコピー
  3. データベースのマイグレーション
  4. 添付ファイルのコピー
  5. シンボリックリンクの切り替え

以下ではRedmineをインストールするベースのディレクトリをBASE、Redmine 0.7.3のディレクトリをOLD、0.8.6のディレクトリをNEWという環境変数にセットした場合で説明します。

[~]# BASE=~/var/lib/rails
[~]# OLD=$BASE/redmine-0.7.3
[~]# NEW=$BASE/redmine-0.8.6

1. ダウンロードと展開

Railsplaygroundにログインし、wgetRubyForge からバージョン0.8.6を取り寄せます。

[~] cd tmp
[~/tmp]# wget http://rubyforge.org/frs/download.php/66633/redmine-0.8.6.tar.gz

取り寄せたファイルを適切な場所に展開します。私の場合は、安全のため、旧バージョンとは異なるディレクトリに展開しています。

[~/tmp]# cd $BASE
[~/var/lib/rails]# tar xzf ~/tmp/redmine-0.8.6.tar.gz
[~/var/lib/rails]# ls
./  ../  redmine-0.7.3/  redmine-0.8.6/

2. データベースと設定ファイルのコピー、修正

データベースと設定ファイルをコピーします。私はデータベースとしてSQLite3を使っていて、データベースファイルはdb/redmine.dbになっています。

[~/var/lib/rails]# cp $OLD/config/database.yml $NEW/config/
[~/var/lib/rails]# cp $OLD/db/redmine.db $NEW/db/
[~/var/lib/rails]# cp $OLD/public/.htaccess $NEW/public/
[~/var/lib/rails]# cp $OLD/public/dispatch.fcgi $NEW/public/

RedmineをRailsplaygroundで使うための変更点 に従い、config/environ.rbを修正します。

3. データベースのマイグレーション

データベースを新形式に更新します。

[~/var/lib/rails]# cd $NEW
[~/var/lib/rails/redmine-0.8.6]# rake db:migrate RAILS_ENV="production"

4. 添付ファイルのコピー

$OLD/filesにあるファイルを$NEW/filesにコピーします。

[~/var/lib/rails/redmine-0.8.6]# cp $OLD/files/* $NEW/files/

5. シンボリックリンクの切り替え

public_htmlにあるシンボリックリンクを新しいものにします。

[~/var/lib/rails/redmine-0.8.6]# cd ~/public_html
[~/public_html]# ln -sf $NEW/public redmine

以上でRedmineが新しいバージョンにアップグレードされました。