Railsのインストール

ruby1.9rails文字コード周りで色々はまりそうだが,チャレンジしてみる.
まずはgemをアップデートしておく.

$ ruby -v
ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux]
$ gem -v
1.3.1
$ sudo gem update --system
$ gem -v
1.3.5

続いてrails本体.

$ sudo gem install rails --include-dependencies
$ rails -v
Rails 2.3.4

apacheと連携させるためにpassengerもインストールしておく.
このあたりはRedmineのインストール記事が参考になる.
http://redmine.jp/tech_note/apache-passenger/

$ sudo gem install passenger

しかしgemのriとRDocのインストールにはなんでこんなに時間がかかるんだ?
passenger-install-apache2-moduleコマンドでapacheのモジュールをインストールしようとしたが
いくつかパッケージが足らないと怒られたのでapt-getしておく.

$ sudo apt-get install libopenssl-ruby apache2-prefork-dev libapr1-dev libaprutil1-dev 

として再度passenger-install-apache2-moduleを実行するが,libopenssl-rubyがないとまだ怒られる.
これはrubyをソースからコンパイルしたのが原因か...?
ちょっと調べると,rubyソースコードにopensslのコードも含まれていることが判明.
なんで自動的にインストールしてくれてなんだ...
そういえばrubyインストール時のmake checkでwebrickのテストが失敗していたのもこれが原因か.
ともかくopensslモジュールもビルドしてインストールしてからpassenger-install-apache2-moduleを実行.

# まずは間違えて入れたパッケージを削除しておく
$ sudo apt-get remove libopenssl-ruby libruby1.9
$ cd ~/Install/ruby-1.9.1-p243/ext/openssl
$ ruby extconf.rb && make && sudo make install
$ sudo passenger-install-apache2-module

ようやくうまくいった.
後はapacheの設定をしておく.
/etc/apache2/mods-available/passenger.load

LoadModule passenger_module /usr/local/ruby19/lib/ruby/gems/1.9.1/gems/passenger-2.2.5/ext/apache2/mod_passenger.so

/etc/apache2/mods-available/passenger.conf

PassengerRoot /usr/local/ruby19/lib/ruby/gems/1.9.1/gems/passenger-2.2.5
PassengerRuby /usr/local/ruby19/bin/ruby

後はモジュールを有効化してapache再起動.

$ sudo a2enmod passenger
$ sudo /etc/init.d/apache2 restart

これでRailsを使う準備は整った...かな.