27
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WindowsServer2016のVagrantBoxを作成する方法

Last updated at Posted at 2017-01-18

はじめに

  • 検証でADサーバーを作成する必要があり、どうせならWindows Server 2016で実施してみようと思った。
  • 何度か作り直す可能性があったため、2012R2と同様の手順でVagrantのBase Boxが作成できるか試してみた。
  • Boxを作成するのに参考にしたサイト -> Windows Server 2012R2 の Vagrant Base Boxを作る

実施環境

  • MacOS Sierra 10.12.2
  • Vagrant 1.9.1
  • VirtualBox 5.1.12 r112440

VagrantBoxの作り方を確認する

  • Vagrantの公式ページにて、VirtualBoxのBoxeの作成方法を確認する
  • Windowsを作成する際に以下の設定を実施する必要がある
    • 「vagrant」ユーザを作成し、パスワードを「vagrant」に変更
    • UACを無効
    • 「複雑さの要件を満たす必要があるパスワード」を無効に変更
    • シャットダウンイベントの追跡ツールを無効
    • サーバーマネージャーがログオン時に表示されないように変更
    • 「vagrant」ユーザを管理者グループに追加
    • リモートデスクトップの有効化
    • WinRMを有効化する
    • VirtualBox Guest Additionのインストール

VirtualBoxでWindowsServer2016のBaseBoxを作成する

■ WindowsServer2016をダウンロードする

  • MSのページよりWindows Server 2016評価版をダウンロードする
スクリーンショット 2017-01-17 1.43.06.png

■ VirtualBoxマネージャーより仮想マシンを作成する

  • VirtualBoxを起動し、[新規]を選択し、名前を次のように入力する ※ タイプはWindows Server 2016がないので[Other Windows]を選択
スクリーンショット 2017-01-17 0.09.39.png
  • 割り当てるメモリサイズは2GB(2048MB)を選択する
スクリーンショット 2017-01-17 0.10.15.png
  • ハードディスクは[仮想ハードディスクを作成する]を選択する
スクリーンショット 2017-01-17 0.10.46.png
  • ファイルタイプは[VDI (VirtualBox Disk Image)]を選択する
スクリーンショット 2017-01-17 0.10.56.png
  • ハードディスクファイルは[可変サイズ]を選択する
スクリーンショット 2017-01-17 0.11.06.png
  • ファイルの場所とサイズを確認し、必要があれば容量を上げる
スクリーンショット 2017-01-17 0.11.36.png
  • 空のVMが作成されるので[設定]を選択する
スクリーンショット 2017-01-17 0.11.42.png
  • 構築時にコピペが利用できるように[一般]->[高度]より「クリップボードの共有」「ドラッグ&ドロップ」を双方向に変更する
スクリーンショット 2017-01-17 0.12.51.png
  • フロッピーディスクを外すために[システム]->[マザーボード]->[起動順序]からフロッピーのチェックを外す
スクリーンショット 2017-01-17 0.13.18.png
  • 構築時にリソース不足にならないように[システム]->[プロセッサー]->[プロセッサー数]を1から2に変更する
スクリーンショット 2017-01-17 0.15.05.png
  • オーディオは不要のため、[オーディオ]->[オーディオを有効化]のチェックを外す
スクリーンショット 2017-01-17 0.15.19.png

■ WindowsServer2016のインスール

  • ダウンロードしたISOをマウントして、起動する
スクリーンショット 2017-01-17 0.15.45.png
  • インストールする言語等に問題がなければ、[次へ]を選択する
スクリーンショット 2017-01-17 0.16.04.png
  • [Windows Server 2016 Datacenter Evaluation (デスクトップエクスペリメント)]を選択し、[次へ]を選択する
スクリーンショット 2017-01-17 0.17.26.png
  • ライセンスに同意し、[次へ]を選択する
スクリーンショット 2017-01-17 0.17.50.png
  • 「カスタム:Windowsのみをインストールする」を選択し、[次へ]を選択する
スクリーンショット 2017-01-17 0.17.58.png
  • インストールする場所を選択し、[次へ]を選択する
スクリーンショット 2017-01-17 0.18.02.png
  • インストールが開始するので、しばらく待つ
スクリーンショット 2017-01-17 0.18.15.png
  • インストールが完了するとパスワード入力画面が表示されるので、パスワードを入力する
スクリーンショット 2017-01-17 0.24.20.png
  • [Ctrl+Alt+Del]キーを入力し、先程入力したパスワードを選択する
スクリーンショット 2017-01-17 0.25.05.png
  • ログイン後、右にネットワークに関する表示がでているので[はい]を選択する
スクリーンショット 2017-01-17 0.25.20.png

