Railsのインストール
ruby1.9とrailsは文字コード周りで色々はまりそうだが,チャレンジしてみる.
まずは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を使う準備は整った...かな.