【Mac】virtualBox+vagrantでLinux仮想環境をつくる


TL;DR

  • virtualBox
  • vagrant

を使ってubuntu64ベースの仮想環境を作ります。
ハードはmacです。

※アプリのバージョンが違うと動かない場合があるので、
こちらで指定したバージョン以外を使ってエラー出た場合は、
自力解決していただけると幸いです。

手順

1. virtualBox

Download VirtualBox (Old Builds): VirtualBox 5.1にいき、「OS X hotst → Intel Macs」のリンクをクリックしてダウンロード。そしてインストールしましょう。時間けっこうかかります。

2. vagrantインストール

https://releases.hashicorp.com/vagrant/2.0.0/vagrant_2.0.0_x86_64.dmgからダウンロードしてインストールしましょう。時間けっこうかかります。

3. 作業フォルダを作る

ここからターミナルでの作業です。
どこでも良いので、作業フォルダを作りましょう。

$ mkdir username/vagrant/ubuntu64

5. 作業フォルダにubuntu64をインストールする

まずは作業フォルダに移動

$ cd username/vagrant/ubuntu64

そして以下のコマンドでインストールしましょう。

$ vagrant box add ubuntu/xenial64 https://vagrantcloud.com/ubuntu/boxes/xenial64/versions/20170929.0.0/providers/virtualbox.box

インストールできたら、vagrantの設定ファイルを作るためのコマンドを実行。

$ vagrant init ubuntu/xenia164

6. ubuntu 起動!

ubuntu起動!

$ vagrant up

↑のコマンドを実行するとwarningやら何やらでてきますが、
最終的に

Machine booted and ready!

が出れば起動完了です。

7. ubuntuに接続する

起動しただけでは使えないので、ubuntuに接続します。
※場所は変わらず作業フォルダ(username/vagrant/ubuntu64)です。

$ vagrant ssh

セキュリティの問題で何か聞かれますが、Yesと答えましょう。

以下の情報が出れば接続完了です。

Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-64-generic x86_64)
// 以下Documentation等が列挙されてる

接続すると、ターミナルのuser名が変わります。

これで仮想環境が出来ました。

ただ、現状だとvagrantにアクセスしないとvagrant上のファイルにはアクセスできません。
それだとファイルを編集する時にvagrant上でしかできないし、ローカルでやるには、ダウンロードして編集して再up、と面倒になります。

なので、ローカルで編集したファイルが即時vagrantに反映されるよう、vagrantとOS間の共有フォルダを作りましょう。

8. vagrantとの共有フォルダを作る

まずはローカルの作業フォルダ内に、適当なフォルダを作ります。

$ mkdir tmp

これが共有フォルダの元になります。

次にVagrantfileの設定をいじります。

まずは、vagrant sshした時のパスを確認。
環境によって、/home/vagrantと表示される場合もあります。

ubuntu@ubuntu-xenial:~$ pwd
/home/ubuntu

次にVagrantfileを開いて

/Users/username/vagrant/ubuntu64_16/Vagrantfile

41行目の空白行に

config.vm.synced_folder "./tmp", "/home/ubuntu/tmp"

を追記します。

ただし、vagrant sshした時のパスが/home/vagrantだった場合は、

config.vm.synced_folder "./tmp", "/home/vagrant/tmp"

と追記してください。


これで仮想環境の設定は完了です。

ローカルの/Users/username/vagrant/ubuntu64_16/tmpでファイル操作をすると、vagrant上のtmpにも変更が反映されてると思います。