2008年11月22日 (土)

Ruby on Railsとpassengerのインストール

珍しく技術ネタです。

とある理由で、Ruby on Railsの動作環境を準備する必要に迫られたのですが、四苦八苦しながらもなんとかApache上で動かすところまで漕ぎ着けたので、そこまでの手順をメモ程度に残しておきます。
何かの役に立ったら幸いです。
間違ってたら正直スマンカッタということでひとつ。

あ、ちなみにCentOS4.7のまっさらな状態からのインストールです。

■1. Rubyのインストール
Rubyのインストールに必要なGCCとopenSSLのdevelを入れます。

# cd ~
# yum install gcc
# yum install openssl-devel

Ruby本体のインストール。

# wget http://core.ring.gr.jp/archives/lang/ruby/1.8/ruby-1.8.7-p72.tar.gz
# tar xvzf ruby-1.8.7-p72.tar.gz
# cd ruby-1.8.7-p72/ext/openssl/
# ruby extconf.rb
# make
# make install

■2. RubyGemsのインストール

#cd ~
#wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
#tar xvzf rubygems-1.3.0.tgz
#cd rubygems-1.3.0
#ruby setup.rb

■3. Ruby on Railsのインストール
Ruby on Railsのインストールに必要な、zlibのインストール。

#cd ruby-1.8.7/ext/zlib/
# ruby extconf.rb --with-zlib-include=/usr/include -with-zlib-lib=/usr/lib
# make
# make install

Ruby on Railsのインストール。

# gem install rails --include-dependencies

■4. 動作確認
ここまででRuby on Railsの設定は完了しているので、動作確認をしてみましょう。

# cd /var
# mkdir ruby
# cd ruby
# rails sample
# cd sample

# ruby script/server

http://xxx.xxx.xxx.xxx:3000/
初期設定だとポート3000で動作してるはずです。


さて、ここから先はApacheでRuby on Railsを動かしたい人向け。

■5. passengerのインストール

# gem install passenger
# yum install gcc-c++
# yum install httpd-devel

↓を実行するとずらずらっとメッセージが表示されます

# passenger-install-apache2-module

その中に出てくる↓の太字部分を次の手順で使うのでコピっておく。
Please edit your Apache configuration file, and add these lines:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.3
PassengerRuby /usr/local/bin/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

ApacheにPassengerの設定書き加えます。
太字部分は、さっきコピったやつで上書いてください。

# vi /etc/httpd/conf.d/passenger.conf

---------------
# Passenger Apache Config
#
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.3
PassengerRuby /usr/local/bin/ruby


ServerName serverName
DocumentRoot /var/ruby/sample/public/

---------------

最後にApacheを再起動。

# /etc/init.d/httpd restart

これで完了!
http://serverName/ にアクセスして、4.で見たのと同じ画面が表示されたら問題なし。
httpsでもちゃんと動く模様。

クリーンな状態からインストールする分には楽だなぁ。

| | コメント (0) | トラックバック (0)