■ VirtualBox Guest Additionのインストール

  • VirtualBoxのメニューから[Devices]->[Insert Guest Additions CD Image...] を選択し、インストーラがマウントされたことを確認する

  • スクリーンショット 2017-01-17 0.26.16.png
  • インストーラダブルクリックし、「VBoxWindowsAdditions-amd64」をダブルクリックする

スクリーンショット 2017-01-17 0.26.36.png
  • Setup画面が起動するので、[Next]を選択する
スクリーンショット 2017-01-17 0.26.41.png
  • インストール場所は特に変更しないので、[Next]を選択する
スクリーンショット 2017-01-17 0.26.47.png スクリーンショット 2017-01-17 0.28.47.png
  • 特にオプションも変更しないので、[Install]を選択する
スクリーンショット 2017-01-17 0.27.06.png
  • インストールが開始するので、しばらく待つ
スクリーンショット 2017-01-17 0.27.10.png
  • インストール中にポップアップが表示された場合は「インストール」を選択し、インストールを続行する
スクリーンショット 2017-01-17 0.27.18.png
  • [Reboot now] を選択し、[Finish]で一度再起動する
スクリーンショット 2017-01-17 0.27.35.png

■ 「複雑さの要件を満たす必要があるパスワード」を無効に変更

  • [サーバーマネージャ]->[ツール]->[ローカルセキュリティポリシー]を選択する
スクリーンショット 2017-01-17 0.28.47.png
  • [セキュリティの設定]->[アカウントポリシー]->[パスワードのポリシー]より
    「複雑さの要件を満たす必要があるパスワード」を有効であることを確認
スクリーンショット 2017-01-17 0.29.09.png
  • 「複雑さの要件を満たす必要があるパスワード」をダブルクリックし、[無効]を選択し、[OK]を選択する
スクリーンショット 2017-01-17 0.29.25.png

■ Administratorのパスワードを変更する

  • [Ctrl+Alt+Del]キーを入力し、[パスワードの変更]を選択する
スクリーンショット 2017-01-17 0.30.01.png
  • 新しいパスワードに「vagrant」を入力し、パスワード変更を実施する
スクリーンショット 2017-01-17 0.30.20.png
  • パスワードが正常に変更されたことを確認する
スクリーンショット 2017-01-17 0.30.34.png

■ 「vagrant」ユーザを作成し、パスワードを「vagrant」に変更

  • [サーバーマネージャ]->[ツール]->[コンピュータの管理]を選択する
スクリーンショット 2017-01-17 0.31.06.png
  • [コンピュータの管理(ローカル)]->[システムツール]->[ローカルユーザーとグループ]->[ユーザー]を選択し、右クリックで[新しいユーザー]を選択する
スクリーンショット 2017-01-17 0.31.36.png
  • ユーザー名、パスワード欄に「vagrant」と入力し、[作成]を選択する
スクリーンショット 2017-01-17 0.32.39.png
  • 作成した「vagrant」ユーザーを右クリックし、[プロパティ]を選択する
スクリーンショット 2017-01-17 0.33.00.png
  • [所属するグループ]タブを選択し、[追加]をクリックする
スクリーンショット 2017-01-17 0.33.23.png
  • 選択するオブジェクト名を入力してください欄に[Administrators]と記入し、[名前の確認]を選択する
スクリーンショット 2017-01-17 0.33.38.png
  • オブジェクト欄に[Administrators]が入力されていることを確認後、[OK]を選択する
スクリーンショット 2017-01-17 0.33.42.png

■ UAC(User Account Control)を無効

  • [サーバーマネージャ]->[ツール]->[システム構成]を選択する
スクリーンショット 2017-01-17 0.34.22.png
  • [UAC設定の変更]を選択し、[起動]を選択する
スクリーンショット 2017-01-17 0.34.34.png
  • [ユーザーアカウント制御の設定]が表示されるので、通知しないまでバーを持っていき、[OK]を選択する
スクリーンショット 2017-01-17 0.34.43.png

■ シャットダウンイベントの追跡ツールを無効

  • 左下のWindowsマークを右クリックし、「ファイル名を指定して実行(R)」を選択する
スクリーンショット 2017-01-17 0.35.10.png
  • 「ファイル名を指定して実行」が表示されたら、「gpedit.msc」と入力し、[OK]を選択する
スクリーンショット 2017-01-17 0.35.39.png
  • [ローカルグループポリシーエディター]が表示されたら、[ローカルコンピュータポリシー]->[コンピュータの構成]->[管理用テンプレート]->[システム]をクリックし、「シャットダウンイベントの追跡ツールを表示する」を選択する
スクリーンショット 2017-01-17 0.36.30.png
  • 「シャットダウンイベントの追跡ツールを表示する」を[無効]に変更し、[OK]を選択する
スクリーンショット 2017-01-17 0.36.40.png

