2012年5月9日水曜日

install Rails and Passenger on CentOS5

※this text from livedoor blog 2009/10/29

Railsをインストール

$ sudo gem install rails
$ rails -v
Rails 2.3.4



テストアプリを作成

$ cd /var/www
$ sudo rails testapp
$ cd testapp/



SELinuxがある場合、モードを確認

OS起動時にhttpdが立ち上がる様にする
$ sudo /sbin/chkconfig httpd on
$ sudo /sbin/chkconfig --list httpd


SELinuxのモードを確認
$ sudo /usr/sbin/sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 21
Policy from config file:        targeted


Current modeがenforcingになっていたら、モードを切り替える
$ sudo emacs /etc/selinux/config
SELINUX=disabled


リブートして設定反映
$ sudo reboot


mongrel or Passenger用にRubyのopensslをインストール

$ sudo yum install openssl-devel
$ cd ruby-1.8.7-p174/ext/openssl
$ ruby extconf.rb
$ make
$ sudo make install



mongrelをインストールしてRailsのウェルカム画面をチェック

mongrelをインストール
$ sudo gem install mongrel

テストアプリのディレクトリへ移動してmongrelを起動
$ cd /var/www/testapp
$ ./script/server
=> Booting Mongrel
=> Rails 2.3.4 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server


ApacheのVirtualHostを設定
$ sudo emacs /etc/httpd/conf.d/mongrel.conf
<VirtualHost _default_:80>
ProxyPass / http://localhost:3000/
</VirtualHost>


httpdのリスタート
$ sudo /etc/init.d/httpd restart

Railsのウェルカム画面がブラウザで見れるかチェック
http://www.yourhost.com/

mongrel用のApacheの設定を外しておく
$ sudo cp /etc/httpd/conf.d/mongrel.conf /etc/httpd/conf.d/mongrel.conf.bak
$ sudo /etc/init.d/httpd restart



PassengerをインストールしてRailsのウェルカム画面をチェック

必要なライブラリをインストール
$ sudo yum install gcc-c++ httpd-devel httpd-devel

Passengerをインストール
$ sudo gem install passenger

Apacheモジュールのビルドとインストール
$ sudo passenger-install-apache2-module

Apacheのconfigファイルを編集
$ sudo emacs /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.5
PassengerRuby /usr/bin/ruby

<VirtualHost *:80>
     ServerName www.yourhost.com
     DocumentRoot /var/www/testapp/public
</VirtualHost>


httpdのリスタート
$ sudo /etc/init.d/httpd restart

Railsのウェルカム画面がブラウザで見れるかチェック
http://www.yourhost.com/