Edited at

新人研修2018 Vagrantを使ってみよう

More than 1 year has passed since last update.


はじめに


  • Vagrantを使って、VirtualBox上にCentOS7.5をインストールする手順です。

  • Vagrant自体の説明は研修のテキストを参照してください。



想定する環境


  • Windows7(32bit,64bit)

  • Proxy環境下での構築を前提としています。



さっそく始めましょう



VirtualBoxのインストール



  • Oracle VirtualBox Downloadからダウンロードしてインストールします。

  • 2018年6月26日時点の最新版は5.2.12です。

  • 特筆すべき点はありませんので、次へ次へでインストールしてください。



Vagrantのインストール



  • ここからダウンロードしてインストールします。

  • 2018年6月26日時点の最新版は2.1.1です。

  • 特筆すべき点はありませんので、次へ次へでインストールしてください。



プロキシの設定


  • boxファイルをダウンロードするときにインターネットに接続しますが、プロキシ設定が必要となります。

  • コンピュータ - プロパティ - システム詳細設定 - 環境変数 - 新規 でhttp_proxyとhttps_proxyを設定してください。(http://から記載します)



プラグインのインストール


  • コマンドプロンプトで以下のコマンドを実行します。

  • このプラグインはVagrant管理下のOS起動時にプロキシを自動的に設定してくれるプラグインです。たとえばyum,wget,curl利用時にproxyの設定をする必要が無くなります。

  • コマンドプロンプトでvagrantコマンドが使用できない場合は、パスが通っていない可能性があります。コンピュータ - プロパティ - システム詳細設定 - 環境変数 - システム環境変数「Path」を編集し、「C:\HashiCorp\Vagrant\bin」を追加してください。

c:\vagrant> vagrant plugin install vagrant-proxyconf



プラグインがインストールできたことを確認


  • vagrant-proxyconf が表示されれば成功です。

c:\vagrant> vagrant plugin list

vagrant-proxyconf (1.5.2)



Vagrantを使って
CentOSを起動してみよう



1.ディレクトリを作成する

C:¥vagrant¥centos75ディレクトリを作成します



2.Vagrantfileを作る


  • C:¥vagrant¥centos75¥Vagrantfileというファイルを作成。

  • PROXY_HOST,PROXY_PORTは環境に合わせて変更

Vagrant.configure(2) do |config|

config.vm.define "test" do |node|
node.vm.box = "bento/centos-7.5"
node.vm.hostname = "test"
node.vm.network :private_network, ip: "192.168.1.10"
end
config.ssh.insert_key = false
config.vm.provider :virtualbox do |vb|
vb.gui = false
vb.memory = 512
end
if Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.http = "http://PROXY_URL:PROXY_PORT/"
config.proxy.https = "http://PROXY_URL:PROXY_PORT/"
config.proxy.no_proxy = "localhost,127.0.0.1,192.168."
end
end



3.CentOSを起動します。


  • コマンドプロンプトでvagrant up

c:\vagrant\centos75>vagrant up

Bringing machine 'test' up with 'virtualbox' provider...
==> test: Importing base box 'bento/centos-7.5'...
==> test: Matching MAC address for NAT networking...
・・・・
==> test: Mounting shared folders...
test: /vagrant => C:/vagrant/centos75


  • うまく起動できた人は「動作確認」の章まで飛ばしてください。(32bitOSを使っている人はうまくいかないかも)



起動がうまくいかない人は、次の手順を試してみてください。



vagrantエラーあるあるを確認する



boxファイルをダウンロード


  • boxファイル(OSイメージ)をダウンロードして、c:\centos-7.5という名前で配置。

https://app.vagrantup.com/bento/boxes/centos-7.5/versions/201806.08.0/providers/virtualbox.box



boxファイルをvagrantに認識させる


  • コマンドプロンプトで以下を実行。successfullyが表示されること。

c:\vagrant\centos7.3>vagrant box add bento/centos-7.5 file:///C:/centos7.5

==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'bento/centos-7.5' (v0) for provider:
box: Unpacking necessary files from: file:///C:/centos7.5
box: Progress: 100% (Rate: 5305M/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'bento/centos-7.5' (v0) for 'virtualbox'!



boxファイルが認識できていることを確認


  • コマンドプロンプトでvagrant box listを実行

  • bento/centos-7.5 (virtualbox, 0)が表示されていることを確認

c:\vagrant\centos75>vagrant box list

bento/centos-7.5 (virtualbox, 0)



CentOSを起動します。


  • コマンドプロンプトでvagrant up

c:\vagrant\centos75>vagrant up

Bringing machine 'test' up with 'virtualbox' provider...
==> test: Importing base box 'bento/centos-7.5'...
==> test: Matching MAC address for NAT networking...
・・・・
==> test: Mounting shared folders...
test: /vagrant => C:/vagrant/centos75



動作確認



起動確認


  • 無事起動できていることを確認する。

  • コマンドプロンプトでvagrant statusを実行し、runningになっていることを確認

$ vagrant status

Current machine status:

test running (virtualbox)



ログイン確認


  • teratermでSSHログインできることを確認

IPアドレス:192.168.1.10

ユーザID:vagrant

パスワード:vagrant

これでインストールは完了です。



プロキシ設定確認


  • ncコマンドをインストール

$ sudo yum -y install nc


  • ncコマンドが動くことを確認(localhost:22が疎通できることを確認)

$ nc -v -z localhost 22

Connection to localhost 22 port [tcp/ssh] succeeded!



以上で終わりです。