Mac上にVagrantでUbuntuゲストOSを作成して、 その中にRuby on Rails 5を自動で構築します。
うまく行けば10分かからずに、 Rails5環境を構築できるかと思います。 (PCのスペック、ネット環境には依存します。)
ちなみに構築した際のホストPCのスペックは ホストOS: Mac OS X 10.12.2(メモリ8GB)です。
1.Virtual Boxインストール
ここからMac用のものをダウンロード
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp
2.Vagrantインストール
インストールはこちらから
Downloadをクリック

Macのリンクを選択

ターミナルでインストールされたか確認
vagrant --version
エラーが出なければOK
3.Vagrant Box作成
適当なフォルダにVagrantフォルダを作成
mkdir ~/Vagrant
Vagrant 初期化
vagrant init ubuntu/xenial64
4.Vagrantfile編集
vagrant init の後にVagrantfileというのがあるので それを編集 編集箇所は3箇所
プライベートアドレス設定
27行目あたり config.vm.networkのコメントアウトを外す
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "192.168.33.10"
メモリの割り当て設定
4GB程度に設定(お好みで) あまり低いとインストールに時間がかかるかも
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
# vb.gui = true
# Customize the amount of memory on the VM:
vb.memory = "4096"
end
Rails インストールシェルの設定
ここにRailsをインストールするためのコマンドを書き込む 最後の方の
config.vm.provision "shell", inline: <<-SHELL
から
SHELL
の間に以下を書き込む
# 必要なパッケージをインストール
sudo apt-get update
sudo apt-get install -y build-essential zlib1g-dev libssl-dev
sudo apt-get install -y libreadline-dev libyaml-dev libxml2-dev libxslt-dev
sudo apt-get install -y ruby-dev nodejs
sudo apt-get install -y rbenv
sudo apt-get install libsqlite3-dev
# Railsインストール
sudo gem install rails
sudo gem install sqlite3 # SQLITE用にインストール
sudo gem install therubyracer
# Railsアプリケーション作成
cd /vagrant && rails new myapp
sudo chmwon -R ubuntu:ubuntu /vagrant/myapp
5.Vagrant起動
vagrant up
初回起動時に上で書いたシェルを実行してくれる。
できたか確認
仮想環境にログイン
vagrant ssh
Rails アプリをWebRickで動かす
cd /vagrant/myapp
rails s -b 0.0.0.0
エラーなく起動したら http://192.168.33.10:3000 に接続してみる。
6.振り返り
ここまでスムーズに行けば10分程度でRailsが動くサーバを作成できる。 環境構築は意外と時間がかかるので、 こういう形でどんどん自動化していきたい。
ただ、いきなり環境構築のためのスクリプトを書くのは 不可能なので
①手動で試行錯誤しながら環境構築
②①の手順をVagrantのprovisonシェルに書く
という流れで自動化していくのが良さそう。