これまで使っていたRedmine 2.2.2 を、2013年12月24日にリリースされたRedmine 2.4.2 にアップグレードしました。
Redmine 2.2系から見て、2.3系、2.4系はメジャーバージョンアップということになっています。
現行環境では、2.3系にはしていなかったので、Rubyのライブラリで不足やバージョン相違が数多くあり、それを解決する手順が必要となってしまいました。
それでは、アップグレードの手順を振り返っておきます。
1.バックアップ
現行Redmineをバックアップします。バックアップするものは、RedmineディレクトリとRedmineデータベースの二つ。
Redmineディレクトリはディレクトリを丸ごと別名でコピーするだけでいいでしょう。redmine.2.2.2というディレクトリ名でコピーします。
[root]# cp -pr /var/lib/redmine /var/lib/redmine.2.2.2
Redmineデータベースはmysqldumpを使います。
[root]# mysqldump -u root redmine | gzip > /root/backup/mysqldump/mysqldump_redmine_`date +%Y%m%d%H%M`.sql.gz
2.Redmineパッケージファイルのダウンロード
任意の作業用ディレクトリに、インストールするRedmine 2.4.2 のパッケージファイルをダウンロードします。詳しくはRedmineのホームページを確認してください。
[root]# wget http://www.redmine.org/releases/redmine-2.4.2.tar.gz
3.Redmineパッケージファイルのインストール
ここからは、Redmineパッケージファイルの解凍・展開、Redmineディレクトリの移動、ディレクトリ所有者の変更、Redmineデータベース設定ファイルの移行・変更、filesディレクトリ内のファイルのコピー、不要なファイルの削除を行います。
Redmineパッケージファイルの解凍・展開
[root]# tar xvfz redmine-2.4.2.tar.gz
Redmineディレクトリの移動
[root]# mv ./redmine-2.4.2 /var/lib/.
ディレクトリ所有者の変更
[root]# chown -R root:root /var/lib/redmine-2.4.2
Redmineデータベース設定ファイルの移行
[root]# cp -p /var/lib/redmine/config/database.yml /var/lib/redmine-2.4.2/config/.
Redmineデータベース設定ファイルの変更
# MySQL (default setup). production: adapter: mysql database: redmine host: localhost username: redmine password: 3104hori encoding: utf8 ↓ # MySQL (default setup). production: adapter: mysql2 ← ここを変更 database: redmine host: localhost username: redmine password: 3104hori encoding: utf8
filesディレクトリ内のファイルのコピー
[root]# cp -p ./redmine/files/* ./redmine-2.4.2/files/.
不要なファイルの削除
[root]# rm -f /var/lib/redmine-2.4.2/log/delete.me [root]# rm -f /var/lib/redmine-2.4.2/files/delete.me
ここで、以前に、見つからないとエラーが出たproduction.logを作成しておきます。パーミッションも変更しておきます。
[root]# touch /var/lib/redmine-2.4.2/log/production.log [root]# chmod 666 /var/lib/redmine-2.4.2/log/production.log
3.セッション管理用秘密鍵の作成
[root]# cd /var/lib/redmine-2.4.2 [root]# rake generate_secret_token Could not find gem 'rails (= 3.2.16) ruby' in the gems available on this machine. Run `bundle install` to install missing gems.
エラーが出たので、
[root]# bundle install [root]# rake generate_secret_token rake aborted! You have already activated rake 10.0.3, but your Gemfile requires rake 10.1.1. Using bundle exec may solve this. /var/lib/redmine-2.4.2/config/boot.rb:6 /var/lib/redmine-2.4.2/config/application.rb:1 /var/lib/redmine-2.4.2/Rakefile:5 (See full trace by running task with --trace)
今度はrakeのバージョンが合わない? それなら、
[root]# gem update rake Updating installed gems Updating rake Fetching: rake-10.1.1.gem (100%) Successfully installed rake-10.1.1 Gems updated: rake Installing ri documentation for rake-10.1.1... Building YARD (yri) index for rake-10.1.1... Installing RDoc documentation for rake-10.1.1... [root]# rake generate_secret_token [root]#
今度は成功。
4.SVNチェックアウトのアップグレード
Redmineのインストールディレクトリに移動して、以下のコマンドを実行します。
[root]# svn update '.' を飛ばしました [root]#
5.データベースのマイグレーション
[root]# rake db:migrate RAILS_ENV="production"
6.プラグインのマイグレーション
[root]# rake db:migrate_plugins RAILS_ENV=production
7.クリーンナップ
キャッシュとセッションファイルのクリアを行います。
[root]# rake tmp:cache:clear [root]# rake tmp:sessions:clear
8.httpdサーバの停止
[root]# service httpd stop httpd を停止中: [ OK ]
9.Redmineディレクトリの置き換え
現行Redmineディレクトリ /var/lib/redmine と /var/lib/redmine-2.4.2 を置き換えます。
[root]# mv /var/lib/redmine /var/lib/redmine.bak ; mv /var/lib/redmine-2.4.2 /var/lib/redmine
10.httpdサーバの起動
[root]# service httpd start httpd を起動中: [ OK ]
11.表示確認
Web画面を表示して、不足パッケージ示すエラーメッセージに「gem install パッケージ名 -v バージョン」もしくは「gem update パッケージ名 -v バージョン」を実行して、エラーを解消していきます。
12.テーマのインストール
これまでRedmine 2.2.2 でも使っていた「farend_fancy」をインストールします。
[root]# git clone git://github.com/farend/redmine_theme_farend_fancy.git public/themes/farend_fancy