Engineering

Jan 14, 2017

Mac たったの10分!! Vagrantで Ruby on Rails 5 を自動構築

 

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インストール

インストールはこちらから

https://www.vagrantup.com/

Downloadをクリック

vagrant-top

Macのリンクを選択

download-vagrant.png

ターミナルでインストールされたか確認

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シェルに書く

という流れで自動化していくのが良さそう。

関連記事

記事検索

気になるサイト内の記事を検索する

プロフィール

バンクーバー在住のフルスタックエンジニアです。React, Ruby on Rails, Go などでお仕事しています。職場がトロントなので日本、トロント、バンクーバーの三つの時天空を操って生活しています。

プロモーション

Index

  • 1.Virtual Boxインストール
  • 2.Vagrantインストール
  • 3.Vagrant Box作成
  • 4.Vagrantfile編集
  • 5.Vagrant起動
  • 6.振り返り