passenger 2.2.7 から 2.2.15へのアップグレード

基本的には Apache + Passengerのとおりなのだけど、少してこずったのでメモ。環境はDebian GNU/Linux squeeze。

passengerのバージョンアップ

まず、環境を最新にする。

% sudo aptitude update
% sudo aptitude safe-upgrade

rubygemsrailsを最新にする。

% sudo gem1.8 update --system
% sudo gem1.8 update rails

passengerをアップデート。

% sudo gem1.8 update passenger

モジュール生成

% sudo passenger-install-apache2-module

バージョン情報を整える。/etc/apache2/mods-available/passenger.loadのpassengeのバージョン番号を修正。

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so

/etc/apache2/mods-available/passenger.confの中身のバージョン番号を修正。

PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/bin/ruby1.8

Rails 3.0から、動作モードを設定する環境変数 RailsEnv が RackEnvに変更になった。私は、2.3.8版のアプリと3.0版のアプリを両方動かしたいので両方設定している。

Rails 2.3.8版と3.0版の共存

Rails 2.3.8がインストールされている前提で、2.3.8版のプロジェクトディレクトリを old_app とするとold_appにおいて、以下のコマンドを打てば良い。

% rake rails:freeze:gems VERSION=2.3.8

もし、入っていなければバージョンを指定してインストールする。

% sudo gem1.8 install rails --verison "=2.3.8"

入っているかどうかは以下のコマンドで確認する。

% gem1.8 list | more