参考)から放置してたんだけど、今日、rails入れようと思ってたら、rebenvにアクセスできなくて、いろいろやってたらまたちょっとcookbookの中身が変わったのでメモ(&ご教授いただけたら的な…)ポストです。
はぁはぁ、ちょっと前にchefとvagrantの環境を作って(Chefでrbenv入れるところまで以前やっていたんだけど、システムワイド?に入れていたみたいで、vagrantユーザからrbenvの一部コマンドが使えない。/usr/local/rbenv
の所有者と権限がおかしかったらしいのです。そこで、直しました。晒します。。(ちなみにいろいろわかってないのですが、いちいちつまづきながら自力でchef使えるようになりながらサーバ側やRuby覚えていきたいと思っています)
# rbenvグループを作成して/usr/local/rbenvを実行権限のユーザーを追加する group "rbenv" do action :create members "vagrant" append true end # gitからrbenvを落としてくる(#{node.user}はrootです) git "/usr/local/rbenv" do repository "git://github.com/sstephenson/rbenv.git" reference "master" action :checkout user "#{node.user}" group "rbenv" end # ruby-build用のpluginフォルダを作成する directory "/usr/local/rbenv/plugins" do owner "#{node.user}" group "rbenv" mode "0755" action :create end # rbenvのbash設定を追加 template "/etc/profile.d/rbenv.sh" do owner "#{node.user}" group "#{node.user}" mode 0644 end # ruby-buildを落としてくる git "/usr/local/rbenv/plugins/ruby-build" do repository "git://github.com/sstephenson/ruby-build.git" reference "master" action :checkout user "#{node.user}" group "rbenv" end # rbenvディレクトリのownerと権限を変更する directory "/usr/local/rbenv" do recursive true group "rbenv" mode 0775 end
ちなみに、templateの/etc/profile.d/rbenv.sh
はこれです。
export RBENV_ROOT=/usr/local/rbenv export PATH="$RBENV_ROOT/bin:$PATH" eval "$(rbenv init -)"
変更したのは最後のディレクトリのownerと権限の変更の部分のみです。この部分を追加しました。これで一応rbenvグループに所属してるvagrantからrbenvが使えるようになったけど、なんかかっこ悪い気がして、、、。
ちなみにグループの権限変更は下記のサイトを参考にしました。
rbenvの作成についてはこちらを参考にしていました。