passenger install @ruby1.9.1 on ubuntu 9.10
ruby1.9.1でpassengerを使いたい衝動に駆られ、ruby1.9.1でpassengerインストールを行ったので、その記録。
まずは必要なものをインストール
$ sudo apt-get install ruby1.9.1 rdoc1.9.1 ri1.9.1 rubygems1.9.1 irb1.9.1
$ sudo apt-get install ruby1.9.1-dev build-essential
$ sudo apt-get install libopenssl-ruby1.9.1
$ sudo apt-get install libapr1-dev libaprutil1-dev apache2-prefork-dev
$ sudo gem1.9.1 install activerecord activesupport deprecated fastthread
$ sudo gem1.9.1 install rack rake passenger
この後、ruby1.8で行ったように
$ sudo ruby1.9.1 /var/lib/gems/1.9.1/bin/passenger-install-apache2-module
を実行するとエラーでこける。
ソースを見るとruby1.8のgemを参照してるようで、そのgemをls -lしてみると
$ ls -l /usr/bin/gem
lrwxrwxrwx 1 root root 21 2009-12-17 14:18 /usr/bin/gem -> /etc/alternatives/gem
となっていた。
alternativesで管理されてるようなので、update-alternativesを実行
$ sudo update-alternatives --config gem
There are 2 choices for the alternative gem (providing /usr/bin/gem).
Selection Path Priority Status------------------------------------------------------------
* 0 /usr/bin/gem1.8 180 auto mode
1 /usr/bin/gem1.8 180 manual mode
2 /usr/bin/gem1.9.1 170 manual mode
Press enter to keep the current choice[*], or type selection number:
2を選択。
これで、gemとするとgem1.9.1が実行されるようになる。
ついでに、rubyはどうなってるか?を見てみると・・・
$ ls -l /usr/bin/ruby
lrwxrwxrwx 1 root root 7 2009-11-27 19:20 /usr/bin/ruby -> ruby1.8
ruby1.8に直でしたorz
とりあえず、気を取り直して
$ sudo ruby1.9.1 /var/lib/gems/1.9.1/bin/passenger-install-apache2-module
/etc/apache2/mods-available/passenger.load
LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-2.2.8/ext/apache2/mod_passenger.so
/etc/apache2/mods-available/passenger.conf
PassengerRoot /var/lib/gems/1.9.1/gems/passenger-2.2.8
PassengerRuby /usr/bin/ruby1.9.1
の二つをファイルをそれぞれ作成して
sudo a2enmod passenger
sudo service apache2 restart