RubyやRedmineのアップグレードとか

Rubyのバージョンを2.2.2p95にアップグレードした。というのも、Ruby2.0系が2世代も前のバージョンとなってしまい、すでにセキュリティメンテナンスフェーズに移行、来年にはサポートが切れる見通しになったからである。Rubyに関しては、現時点ではaptリポジトリからのインストールではなく、ソースコードからのインストールで行っているため、主に以下の作業を行った。

  1. 古いバージョンのRubyのアンインストール
  2. 新しいバージョンのRubyのインストール
  3. 各種アプリ等の再構築

1. 古いバージョンのRubyのアンインストール

これは、古いバージョンのRubyをインストールする際に使用したソースコードなどのディレクトリがあることが前提となるが、基本的には古いバージョンのRubyソースコードのディレクトリ上で以下のコマンドを入れれば問題ない。

[bash]$ cat .installed.list | sudo xargs rm[/bash]

この方法ではディレクトリーは残ってしまうという弊害はあるが、比較的安全に古いバージョンのRubyを削除できる利点がある。

2. 新しいバージョンのRubyのインストール

古いバージョンのRubyのアンインストールが終わったら、新しいバージョンのRubyをインストールする。以下のコマンドを入力すればインストールは完了するだろう1

[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を使っていたため、主に以下の作業を行った。

  1. Passengerの再インストール・Apacheの設定変更
  2. Redmineのアップグレード及びマイグレーション

Passengerについては、以下のコマンドを入れたのち、画面の説明に従って対処すればだいたい問題ない。

[bash]$ sudo passenger-install-apache2-module[/bash]

その後は、説明をもとにApacheの設定を書き換えた上で、再起動すれば基本的には問題ないからだ。

Redmineについては、単純にbundle installすることではうまくいかなかったため、『アップグレード — Redmine Guide 日本語訳』を参考にアップグレードを行った。

ひとまずは問題なく動いているようだ。しばらくはこのままでも大丈夫かな?


ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しております。仕事依頼や相談などについては、Contact Formよりお願いいたします。
  1. インストールする際にはコンパイラーをはじめとしたビルドツールが必要になるので、その点は要注意 []
スポンサーリンク

フォローする