LoginSignup
4
2

More than 3 years have passed since last update.

VagrantでCentOS7のBOXを作成する(Mac)

Last updated at Posted at 2017-07-04

概要

CentOS7のBOXについては、既にVagrantCloudなどで多数配信されています。
しかし、何がインストールされているかわからないなど気になったので自作してみました。
その際の作業内容をメモとして残します。

事前準備

次の準備が完了して作業を開始しましょう。

仮想マシンの作成

VirtualBoxで仮想マシンを作成します。

「仮想マシン」->「新規」を選択

下記の内容を入力して、「作成」ボタンを押す。
vm-01.png

  • 名前     :vagrant-centos-7
  • タイプ    :Linux
  • バージョン  :Red Hat (64-bit)
  • メモリーサイズ:1024MB
  • ハードディスク:仮想ハードディスクを作成する

さらに、下記の内容を入力して、「作成」ボタンを押す。
vm-02.png

  • ファイルの場所          :vagrant-centos-7
  • ファイルサイズ          :40.00GB
  • ハードディスクのファイルタイプ  :VDI (VirtualBox Disk Image)
  • 物理ハードディスクにあるストレージ:可変サイズ

仮想マシンの設定

仮想マシンvagrant-centos7を右クリックし設定をクリックし、下記設定を行う。
vm-03.png

起動順序の設定

システムタブを開き、起動順序にあるフロッピーのチェックを外す。
vm-04.png

ストレージ設定

ストレージタブを開き、コントローラー: IDEでダウンロード済みの「CentOS-7-x86_64-Minimal-1611.iso」を選択する。
vm-05.png

オーディオ設定

オーディオタブを開き、オーディオを有効化のチェックを外す。
vm-06.png

ポート設定

ポートタブを開き、続いてUSBタブを開いて、USBコントローラーを有効化のチェックを外す。
vm-07.png

ネットワーク設定

ネットワークタブを開き、アダプター1にある高度をクリックし、ポートフォワーディングをクリック。
vm-08.png

右にある「+」をクリックして、sshの設定を追加する。
vm-09.png

以上で設定は終了です。
「OK」ボタンをクリックして、設定画面を閉じる。

CentOS7のインストール

仮想マシンを起動

仮想マシンvagrant-centos7を右クリックし起動->通常起動をクリックする。
vm-10.png

ブート選択

「Install CentOS Linux 7」を選択する。
vm-11.png

言語の選択

「japanese」と入力して、絞り込み、日本語を選択する。
vm-12.png

インストールの概要

そのまま「インストールの開始」ボタンをクリックする。
vm-13.png
※ソフトウェアに「!」が表示された場合は、少々待つと消える。
※システムに「!」が表示され、進めない場合は、一度開いてみると消える。

ルートのパスワード設定

「ROOTパスワード」をクリック。
vm-14.png

パスワードを入力し、完了を2回クリックする。
vm-15.png
※パスワードポリシーには反しているが、Vagrantで利用するのでこのまま登録する。

インストール

インストールが開始されます。
少々時間がかかるので、インストールが完了するまで待つ。
vm-16.png
※インストールの進行状況は、下部のバナーの上に表示されます。

再起動

インストールが完了すると「再起動」ボタンが表示されるので、クリックする。
vm-17.png

CentOS7の設定

CentOS7の起動

「CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)」を選択する。
vm-18.png

ログイン

rootでログインする。

コンソール(CentOS7)
CentOS Linux 7 (Core)
Kernel 3.10.0-514.el7.x86_64 on an x86_64

localhost login: root
Password:
Last login: Tue Jul  4 12:50:07 on tty1
[root@localhost ~]# 

ネットワークの設定

インタフェース名の確認

コンソール(CentOS7)
# nmcli c s
NAME    UUID                                  TYPE            DEVICE
enp0s3  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  802-3-ethernet  --

ONBOOTをyesに設定すると同時にネットワークにもDHCPで接続される。

コンソール(CentOS7)
# nmcli c m enp0s3 connection.autoconnect yes

vagrantユーザの追加

ユーザvagrantを作成し、パスワードをvagrantとする。

コンソール(CentOS7)
# groupadd -g 1000 vagrant
# useradd -g vagrant -u 1000 vagrant
# passwd vagrant

※パスワードは「vagrant」とする

sudoとRequirettyの設定を行う。

コンソール(CentOS7)
# visudo

下記を追記する

コンソール(CentOS7)
# Vagrant User Setting
Defaults:vagrant !requiretty
vagrant         ALL=(ALL)       NOPASSWD: ALL

vagrantユーザーの設定

ssh接続

Macのターミナルを起動時、下記コマンドにて接続する

ターミナル(Mac)
$ ssh -p 2222 vagrant@localhost

※「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」が表示され、
 接続できない場合は、「known_hosts」を調整。

Vagrant sshの設定

ターミナル(vagrant)
$ install -m 0700 -d ~/.ssh
$ echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

GuestAdditionsのインストール

準備

ターミナル(vagrant)
$ sudo yum -y install epel-release
$ sudo yum -y install -y bzip2 gcc make kernel-devel-`uname -r` dkms gcc-c++

Guest Addions CD imageのセット
vm-20.png

GuestAdditionsのインストール

ターミナル(vagrant)
$ sudo mount -r /dev/cdrom /mnt
$ sudo /mnt/VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.1.22 Guest Additions for Linux...........
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
vboxadd.sh: Starting the VirtualBox Guest Additions.

Guest Addions CDのアンマウント

ターミナル(vagrant)
$ sudo umount /mnt

仮想マシンの終了

ボックスサイズの最小化し、シャットダウンする。

ターミナル(vagrant)
$ sudo yum clean all

# Log削除
$ sudo rm -rf /var/log/*
$ sudo rm -rf /tmp/*

# 圧縮
$ sudo dd if=/dev/zero of=/0 bs=4k
$ sudo rm /0

# コマンド履歴をクリア
$ sudo rm /root/.bash_history
$ history -c

# シャットダウン
$ sudo shutdown -h now

ボックスの作成

Macのターミナル上で、vagrantコマンドにてBOXファイルを作成する。

ターミナル(mac)
$ vagrant package --base vagrant-centos7
==> vagrant-centos7: Clearing any previously set forwarded ports...
==> vagrant-centos7: Exporting VM...
==> vagrant-centos7: Compressing package to: /Users/hoge/package.box

$ ls -l package.box
-rw-r--r--  1 hoge  staff  621394873  7  4 15:34 package.box

ボックスの追加

作成したpackage.bxoをvagrantへ登録する。

ターミナル(Mac)
$ vagrant box add local/centos7 package.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos7' (v0) for provider:
    box: Unpacking necessary files from: file:///Users/uemura/package.box
==> box: Successfully added box 'centos7' (v0) for 'virtualbox'!
$ vagrant box list
local/centos7     (virtualbox, 0)

仮想マシンの作成とログイン

作成したボックスで仮想マシンを作成しログインしてみる。

ターミナル(Mac)
$ mkdir -p ~/Document/Vagrant/centos7
$ cd ~/Document/Vagrant/centos7
$ vagrant init local/centos7
$ vagrant up
$ vagrant ssh

参考資料

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2