Rubyのバージョンを2.2.2p95にアップグレードした。というのも、Ruby2.0系が2世代も前のバージョンとなってしまい、すでにセキュリティメンテナンスフェーズに移行、来年にはサポートが切れる見通しになったからである。Rubyに関しては、現時点ではaptリポジトリからのインストールではなく、ソースコードからのインストールで行っているため、主に以下の作業を行った。
- 古いバージョンのRubyのアンインストール
- 新しいバージョンのRubyのインストール
- 各種アプリ等の再構築
1. 古いバージョンのRubyのアンインストール
これは、古いバージョンのRubyをインストールする際に使用したソースコードなどのディレクトリがあることが前提となるが、基本的には古いバージョンのRubyソースコードのディレクトリ上で以下のコマンドを入れれば問題ない。
[bash]$ cat .installed.list | sudo xargs rm[/bash]
この方法ではディレクトリーは残ってしまうという弊害はあるが、比較的安全に古いバージョンのRubyを削除できる利点がある。
2. 新しいバージョンのRubyのインストール
古いバージョンのRubyのアンインストールが終わったら、新しいバージョンのRubyをインストールする。以下のコマンドを入力すればインストールは完了するだろう ((インストールする際にはコンパイラーをはじめとしたビルドツールが必要になるので、その点は要注意)) 。
[bash]$ wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz
$ tar xzf ruby-2.2.2.tar.gz
$ cd ruby-2.2.2
$ ./configure
$ make
$ sudo make install[/bash]
これで新しいバージョンのRubyが使えるようになるはずだ。試しに以下のようになれば新しいバージョンのRubyが使えるようになった証だ。
[bash]$ ruby –version
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux][/bash]
3. 各種アプリ等の再構築
先ほどの手順を踏むことでRubyは使えるようになったのだが、このままではRubyを使っていた各種アプリ等が使えるようになるとは限らない。特にRedmineをはじめとしたウェブサービスは再構築を行わないといけないからだ。
当方の場合はRedmineを使っていたため、主に以下の作業を行った。
- Passengerの再インストール・Apacheの設定変更
- Redmineのアップグレード及びマイグレーション
Passengerについては、以下のコマンドを入れたのち、画面の説明に従って対処すればだいたい問題ない。
[bash]$ sudo passenger-install-apache2-module[/bash]
その後は、説明をもとにApacheの設定を書き換えた上で、再起動すれば基本的には問題ないからだ。
Redmineについては、単純にbundle installすることではうまくいかなかったため、『アップグレード — Redmine Guide 日本語訳』を参考にアップグレードを行った。
ひとまずは問題なく動いているようだ。しばらくはこのままでも大丈夫かな?