ALMiniumを稼働させている仮想マシンをVirtualBoxからKVMへ移行しました。これで常時稼働させるマシンはKVM、主にデスクトップ系で作業をしないときは電源をきっても良いマシンはVirtualBoxといった分担にできました。移行作業にあたっては、ALMiniumのアップグレードも必要だったので備忘録としてメモを残しておきます。
基本的にはRedmineのアップグレード作業をすれば良いので、「アップグレード — Redmine Guide 日本語訳」の手順が参考になります。
バックアップは、/opt/alminium/files にあるファイルと、/var/opt/alminium にあるリポジトリをアーカイブする必要があります。また、MySQLのデータは、/opt/alminium/config/database.yml にある接続情報からダンプしておく必要があります。
新しいマシンの方にはALMiniumを新規インストールして、そこへ先ほどのMySQLのデータをリストアします。/opt/alminium/files, /var/opt/alminium はバックアップして持ってきたものと入れ替えます。ここでは、alminium.dump、opt.alminium.tgz, var.opt.alminium.tgz というファイルで持ってきているとします。
# mysql -u root -p alminium < alminium.dump # mv /var/opt/alminium /var/opt/alminium.bak # tar xf var.opt.alminium.tgz -C /var/opt # mv /opt/alminium/files /opt/alminium/files.bak # tar xf opt.alminium.tgz -C /opt/alminium
次に、DBのマイグレーションをします。/opt/alminiumをカレントディレクトリとしたら下記のようにします。
# cd /opt/alminium # rake db:migrate RAILS_ENV="production" # rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production
これでALMiniumは動くようになりますが、Backlogsのプラグインでエラーがおきます。ここからよくわからないのですが、Backlogsがupgrade_plugin_migrationsを提供していないのかもしれません。よくわからないので下記を実行してみました。なんとなくBacklogsのプラグインだけマイグレーションする指定方法がありそうなのですが、そこまでは調べていません。
# rake db:migrate_plugins RAILS_ENV=production
すると、rake が abort します。次の2つについては適用不要なので、self.upメソッド部分の処理内容をコメントにしました。メソッドそのものは残します。
- /opt/alminium/plugins/redmine_backlogs/db/migrate/037_add_rb_project_settings.rb
- /opt/alminium/plugins/redmine_backlogs/db/migrate/039_add_show_in_scrum_stats_project_setting.rb
再度、下記を実行しました。Backlogsの次のプラグインのところでエラーがでますが、いまのところBacklogs以外では問題がなさそうなので、そのままにしておきます。
# rake db:migrate_plugins RAILS_ENV=production
Apache HTTP Serverを再起動したところ、Backlogsのエラーが消えました。
# service httpd restart
いまのところ、Redmineの基本機能とgitリポジトリしか使っていないので、たぶんこれで問題はないはずです。プラグインのアップデートまわりはもう少し調べてみようと考えています。
ALMiniumを使うと新規導入は手軽にできるのですが、その後の運用でアップグレードをしたいときなどにどうすれば良いかよくわかっていないので、一度 Redmine と、そのPluginをソースからインストールしたりアップグレードしたりすることをしてみた方がいいのかもしれないと思いました。
Rubyについては下記が参考になるでしょう。
- たのしいRuby 第3版
- プログラミング言語 Ruby
- Rubyによるデザインパターン
- Rubyレシピブック 第3版 303の技
- RailsによるアジャイルWebアプリケーション開発-第4版
- かんたんRuby on RailsでWeb制作
- Rails of Ruby on Rails ~Case of LOCUSANDWONDERS.COM~