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

  • 1
    Like
  • 0
    Comment

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

はい。

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

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

Vagrantについてはこちらのシリーズを参照してくだされ。

事前準備

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

参考

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

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

Vagrant使ってみる

$ vagrant init mvbcoding/awslinux

ってするとVagrantfileができます。
Vagrantfileの書き方はこちらを参照。
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の中にこちらを参考にprovisionを書いていきます。

で、かけたのがこちら

# -*- 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

かけたら

vagrant up

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

$ vagrant ssh

で接続しましょう。

おまけ

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

$ vagrant ssh-config

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

by 株式会社Arrvis