「SSL+パスワードロック」+「IP制限」をさらに上からかぶせているので、ちょっと後回しになっていたのですが、一念発起してアップグレードしました。さすがにバージョンを大幅にアップしたこともあり、やった内容についてメモしておきます。
おもにサーバー管理者向けのため、当然知っているはずのウェブサーバー設定など細かい説明は省いている部分があります。
はじめに
- Ruby, Passenger(mod_rails for Apache)は変更しない
- 前の環境にいつでも戻せるようにする
※URLは変更する
ことを前提に、Redmineのアップグレードを行いました。
あまり一度にやってしまうとトラブルシューティングが大変だからです。
1. 仕様確認
を確認しましょう。
- 3.0系「Ruby 1.9.3以降、Rails 4.2以降」
ということで、今回はRuby 1.9.3のままでアップグレードします。
2. バックアップ
データベース(MySQL)
ファイル/フォルダ
まるごととっておきましょう。
本当に必要なのは
- config/database.yml
- config/configuration.yml
- plugins
- files
- public/themes
あたりかなーと思います。
3. アップグレード
元フォルダ:redmine(URLは /redmine
新フォルダ:redmine-svn/3.1-stable(URLは /redmine31)
とします。SVNで今度導入していこうと思ったので、redmine-svnフォルダ以下にいれました。以下コマンド
cd redmine-svn
svn co https://svn.redmine.org/redmine/branches/3.1-stable/
4. 設定のコピーと編集
cd 3.1-stablecp -p ../../redmine/config/database.yml config/
cp -p ../../redmine/config/configuration.yml config/
database.yml の編集
を
database: redmine31
データベース上に「redmine31」を作成
権限は、以前のredmine管理ユーザーでいいかなと思いますが、そのあたりは各自判断。
redmine からデータをSQL形式でエクスポートして、
/redmine → /redmine31
と中身を置換してから、redmine31の方にインポートします。
5. ファイルのコピー
cp -rp ../../redmine/files/* files/cp -rp ../../redmine/plugins/* plugins/
cp -rp ../../redmine/public/themes/* public/themes/
6. 準備
3.1-stable のフォルダに入った上で、
bundle install --without development test
bundle exec rake generate_secret_token
DocumentRoot以下にシンボリックリンクが必要(Railsが動作しない)
DBのアップデートとキャッシュクリア
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
bundle exec rake tmp:cache:clear tmp:sessions:clear
7. redmine_omniauth_googleのパッチを手動であてる
を手動であてた(プルリクが適応されてないね)
8. ウェブサーバーの設定変更
すでにredmineで設定したので、その設定を基本的にはコピーしつつ
redmine31に変えておけばいけるでしょう。
9. redmine_omniauth_googleの設定変更
初めて使うなら、【まめ知識】RedmineでGoogle Apps認証!を参考。
そうでないなら https://cloud.google.com/console より、すでに設定したものの APIと認証、認証情報にある「リダイレクト URI」に
◯◯/redmine31/oauth2callback を追加しておけばよい。
10. リダイレクト
動作確認できれば
/redmine --> /redmine31 へ飛ばすように変更
もし問題があれば、リダイレクトを解除して両方使えるようにして検証するなりすればよでしょう。
2015年7月15日 @kimipooh
0 件のコメント:
コメントを投稿