vagrant用カスタムboxの作成

phpの開発環境構築にvagrantがよさそう。
さっそく試してみよう。
仮想環境はネットからDLするほうが簡単そうだけど、
仕組みを理解するためにも自分で作成してテンプレート化
してみましょー。

環境

手順

Virtualboxのインストール

Vagrantのインストール

Virtualbox仮想ゲストの作成

仮想ゲストの作成

  • 以下の設定でイメージを作成します。
    • 名前とオペレーティングシステム
      • 名前:サーバが識別できるような名前で(centos7としました)
      • タイプ:Linux
      • バージョン:Red Hat(64bit)
    • メモリーサイズ
      • 1024MB(適当です)
    • ハードドライブ
      • ◉仮想ハードドライブを作成する
        • ハードドライブのファイルタイプ
        • 物理ハードドライブにあるストレージ
          • ◉可変サイズ
        • ファイルの場所とサイズ
          • 場所:デフォルト表示のまま
          • サイズ:8.0GB(適当です)
  • 作成後、以下をVirtualboxの設定画面から設定します。(不要な場合のみ実施)
    • ポート > USB:USBコントローラを無効化
    • オーディオ:オーディオを無効化

OSのインストール

  • 前の手順で作成した仮想ホストに以下の設定でOSインストールを行います。 今回はOSインストーラに「CentOS-7-x86_64-Minimal-xxxxx.iso」を使用しました。
  • 仮想ホストを起動
    • インストーラーに「CentOS-7-x86_64-Minimal-xxxxx.iso」を指定。
    • インストール時に使用する言語:日本語
    • パーティションは自由に設定、デフォルトでもOK
    • ネットワーク設定は環境に応じて(DHCPとしました)
    • ホスト名:centos7
    • rootパスワードは「vagrant

SELinuxの無効化

# sed -i -e "s:^SELINUX= enforcing:SELINUX=disabled:" /etc/selinux/config
# reboot

sshdの設定変更(名前解決の無効化)

# sed -i -e "s:^#UseDNS yes:UseDNS no:" /etc/ssh/sshd_config

vagrant用の設定

  • vagrantユーザ、グループの作成
    • パスワードは「vagrant」とする
useradd -m vagrant -G wheel
passwd vagrant

sudoの設定変更

  • ttyなしでの操作を有効化
# visudo
---
#Defaults    requiretty    <- コメントアウトして設定を無効化
---
  • パスワードなしでの利用を有効化
#visudo
---
vagrant         ALL=(ALL)       NOPASSWD: ALL    <- ファイル末尾に追加
---

ssh公開鍵の登録

# mkdir /home/vagrant/.ssh
# chmod 700 /home/vagrant/.ssh
# cd /home/vagrant/.ssh 
# curl -o ~/.ssh/authorized_keys https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub
# chmod 600 /home/vagrant/.ssh/authorized_keys
# chown -R vagrant.vagrant /home/vagrant/.ssh

OSパッケージの最新化

yum -y update
reboot

開発用ツールのインストール

yum -y groupinstall "Development Tools"
reboot

yumリポジトリの追加(必要な場合のみ)

epelリポジトリ追加

yum -y install epel-release

remiリポジトリの追加

remi公式ページから対象となるrpmを確認してインストールします。

yum -y install http://remi.kazukioishi.net/enterprise/remi-release-7.rpm

Virtualbox Addtionsのインストール

仮想マシンのメニューから、[Devices] > [Insert Guest Additions CD Image ...]を選択後、

# mount -r /dev/cdrom /mnt
# /bin/sh /mnt/VBoxLinuxAdditions.run
# umount /mnt

不要ファイルのクリーンアップ

yumのクリーンアップ

yum clean all

空き容量部分の最適化

# dd if=/dev/zero of=/EMPTY bs=1M
# rm -f /EMPTY

ゲストOSをシャットダウン

# shutdown -h now

Virtualbox仮想ゲストのbox化

$ vagrant package --base [仮想マシン名]

カスタムboxの登録、box確認

登録

$ vagrant box add --name [登録するvbox名] [作成したvboxファイル名]

box確認

$ vagrant box list

これで好きなだけ自分色のカスタムboxを準備しておこう!!


実践 Vagrant

新品価格
¥2,808から
(2015/4/23 13:03時点)