数年前に設置してから放置していて一切バージョンアップしていなかった個人開発用のRedmineをバージョンアップしました。
Rubyも今年の6月で1.8系のサポートが切れるので、この際に1.9系に入れ替え。。。と思ったらyumからインストールできず、ソースからビルドする必要があるらしい。さすがにそれは面倒なので、RailsとRedmineだけをアップデートすることにしました。
ついこの間までのバージョン
Redmine 1.0.2.stable
Ruby 1.8.7
Rails 2.3.5
新しいバージョン
Redmine 2.2.0.stable
Ruby 1.8.7
Rails 3.2.9
手順
基本的な手順のバージョンアップ方法はここを参考に。
アップグレード — Redmine Guide 日本語訳
バックアップはスクリプトを作っておいた方が楽。
RMagickを導入していなかったので、この手順通りにインストール。*1
CentOS 5.7にRMagickをインストール | Redmine.JP Blog
bundleが実行できずに詰まった。なんか、パス通ってなかったぽい。
フルパスはここ。
/opt/ruby-1.8.7-p302/bin/bundle
bundle install --without development test rmagick
実行すると途中でエラーが発生。
An error occurred while installing pg (0.14.1), and Bundler cannot continue. Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.
RubyやPassengerのビルドに必要なパッケージをインストールしたり。
# yum groupinstall "Development Tools" # yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
解決せず。--;
というか、このpgってPostgresqlのことらしい。使っているDBはMySQLのみでPostgresqlはインストールもしていなかった。
withoutオプションでpostgresqlを外せばいいらしい。よって、正解は、
/opt/ruby-1.8.7-p302/bin/bundle install --without development test postgresql sqlite rmagick
後は手順通りでした。
最後にディレクトリパーミッションの設定が必要です。
mkdir public/plugin_assets
sudo chown -fR nobody:nobody files log tmp public/plugin_assets
サーバを再起動すれば、全行程終わりです。*2
細切れの時間を使ったこともありますが、色々つまずいていたら、数日かかってしまいました。。