rbenv をさくらのサーバに system wide にインストールする手順のメモです。
インストール準備
ruby のインストールに必要そうなものを yum でインストールします。
sudo yum install libyaml libyaml-devel zlib zlib-devel readline readline-devel openssl openssl-devel libxml2 libxml2-devel libxslt libxslt-devel
rbenv, ruby-build のインストール
/usr/local/rbenv
にインストールします。staff グループで rbenv を使うことにします。
cd /usr/local
sudo git clone git://github.com/sstephenson/rbenv.git rbenv
sudo chgrp -R staff rbenv
sudo chmod -R g+rwxXs rbenv
sudo mkdir /usr/local/rbenv/plugins
cd /usr/local/rbenv/plugins
sudo git clone git://github.com/sstephenson/ruby-build.git
sudo chgrp -R staff ruby-build
sudo chmod -R g+rwxs ruby-build
rbenv の設定
/etc/profile.d/rbenv.sh
を作って下記のように書いて保存します。
export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"
この後ログインしなおすか、source /etc/profile.d/rbenv.sh
などとすれば rbenv が使えるようになります。
ruby のインストール
普通にインストール。ついでに bundler も入れておきます。
rbenv install 1.9.3-p362
rbenv rehash
rbenv global 1.9.3-p362
gem i bundler
capistrano で使うには
どうやら capistrano でデプロイするときには /etc/profile.d/rbenv.sh
が実行されないようです。下記のように Rails.root/config/deploy.rb に書いておけば ruby 関連コマンドが使えます。
set :default_environment, {
'PATH' => "/usr/local/rbenv/shims:/usr/local/rbenv/bin:$PATH"
}
おまけ
sudo visudo
して該当行を下記のように修正すると、sudo -u nginx bundle ...
のような sudo 越しに rbenv 関連のコマンド打つのがやりやすくなります。というかこれを設定しないとすごく大変です…。ただセキュリティレベルは確実に下がると思うのでそのへん考えて設定してみてください。
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rbenv/bin:/usr/local/rbenv/shims