■ サーバーマネージャーがログオン時に表示されないように変更

  • 上記と同様に「ローカルグループポリシーエディタ」を開き、[ローカルコンピュータポリシー]->[コンピュータの構成]->[管理用テンプレート]->[システム]->[サーバーマネージャー]をクリックし、「ログオン時にサーバーマネージャーを自動的に表示しない」を選択する
スクリーンショット 2017-01-17 0.37.10.png - 「ログオン時にサーバーマネージャーを自動的に表示しない」を[有効]に変更し、[OK]を選択する スクリーンショット 2017-01-17 0.37.18.png

■ WinRMを有効化する

  • PowerShellを起動し、以下のコマンドを実行する
winrm quickconfig -q
winrm set winrm/config '@{MaxTimeoutms="1800000"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/service/auth '@{Basic="true"}'
sc.exe config WinRM start= auto

■ リモートデスクトップの有効化

  • [サーバーマネージャ]->[ローカルサーバー]を選択し、リモートデスクトップの[無効]を選択する
スクリーンショット 2017-01-17 0.42.05.png
  • 「このコンピュータへのリモート接続を許可する」を選択し、[OK]を選択する
スクリーンショット 2017-01-17 0.42.22.png - すべての設定が完了したので、シャットダウンを実行する

VagratBoxを作成する

■ VagrantBox内に同梱するVagrantfileを作成する

  • Vagrant Base Box 用のディレクトリを作成する
% mkdir Win2016; cd Win2016
% vim Vagrantfile    
  • vagrantfileを以下のように記述する
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.guest = :windows
  config.vm.communicator = "winrm"
  if Vagrant.has_plugin?("vagrant-vbguest")
    config.vbguest.auto_update = false
  end
  config.vm.network :forwarded_port, guest: 3389, host: 13389
  config.vm.network :forwarded_port, guest: 5985, host: 15985,id: "winrm", auto_correct: true
end

■ BaseBoxのパッケージング化

  • 手動で作成したVMを以下のコマンドでパッケージングし、boxに追加する
% vagrant package --base "Windows Server 2016" --vagrantfile Vagrantfile
==> Windows Server 2016: Exporting VM...
==> Windows Server 2016: Compressing package to: /Users/daicho/work/Win2016/package.box
==> Windows Server 2016: Packaging additional file: Vagrantfile
% ls -g
total 10201320
-rw-r--r--  1 staff         388  1 16 01:46 Vagrantfile
-rw-r--r--  1 staff  5223071392  1 17 01:01 package.box
% mv package.box WindowsServer2016.box
% vagrant box add --name WindowsServer2016 WindowsServer2016.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'WindowsServer2016' (v0) for provider:
    box: Unpacking necessary files from: file:///Users/daicho/work/Win2016/WindowsServer2016.box
==> box: Successfully added box 'WindowsServer2016' (v0) for 'virtualbox'!
% vagrant box list
WindowsServer2016 (virtualbox, 0)

■ 作成したVagrntBoxからサーバーを作成してみる

  • RDP接続できるように、[App Store]より「Microsoft Remote Desktop」をダウンロードする
    スクリーンショット 2017-01-19 0.47.57.png

  • 作成したBOXからVMが作成でき、RDP接続できることを確認する

% mkdir /tmp/TestWin2016; cd /tmp/TestWin2016
% vagrant init WindowsServer2016
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

% vagrant up --provider virtualbox
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'WindowsServer2016'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: TestWin2016_default_1484583347099_36076
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 3389 (guest) => 13389 (host) (adapter 1)
    default: 5985 (guest) => 15985 (host) (adapter 1)
    default: 5986 (guest) => 55986 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: WinRM address: 127.0.0.1:15985
    default: WinRM username: vagrant
    default: WinRM execution_time_limit: PT2H
    default: WinRM transport: negotiate
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /private/tmp/TestWin2016

% vagrant rdp
==> default: Detecting RDP info...
    default: Address: 127.0.0.1:13389
    default: Username: vagrant
==> default: Vagrant will now launch your RDP client with the connection parameters
==> default: above. If the connection fails, verify that the information above is
==> default: correct. Additionally, make sure the RDP server is configured and
==> default: running in the guest machine (it is disabled by default on Windows).
==> default: Also, verify that the firewall is open to allow RDP connections.
  • RDPが起動し、以下のログイン画面が表示されるので「vagrant/vagrant」でログインする
スクリーンショット 2017-01-19 0.54.50.png
  • 正常にログインできたら、簡単に捨てることのできるWindowsServer2016環境が手に入る
スクリーンショット 2017-01-19 0.55.27.png

参考ページ

まとめ

  • WindowsServer2012R2と同じ手順でWindowsServer2016のVagrantのBaseBoxが作成できることが確認できた
  • これでWindowsServer2016の検証が容易にできるようになったが、手動で作成するのはかっこよくないので、そのうちPackerで作成する手順を記載する
27
28
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
27
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?