CentOS 7のVagrant BOXを新規にインストールして作成する

CentOS

CentOS

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 仮想マシンを新規に作成する

VirtualBox_new_vm

VirtualBox_new_vm_02

CentOSをインストールする

作成した仮想マシンを起動します。起動時にダウンロードしたisoイメージファイル(CentOS-7-x86_64-DVD-1511.iso)を指定します。

VirtualBox_new_vm_03

インストールを進めます。

VirtualBox_new_vm_04

INSTALLATION DESTINATIONを設定します。ディスクを選択します。

VirtualBox_new_vm_07

NETWORK & HOST NAMEを設定します。EthernetをONにします。ここでの設定でONにしなかった場合に問題が発生した場合、ツールのnmtuiを試してください。ネットワークの設定が可能です。

VirtualBox_new_vm_06

 

rootのパスワードと、任意のユーザーを追加できます。rootにパスワードを設定してインストールを完了させます。

VirtualBox_new_vm_05

 

SSH接続の設定をします。ポートフォワーディングにポートを追加します。ホストポート2222、ゲストポート22です。

VirtualBox_new_vm_08

PuTTYでの設定例です。

VirtualBox_new_vm_09

 

環境を設定する

開発環境を想定しているので、セキュリティ関連を無効にします。ユーザvagrantの追加、設定をします。

ファイアウォール(firewalld)、SELinuxを無効にする

ファイアウォールの停止、サービスの解除をします。

systemctl stop firewalld     停止

systemctl disable firewalld   サービス解除

 

SELinuxを無効にします。/etc/sysconfig/selinuxをエディタで開き、SELINUX=disabledにします。

VirtualBox_new_vm_10

 

ユーザvagrantを追加する

vagrantがコマンド実行時に使うユーザ(vagrant)を追加します。パスワードはユーザ名と同じ’vagrant’で設定します。

useradd -m vagrant
passwd vagrant

SUDOの設定をします。コマンドvisudo でエディタが開きますのでDefaults requirettyをコメントアウトします。
vagrant ALL=(ALL) NOPASSWD: ALLを新規に追加します。これでSUDOにパスワードが不要になります。

VirtualBox_new_vm_11

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イメージの挿入をします。

VirtualBox_new_vm_12

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名がリストに表示されていれば完了です。お疲れ様でした。

 

 

コメント

タイトルとURLをコピーしました