Vagrant boxes作成 Virtualbox Cent OS 6.5
Vagrant boxファイル作成 Virtualbox CentOS 6.5
VagrantのCentOS6.5のboxファイルをVirtualboxで作成します。
環境・前提条件
ソフトウェア | バージョン | 備考 |
---|---|---|
Vagrant | 1.6.3 | - |
VirtualBox | 4.3.12 | - |
Cent OS | 6.5 | 最小構成でインストール |
OSイメージの取得サイト例。
- Cent OS 6.5(64bit)http://ftp.riken.jp/Linux/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso
- Cent OS 6.5(32bit) http://ftp.riken.jp/Linux/centos/6.5/isos/i386/CentOS-6.5-i386-minimal.iso
Base Box(CentOS 6.5)作成
以下を参考にBase Boxを作成する。
Virtualbox GUI設定
Virtualboxを起動する。
- 名前とオペレーションシステム: 以下を設定する。
項目 | 値 |
---|---|
名前 | basebox_centos(任意の名前) |
タイプ | Linux |
バージョン | Red Hat(32bit or 64bit) |
- メモリーサイズ: 512MBを設定する。
- ハードドライブ: 仮想ドライブを作成するを選択する。
- ハードドライブのファイルタイプ: VDIを選択する。
- 物理ドライブにあるストレージ: 可変サイズを選択する。
- ファイルの場所とサイズ: 以下を設定する。
項目 | 値 |
---|---|
場所 | basebox_centos(任意のフォルダ) |
サイズ | 8G以上(任意のサイズ) |
- 作成されたbasebox_centosにカーソルを合わせ、メニューから[仮想マシン]->[設定]を選択する。またはツールバーより設定を選択する。
- [ストレージ]->[コントローラー: IDE]->[CD/DVDデバイスの追加]を選択し、OSイメージ(CentOS-6.5-x86_64-minimal.iso)を選択。
- [オーディオ]->[オーディオの有効化]のチェックを外す。
- [ポート]->[USB]->[USBコントローラーの有効化]のチェックを外す。
- [ネットワーク]->[アダプター1]->[ネットワークアダプターを有効化]のチェックを確認。割り当てが”NAT”を確認。高度をクリックし、[ポートフォワーディング]を選択。以下の値で新規ルールを追加する。
項目 | 値 |
---|---|
名前 | ssh |
プロトコル | TCP |
ホストIP | 127.0.0.1 |
ホストポート | 2222 |
ゲストIP | 10.0.2.15 |
ゲストポート | 22 |
Cent OS インストール
- basebox_centosにカーソルを合わせ、メニューから[仮想マシン]->[起動]を選択する。またはツールバーより起動を選択する。ここより先はCent OSインストーラーに従いインストールする。
- “Welcome to CentOS 6.5!”の画面では”Install or upgrade an existing system”を選択する。
- インストレーションメディアのテストは”Skip”を選択する。
- “Welcome to CentOS 6.5!”で”OK”を選択する。
- “Language Selection”で”English”を選択し、”OK”を選択する。
- “Keyboard Selection”で”jp106”を選択し、”OK”を選択する。
- “Warning Error processing drive”で”Re-initialize all”を選択する。
- “Time Zone Selection”で”Asia/Tokyo”を選択し、”OK”を選択する。
- “Root Password”で”vagrant”を入力し”OK”を選択する。
- “Partitioning Type”で”Use entire drive”を選択し、”OK”を選択する。
- “Writing storage configuration to disk”で”Write change to disk”を選択する。
- “Complete”で”Reboot”を選択する。
SSH接続までの初期設定
- VirtualboxコンソールにLoginプロントが表示されるので、root passwordでLoginする。
- eth0の設定ファイルを編集する。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 --- 以下を編集 ONBOOT=yes # no => yes
- 設定の反映のため、ネットワークの再起動
# service network restart
- eth0のstateがUPであることを確認する。
# ip a
- ターミナルからsshで接続
$ ssh root@127.0.0.1 -p 2222
※ ssh接続が失敗する場合は、Virtualbox GUI設定のネットワークのポートフォワーディング設定を見直す。
vagrant user 設定
- vagrant グループ・ユーザの作成。パスワードの設定。
# groupadd vagrant # useradd -g vagrant vagrant # passwd vagrant
- vagrantユーザをpasswordなしでsudoできるようにし、requirettyを無効化する。
# visudo --- 以下をコメントアウト。 #Defaults requiretty --- 以下を末尾に追記。 vagrant ALL=(ALL) NOPASSWD: ALL
- sudoの確認
# su - vagrant $ whoami vagrant $ sudo whoami root
- vagrant公開鍵設定
$ mkdir ~/.ssh $ chmod 0700 ~/.ssh $ curl -L -o ~/.ssh/authorized_keys https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub $ chmod 0600 ~/.ssh/authorized_keys
VirtualBox Guest Additions インストール
- VirtualBox Guest Additionsに必要なパッケージのインストール
$ sudo yum -y update $ sudo yum -y install gcc kernel-devel perl $ sudo reboot
Virtualboxのメニュー[Devices]->[install Guest Additions CD image]を選択。
VirtualBox Guest Additions インストール
# su - vagrant $ sudo mkdir -p /mnt/cdrom $ sudo mount -r /dev/cdrom /mnt/cdrom $ sudo /mnt/cdrom/VBoxLinuxAdditions.run Verifying archive integrity... All good. Uncompressing VirtualBox 4.3.12 Guest Additions for Linux............ VirtualBox Guest Additions installer Copying additional installer modules ... Installing additional modules ... Removing existing VirtualBox non-DKMS kernel modules [ OK ] Building the VirtualBox Guest Additions kernel modules Building the main Guest Additions module [ OK ] Building the shared folder support module [ OK ] Building the OpenGL support module [ OK ] Doing non-kernel setup of the Guest Additions [ OK ] Starting the VirtualBox Guest Additions [ OK ] Installing the Window System drivers Could not find the X.Org or XFree86 Window System, skipping. $
- shutdown
$ sudo shutdown -h now
boxファイル作成
- HOST OSのVirtualBox VMディレクトリでboxファイルを作成する。
$ cd ~/VirtualBox\ VMs/ $ vagrant package --base basebox_centos --output basebox_centos65.box $ file basebox_centos.box
作成したboxのテスト
- 作成boxファイルを Vagrant に登録する。
$ vagrant box add centos65 basebox_centos65.box
- vagrantでの起動。ログインの確認。
$ vagrant init centos65 $ vagrant up $ vagrant ssh