Passengerを使って違うバージョンのRubyを混在させる。

  1. バージョンごとにpassengerをインストール
  2. インストールした際に表示される次のようなコードは、どちらか一方だけ記載すれ。私は新しいバージョンの方を記載しました。
  3. LoadModule passenger_module /home/foo/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/passenger-5.0.26/buildout/apache2/mod_passenger.so
    <IfModule mod_passenger.c>
      PassengerRoot /home/foo/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/passenger-5.0.26
      PassengerDefaultRuby /home/foo/.rbenv/versions/2.2.4/bin/ruby
    </IfModule>
    
  4. こんな感じで、VirtualHostの項目を記載。
    <VirtualHost *:80>
       RailsEnv development
       ServerName fooobaaa.net
       # !!! Be sure to point DocumentRoot to 'public'!
       DocumentRoot /home/foo/baa/public
       <Directory /home/foo/baa/public>
          (中略)
       </Directory>
       AllowEncodedSlashes on
       PassengerAllowEncodedSlashes on
       PassengerRuby /home/foo/.rbenv/versions/2.2.4/bin/ruby
    </VirtualHost>
    
  5. 別のバージョンで使うのは、最後の行がPassengerRuby /home/foo/.rbenv/versions/2.1.1/bin/rubyにして、バージョンごとのrubyへのパスを記載する。