MacにRuby on Railsの開発環境を作る（Vagrant）-旧バージョン。中途半端です。

ってことで、書き直した記事がこちら→https://qiita.com/yutaka_izumaru/items/088abeff36bfecb35b39

# はい。
環境汚したくないよね。
いろんなクライアントのいろんなもの見てるとね。
rbenvでバージョン切り替えられるって言ってもだるいし。
ってゆーかMacいっぱいあるからめんどい。
ってことでやっぱVagrantかなっと。Dockerもそのうちちゃんとやらなきゃなぁ。。

んで、基本的にEC2使うことが多いのでEC2用のBoxを使いまっせ。

Vagrantについては[こちら](https://qiita.com/akippa_app/items/ac63cc5ea48ad702c359)のシリーズを参照してくだされ。

# 事前準備
XcodeをApp Storeから
Homebrewをターミナルからインストールしておきましょう

[参考](https://qiita.com/akippa_app/items/96cce728dac9f187ba2b)

終わったらHomebrew CaskとVagrant、VirtualBox、それらに付随するプラグインなどなどをインストールしまっせ。なお、「brew cask list」でインストールされてるものが一覧で見れますよ。

```shell-session
$ brew tap caskroom/cask
$ brew cask install virtualbox virtualbox-extension-pack vagrant
$ vagrant plugin install vagrant-omnibus
$ vagrant plugin install vagrant-vbguest
```

# Vagrant使ってみる

```shell-session
$ vagrant init mvbcoding/awslinux
```

ってするとVagrantfileができます。
Vagrantfileの書き方は[こちら](https://qiita.com/akippa_app/items/d6aef518bff20dc39530)を参照。
box_urlはAmazon Linuxを使うのでこちら

```
https://atlas.hashicorp.com/mvbcoding/boxes/awslinux/versions/2017.03.0.20170401/providers/virtualbox.box
```

config.vm.provision "shell", inline: <<-SHELLの中に[こちら](https://qiita.com/yutaka_izumaru/items/44ae64df91f9fed593d2)を参考にprovisionを書いていきます。

で、かけたのがこちら

```rb
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "hoge"

  config.vm.box_url = "https://atlas.hashicorp.com/mvbcoding/boxes/awslinux/versions/2017.03.0.20170401/providers/virtualbox.box"
  # config.vm.box_check_update = false

  config.vm.network "forwarded_port", guest: 80, host: 8080
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
  # config.vm.network "private_network", ip: "192.168.33.10"
  # config.vm.network "public_network"

  config.vm.synced_folder "../api", "/var/www/api"

  config.vm.provider "virtualbox" do |vb|
     vb.gui = false
     vb.memory = "1024"
  end

  config.vm.provision "shell", inline: <<-SHELL
    # とりあえず
    sudo yum -y update

    # 必須コンポーネント
    sudo rpm -Uvh ftp://ftp.scientificlinux.org/linux/scientific/6.4/x86_64/updates/fastbugs/scl-utils-20120927-8.el6.x86_64.rpm
    sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    sudo yum -y install nginx mysql git nodejs -enablerepo=epel

    # Rubyインストール
    git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
    git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
    echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
    source ~/.bash_profile
    sudo yum -y install gcc openssl-devel readline-devel sqlite-devel
    rbenv install 2.4.2
    rbenv global 2.4.2
    gem update --system
    gem install --no-ri --no-rdoc rails
    gem install bundler
    gem install sqlite3
    gem install unicorn
    rbenv rehash

    # unicorn設定
    sudo mkdir /var/run/unicorn
    sudo chmod 777 /var/run/unicorn

    # ドキュメントルート設定
    sudo chown -R vagrant:vagrant /var/www
    sudo chmod 2777 /var/www -R

    # Nginx設定・起動
    sudo chkconfig nginx on
    sudo service nginx start

    # 日本時間に
    sudo mv /etc/localtime /etc/_localtime
    sudo cp /usr/share/zoneinfo/Japan /etc/localtime
  SHELL
end
```

かけたら

```shell-session
vagrant up
```

しばらーーーーくすると終わります。

```shell-session
$ vagrant ssh
```

で接続しましょう。


# おまけ
vagrant sshじゃなくて、普通のSSHではいる。

```shell-session
$ vagrant ssh-config
```

ってしましょう。
これを~/.ssh/configにかけばよいですね。

by [株式会社Arrvis](http://www.arrvis.com/)