やりたいこと
- Macに仮想環境を作りたい
使用するもの
これでLinux(Ubuntu)をインストールする。 ※GUI環境のUbuntuを入れる
流れ
VirtualBoxをダウンロード
記事執筆時点(2019年11月17日)ではVirtualBox 6.0.14
が最新。ただVagrantとの相性があり、新しければよいというわけではない。5.2系は安定しているが、サポートが2020年7月までとなっている。Macの場合はOS X hosts
と呼ばれるやつを選ぶ。
ダウンロードが終わったら、Macのインストーラーに言われるがままにセットアップ。
System Extension Blockedというダイアログが出たら、「セキュリティ環境設定を開く > 許可」をする。このダイアログすらも出ない、インストールできない場合は「環境設定 > セキュリティとプライバシー > 許可」をする。
Vagrantをインストール
Vagrant2.2.6
が最新となっている(2019年11月17日)。MacOS用をダウンロードする。
Ubuntuをインストールする
まずはディレクトリを作成し、そこへ移動。
mkdir -p ~/vagrant/ubuntu cd ~/vagrant/ubuntu
次にUbuntuのバージョン指定をしてインストール。
vagrant box add <Ubuntu名前> --box-version <バージョン>
例
vagrant box add ubuntu/bionic64 --box-version 20181129.0.0
次のコマンドを入れる。
vagrant init <Ubuntu名前>
例
vagrant init ubuntu/bionic64
これでVagrantが実行され、仮想マシンの設定ファイル(Vagrantファイル)が作成される。vagrant init
だけでは適切なファイルが作成されないので注意。
ハイ次。
vagrant up
これでOK。
vagrant ssh
上記コマンドでssh接続をしてUbuntuに入れるか確認。 OKならssh接続を一旦抜けて次へ。
ディレクトリ共有設定
cd ~/vagrant/<ubuntu名前>
作業ディレクトリを作成する
mkdir workspace
vagrantディレクトリにVagrantfile
という設定ファイルがあるので開き、以下を設定。
・47行目あたりにあるコメントがない行に以下を入れる
config.vm.synced_folder "./workspace", "/home/vagrant/workspace"
これで仮想環境でのworkspace
ディレクトリとMacのローカルにあるworkspace
ディレクトリが共有される。
・55〜61行あたりにある
# 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 = "1024" # end
これを
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 = "1024" end
とコメントアウトを消して許可する。
設定を反映させるため、vagrantを再起動する。
vagrant reload
これでできたはず。 再びssh接続できるか確認。
vagrant ssh
workspace
でディレクトリやファイルなどを作ってみて、共有できてたらOK。
日本語化など
日本のタイムゾーンに設定。
sudo timedatectl set-timezone Asia/Tokyo
dateコマンドで時間確認。
date
日本語化する。
sudo locale-gen ja_JP.UTF-8 echo export LANG=ja_JP.UTF-8 >> ~/.profile
反映させる。
source ~/.profile