Ruby on Railsをすぐに試せるVagrant環境
Ruby on RailsでWebアプリを作るときには、当たりまえですがRuby on Railsの環境を準備する必要があります。慣れの問題といえばそうなのですが、これが結構面倒くさい。
しかし、ちょっとググってみたところだとVagrantをOSのセットアップの自動化手段として使っている方が多いみたいで、Rails用のProvisioningまで含めてセットアップしている例は(日本語では)あまりみられませんでした。
というわけで、Vagrantを試してみるということも含めて、セットアップ後に'rails new ...'とすぐに試せるところまでの設定をVagrantを使ってやってみました。ちなみにpuppetとかchefは使わずに、シェルスクリプトで書いてます。
GitHubのレポジトリは以下です。
https://github.com/kimito/vagrant_try_rails
vagrant up
した後に
vagrant ssh
して仮想マシンにSSH接続するとすぐにRailsが使えます。
シェルスクリプトの実行ユーザをrootではなく一般ユーザにする方法がよくわからずにしばらく格闘しました。答えはここに書いてありました。
https://github.com/mitchellh/vagrant/pull/1370
config.vm.provision :shellを使用するときに:privileged => falseを指定するとvagrantユーザとしてスクリプトが実行されます。
ちなみにこのような環境は、Ruby on Railsそのものの開発環境を含めてGitHub上にはいくつかあるようです。
追記: OSはCentOSの6.5がベースで、railsのインストール時にメモリ不足でエラーになるのでメモリは1280MBにしています。rails重い...。また、アプリを立ち上げた時(rails server ...)に使用するデフォルトポートの3000番はホストOS側にフォワーディングしてあるので、ホストOS側でhttp://localhost:3000/に接続するとアプリに接続できます。