CentOS 7をVirtualBoxにインストールして、VagrantのBOXにします。使用したバージョンは下記の通りです。必要最低限のBOXを作成することを目的とします。
・VirtualBox バージョン 5.0.16
・CentOS 7(1511)
VirtualBox 仮想マシンにCentOSをインストールする
CentOSのisoイメージを公式サイト(https://www.centos.org/download/)よりダウンロードします。3種類のisoイメージがあります。ここではDVDを使用します。ファイル名は2016/03/20時点でCentOS-7-x86_64-DVD-1511.isoです。
VirtualBOX 仮想マシンを新規に作成する
CentOSをインストールする
作成した仮想マシンを起動します。起動時にダウンロードしたisoイメージファイル(CentOS-7-x86_64-DVD-1511.iso)を指定します。
インストールを進めます。
INSTALLATION DESTINATIONを設定します。ディスクを選択します。
NETWORK & HOST NAMEを設定します。EthernetをONにします。ここでの設定でONにしなかった場合に問題が発生した場合、ツールのnmtuiを試してください。ネットワークの設定が可能です。
rootのパスワードと、任意のユーザーを追加できます。rootにパスワードを設定してインストールを完了させます。
SSH接続の設定をします。ポートフォワーディングにポートを追加します。ホストポート2222、ゲストポート22です。
PuTTYでの設定例です。
環境を設定する
開発環境を想定しているので、セキュリティ関連を無効にします。ユーザvagrantの追加、設定をします。
ファイアウォール(firewalld)、SELinuxを無効にする
ファイアウォールの停止、サービスの解除をします。
systemctl stop firewalld 停止
systemctl disable firewalld サービス解除
SELinuxを無効にします。/etc/sysconfig/selinuxをエディタで開き、SELINUX=disabledにします。
ユーザvagrantを追加する
vagrantがコマンド実行時に使うユーザ(vagrant)を追加します。パスワードはユーザ名と同じ’vagrant’で設定します。
useradd -m vagrant passwd vagrant
SUDOの設定をします。コマンドvisudo でエディタが開きますのでDefaults requirettyをコメントアウトします。
vagrant ALL=(ALL) NOPASSWD: ALLを新規に追加します。これでSUDOにパスワードが不要になります。
SSH鍵の設定をする
ユーザvagrantのホームディレクトリの下に公開鍵(authorized_keys)を設定します。
su – vagrantでユーザを変えてから操作します。
su - vagrant mkdir ~/.ssh chmod 700 ~/.ssh cd ~/.ssh curl -k -L -o authorized_keys 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' chmod 600 ~/.ssh/authorized_keys chown -R vagrant:vagrant ~/.ssh
VirtualBox Guest Additionsのインストール
vagrantが要求するsyncディレクトリを使うためにVirtualBox Guest Additionsをインストールします。ゲストOS側/vagrantと、ホスト側のホームディレクトリが関連付けられることになります。
VirtualBoxのデバイスメニューからGuest Additions CDイメージの挿入をします。
CDROMをマウントして、インストールします。
(関連するパッケージをアップデート&インストール) sudo yum update sudo yum install kernel kernel-devel perl gcc bzip2 (VirtualBox Guest Additionsインストール) sudo mkdir /media/cdrom sudo mount -r /dev/cdrom /media/cdrom sudo sh /media/cdrom/VBoxLinuxAdditions.run umount /media/cdrom
エラーが出る場合は、kernelとkernel-develのバージョンを確認してください。バージョンが違うと問題が起きます。
$ kernelのバージョン uname -r
$ kernel-develのバージョン rpm -qa | grep kernel-devel
同じバージョンのものをインストールします。
$ yum install kernel-devel-(uname -rで取得したカーネルのバージョン )
バージョンを合わせ再度sh /media/cdrom/VBoxLinuxAdditions.runを実行してください。
解決出来ない場合は、下記のサイトが参考になると思います。
Qiita:Install Linux kernel-devel
http://qiita.com/metheglin/items/60261f474ccdfb467574
BOX作成前にサイズが出来るだけ小さくなるようにします。
yum clean all
未使用領域のゼロフィル
dd if=/dev/zero of=/EMPTY bs=1M
rm -f /EMPTY
shutdown -h now
Vagrant BOXを作成する
ローカル環境で作業します。
vagrant package --base (仮想マシン名)
package.boxが生成されます。
vagrant box add --name (任意のBOX名) package.box vagrant box list
作成したBOX名がリストに表示されていれば完了です。お疲れ様でした。
コメント