Vagrantをprovisionしたときにディレクトリを作る
メモ:
ステージング・本番ではcapistranoでデプロイするけど、
ローカルのVagrantではそんなことしないので、
pidを格納するディレクトリが無くて困った。
(nginxで見に行く先を変えればいいけど、そんな部分のchefをいじるのも面倒。。。)
んで、Vagrantfileのsynced_folderとして、テキトーなディレクトリを指定したけど、 sockファイルを作ろうとして、エラーになった。
http://stackoverflow.com/questions/16388342/unicorn-fails-to-start-on-vagrant-box-due-to-errnoeperm
synced_folderしたディレクトリには作れないっぽい。
どうせなので、provision時のshellを使ってみた。
$script = <<SCRIPT mkdir -p /srv/web/shared/pids chown vagrant:vagrant -R /srv/web/shared SCRIPT config.vm.provision "shell", inline: $script
単純にmkdirすると、root権限で作られたので、chownでログインユーザのものに変更。
無事、sockファイルが作れて、nginx -> unicornでページが表示された。