Vagrantは便利だが、boxの初回ダウンロードがウンザリするくらい長い。
torrentに流してくれればいいのに…。
しかたないので自分でUbuntuのboxを作る。
参照ドキュメントは公式の以下のもの。
https://docs.vagrantup.com/v2/boxes/base.html
VirtualBox上でUbuntu14.04をインストール後、apt-get update && apt-get upgrade && apt-get dist-upgradeまで済ませた前提。
providerはVirtualBox。
まずVirtualBox特有の注意点を先に。
VirtualBox向けにBoxを作るときの注意点
https://docs.vagrantup.com/v2/virtualbox/boxes.html
- ネットワークインタフェースはNATにしておくこと。
- MACアドレスをメモしておくこと。
- VirtualBox Guest Additionsをインストールしてあること。
一つ目の理由は、VirtualBoxが決め打ちで接続してくるから。
二つ目の理由は、Vagrantfileのconfig.vm.base_macに書く必要があるから。
MACアドレスはVirtualBoxのGUIから確認できる。
三つめの条件を満たすには、あらかじめlinux kernel headersとbasic developer toolsをインストールしておく必要がある。
手順は後述。
ではさっそく。
不要なハードウェアの無効化
USB, オーディオなどを無効化する。
特にUSBが有効になっていると、無用なバグを引いたりするので、無効化しておくことを強く勧める。
デフォルトユーザ(vagrant)の作成
Vagrantの作業用アカウントを作る。
Vagrantはデフォルトでユーザ"vagrant"として仮想マシンにSSH接続する。
vagrantというユーザのいることが明らかだと、それはそれでセキュリティ上のリスクになるのだが、それはVagrantに慣れてから考える。
vagratを追加し、パスワードもvagrantに。
パスワードを設定しておくのは、万が一、手動で仮想マシンに接続する必要が生まれたときのため。
# useradd -m vagrant
# passwd vagrant
SSH接続用に鍵を作成する。
鍵はインターネットからダウンロードする。そんな鍵なんて危ないように見えるが、これはあくまでも初回ブート用。Vagrantが自動的に書き換えてくれる。
# mkdir -p /home/vagrant/.ssh
# cd /home/vagrant/.ssh
# curl -k -L -o authorized_keys 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
# chmod 700 /home/vagrant/.ssh
# chmod 600 /home/vagrant/.ssh/authorized_keys
# chown -R vagrant:vagrant /home/vagrant/
ユーザvagrant向けsudo設定
ユーザvagrantがパスワードなしでsudoできるように。
visudoで以下の行を追加。
# visudo
vagrant ALL=(ALL) NOPASSWD: ALL
さらにrequirettyという記述があればコメントアウト
# requiretty # コメントアウトでttyなくsudoできる。
rootのパスワードも変える。
rootのパスワードも"vagrant"に。
# passwd
sshd設定
sshdがなければインストール。
# apt-get install openssh-server
sshdの設定ファイルを書き換え
# vi /etc/ssh/sshd_config
以下の行があることを確認。なければ書く。
Port 22
PubKeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PermitEmptyPasswords no
UseDNS no
VirtualBox Guest Additionsのインストール
再掲だが以下のドキュメントに沿って。
https://docs.vagrantup.com/v2/virtualbox/boxes.html
# apt-get install dkms
# /etc/init.d/vboxadd setup
# apt-get install -y build-essential linux-headers-server
その後、VirtualBox Guest Additionsのインストール
VitualBoxのGUIからCDを挿入し、以下を実行。
# mount /dev/cdrom /media/cdrom
# sh /media/cdrom/VBoxLinuxAdditions.run
# umount /media/cdrom
# apt-get clean
後はこちらの通り。