Ruby

2014-09-28, ruby

Ruby on Rails on Vagrant

Vagrant上のCentOS6.5イメージにRuby on Rails(with Passenger and MySQL)を導入した際のメモです。

まずは必要なパッケージの導入です。

# yum -y install httpd gcc-c++ apr-devel apr-util-devel curl-devel git httpd-devel mysql-devel mysql-server openssl-devel patch readline-devel sqlite-devel zlib-devel
# chkconfig httpd on
# chkconfig mysqld on

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ .rbenv/bin/rbenv install -v 2.1.3
$ .rbenv/bin/rbenv global 2.1.3

rubyに直接アクセス出来るよう、以下の設定を.bash_profileに追加しておくと便利です。

.bash_profile
eval "$(.rbenv/bin/rbenv init -)"

rubyがインストールできたらRailsの動作に必要なgemを導入します。railsだけバージョンを指定しているのは、これがないと何故か「bad response service unavailable 503」エラーが出て処理が止まってしまうためです。適宜、必要なバージョン(或いは指定無し)に読み替えて下さい。

$ gem install bundler passenger rails:4.1.6
$ .rbenv/bin/rbenv rehash
$ passenger-install-apache2-module

Apacheとの連携を設定します。アプリへのパスや動作モード(AppEnv)は適宜書き換えて下さい。

/etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /home/vagrant/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/passenger-4.0.52/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /home/vagrant/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/passenger-4.0.52
  PassengerDefaultRuby /home/vagrant/.rbenv/versions/2.1.3/bin/ruby
</IfModule>

NameVirtualHost *:80

<VirtualHost *:80>
  # SetEnv SECRET_KEY_BASE {key for production}
  PassengerAppEnv development
  # ServerName example.com
  DocumentRoot /opt/myapp/public
</VirtualHost>

参考URL

${Unknown macro: 140707_ruby.html} ${Unknown macro: 140927_ruby.html}

この記事は役に立ちましたか?