MacOSXにUbuntu16.04の仮想環境を構築する


今年はなるべくアウトプットしなければ(汗)と危機感を感じ、
Evernoteに溜めていたナレッジをずらずらと書いていこうと思います。

っで、今回は今更ながら感いっぱいですが、Vagrantを利用して環境構築を行っていきます。

Vagrantは仮想環境(VM)を一元管理し操作するためのコマンドラインツールで、
MacOSX、Windows、Linuxに対応したパッケージをインストールし利用します。
また、VirtualBoxと連携(VMWareや他のクラウドとも連携可)するため、
そちらも別途インストールしておく必要があります。

バージョン

  • MacOSX El Capitan(10.11.6)
  • VirtualBox(5.1.8)
  • Vagrant(1.8.7)
  • Ubuntu(16.04 Xenial Xerus)

大まかな流れ

  1. VirtualBoxのインストール
  2. Vagrantのインストール
  3. Vagrantfileの作成と編集
  4. vagrant upコマンドでVM起動
  5. vagrant sshでVMにログイン

1. VirtualBoxのインストール

まずはここOS X hostsからディスクイメージをダウンロードして、
Macにインストールしてください。

2. Vagrantのインストール

次にVagrantのディスクイメージをここからダウンロードしてインストールしてください。

3. Vagrantfileの編集

適当な作業ディレクトリを作成し、その中に空のVagrantfileファイルを配置します。
vagrant initコマンドでVagrantfileを作成することもできますが、
動的に作成されたファイルの中身にはずらずらとコメントが書かれていて編集しづらいので、
今回はまっさらなファイルを作成します。

$ mkdir -p ~/Documents/sandbox/vagrant
$ cd ~/Documents/sandbox/vagrant
$ touch ./Vagrantfile

次にVagrantfileを開き下記を記述します。

$ vim ./Vagrantfile
Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "eighty8/ubuntu16.04-min"

  config.vm.define "machine1" do |node|
    node.vm.hostname = "machine1"
    node.vm.network "private_network", ip: "192.168.xx.xx"
    node.vm.provider "virtualbox" do |vb|
      vb.gui = false
      vb.memory = "1024"
      vb.cpus = "2"
    end
  end
end

コードの解説

2行目の config.vm.box で
使用したい仮想マシンイメージ(box)を指定します。

boxファイルはオフィシャルなものから個人で作成されたものまで数多くあります。
ここちらからいろいろ探してみてください。
なお、eighty8/ubuntu16.04-min は、私が作成したイメージで、
Ubuntuの最新版minimal構成のイメージとなっています。

4行目の config.vm.define "machine1" do |vm| から
12行目の end までが1つの仮想マシーンの設定となります。

5行目の node.vm.hostname では仮想マシンの任意のホスト名を指定します。

6行目の node.vm.network で仮想マシンのネットワーク設定を行います。
ネットワークはデフォルトの private_network を指定し、
ipには 192.168.xx.xx を指定しています。(xxには任意の値を入れてください)

  • private_network
    • アダプター1 / 割り当て : NAT
    • アダプター2 / 割り当て : ホストオンリー
  • public_network
    • アダプター1 / 割り当て : NAT
    • アダプター2 / 割り当て : ブリッジ

ネットワークに関してはこちらのサイトがとても参考になりますので、
興味のある方は覗いてみてください。

7行目の node.vm.provider "virtualbox" do |vb| から
11行目の end までは、仮想マシンの処理装置に関する設定です。

8行目の vb.gui はグラフィックを使わないので false を指定します。

9行目の vb.memory には任意のメモリ容量を指定します。

10行目の vb.cpus はCPUのコア数を指定します。

4. VMの起動

Vagrantfileが作成できたら、さっそく下記のコマンドで起動してみましょう。
なお、vagrant upはVagrantfileを作成したディレクトリで実行してください。
初めて起動する場合はBoxがダウンロードされるのでけっこう時間が掛かります。

$ vagrant up

起動したらログインします。

$ vagrant ssh

パッケージ類を更新しておきます。

$ sudo apt-get update
$ sudo apt-get upgrade

あとは開発環境に必要なミドルウェアを、別途インストールしてみてください。