おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

rbenv をさくらVPSのサーバにインストール

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

参考

rbenvを使ってシステムワイドにrubyをインストールする方法 #Ruby #rbenv - Qiita