2012年3月13日火曜日

仮想環境にCentOSを入れてRails実行環境を構築する

1.仮想環境(VMWare Player 4)にCentOS6.2をインストール
 http://www.linuxmaster.jp/2009/12/post-3.htmlから無料の環境構築マニュアルを入手し、それを参考に設定
 インストールの種類は「Basic Server」を選択、カスタマイズはしません


2.CentOS6.2設定
 http://www.oiax.jp/rails3book/prepare_centos_6_2.htmlを参考


3.Rubyインストール
 http://www.oiax.jp/rails3book/install_ruby_1_9_3.htmlを参考

以下は、http://www.oiax.jp/rails3book/setup_phusion_passenger.htmlを参考にしました

4.railsという名前のユーザーを作成(ホームディレクトリは /var/rails )
$ sudo useradd -m -d /var/rails rails
$ sudo passwd rails



5.railsユーザーをapacheグループに追加し、グループ所属ユーザーにアクセス権を付与
$ sudo usermod -G rails apache
$ sudo chmod 750 /var/rails



6.Bundlerのインストール
$ sudo gem update --systemとすると、「Command not found」と言われるので、~/.bashrcファイルに以下を追記 
(最近のCentOSの場合、sudoユーザーにrootの環境変数が引き継がれないとのこと)

alias sudo='sudo env PATH=$PATH'
修正・再ログイン後に、
$ sudo gem install bundler --no-ri --no-rdoc


7.Railsアプリケーションの設置
Zip形式で圧縮したアプリケーションフォルダを、WinSCPなどで /var/rails フォルダに転送した後、
$ sudo su - rails
$ unzip myapp.zip
$ cd myapp

8.Gemfileファイルの修正
$ sudo vi Gemfile
以下の2点を追記
gem 'execjs'
gem 'therubyracer'


9.Production環境の設定
$ bundle install --path=vendor/bundle --without test development

$ RAILS_ENV=production rake db:setup
$ rake assets:precompile

$ exit

10.Passengerのインストール
$ sudo gem install passenger --no-ri --no-rdoc
$ sudo passenger-install-apache2-module


11.Apache設定ファイル(httpd.conf)の編集
$ sudo vi /etc/httpd/conf/httpd.conf
以下を追記
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11
PassengerRuby /usr/local/bin/ruby

(環境により変わるので注意)

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName MyServer
  DocumentRoot /var/rails/myapp/public
  RackEnv production
  <Directory /var/rails/myapp/public>
    AllowOverride all
    Options -MultiViews
  </Directory>
</VirtualHost>


12.Apacheの起動および自動起動の設定
$ sudo /etc/init.d/httpd start
$ sudo chkconfig httpd on

(再起動は$ sudo /etc/init.d/httpd restart)






0 件のコメント:

コメントを投稿