VagrantとVirtualBoxでWindows10にUbuntuをインストールする方法
「Webプログラミングが面白いほどわかる本」という本を参考にして、Windows10にUbuntu 18.04LTSをインストールしてみました。
Webプログラミングが面白いほどわかる本 環境構築からWebサービスの作成まで、はじめからていねいに (N高校のプログラミング教育)
- 作者: 吉村総一郎
- 出版社/メーカー: KADOKAWA
- 発売日: 2018/06/22
- メディア: 単行本
- この商品を含むブログを見る
この本は、カラー図解で丁寧に操作手順が説明されており、とても分かりやすい本でした!
Ubuntuの利用方針
Ubuntuをサーバーにして、Windowsをクライアントにします。
=WindowsからUbuntuをリモート操作して利用します。
登場するツール
- Windows10 … ホストOSです。
- VirtualBox … 仮想マシンを作るソフトです。
- Vagrant … VirtualBoxを使いやすくするソフトです。
- Ubuntu 18.04LTS … 仮想マシン上にインストールするゲストOSです。
- RLogin … SSH接続ソフトです。WindowsからUbuntuを操作するときに使います。
VirtualBoxの用意
Windows10上でUbuntuを利用するために、まず仮想化ソフトの「VirtualBox」をインストールします。
本書では説明の都合上、バージョン5.1.34が推奨されていましたが、最新のバージョンを使ってみることにします。(不具合があれば5.1.34に戻す)
VirtualBoxとは?
「VirtualBox」(バーチャルボックス)は、仮想マシンを作るソフトです。
Oracle VM VirtualBox (オラクル ブイエム バーチャルボックス)とは、x86仮想化ソフトウェア・パッケージの一つ。現在の開発は米国オラクルが行っている。
既存のオペレーティング・システム(ホストOS)上にアプリケーションの一つとしてインストールされ、この中で追加のオペレーティング・システム(ゲストOS)を実行することができる。
例えば、Microsoft Windowsが「ホストOS」として動作しているマシン上で、Linuxをゲストとすることができる。
VirtualBoxのインストーラーをダウンロード
Downloads – Oracle VM VirtualBox
VirtualBox 5.2.22 platform packages
Windows hosts
「Windows hosts」をクリックして「VirtualBox-5.2.22-126460-Win.exe」というファイルをダウンロードします。
古いバージョンを利用したい場合は、以下のURLから取得できます。
Download_Old_Builds – Oracle VM VirtualBox
VirtualBoxをインストール
ダウンロードした「VirtualBox-5.2.22-126460-Win.exe」をダブルクリックして、インストールを開始します。
- 設定は、基本的にデフォルト値のままにしておきます。
- ※デスクトップにショートカットアイコンは作成しないでOK。
(後で、VirtualBoxはVagrant経由で利用するため、ショートカットアイコンは不要なので)
Vagrantの用意
VirtualBoxは、インストールしたままで使うと、操作が煩雑で面倒です。
VirtualBoxで作る仮想マシンを簡単に操作するツールとして「Vagrant」があります。
Vagrantとは?
Vagrant(ベイグラント)は、仮想機械を構築するためのソフトウェアである。
仮想機械の提供自体は、VirtualBoxをはじめとする仮想化ソフトウェアが行う。Vagrantは、これらソフトが用意されているのを前提として、仮想機械の設定や立ち上げに特化している。
Vagrantのインストーラーをダウンロード
本書では説明の都合上、バージョン2.0.0が推奨されていましたが、最新のバージョンを使ってみることにします。(不具合があれば2.0.0に戻す)
Download - Vagrant by HashiCorp
Below are the available downloads for the latest version of Vagrant (2.2.1).
Windows 64-bit
「Windows」の「64bit」をクリックして「vagrant_2.2.1_x86_64.msi」というファイルをダウンロードします。
古いバージョンを利用したい場合は、以下のURLから取得できます。
Vagrant Versions | HashiCorp Releases
Vagrantをインストール
ダウンロードした「vagrant_2.2.1_x86_64.msi」をダブルクリックして、インストールを開始します。
- 設定は、基本的にデフォルト値のままにしておきます。
- インストール後にパソコンを再起動します。
以上でVirtualBoxとVagrantの用意ができました。
次はVagrantを使ってVirtualBoxを操作し、VirtualBox上にUbuntuを用意します。
Ubuntuのインストール
本書では説明の都合上、LTSバージョン「xenial (16.04LTS)」が推奨されていましたが、最新のLTSバージョン「bionic (18.04LTS)」を使ってみることにします。(不具合があれば16.04LTSに戻す)
(参考)
- Ubuntu リリース時期とサポート期間 https://www.ubuntulinux.jp/ubuntu
- Ubuntu パッケージ検索 https://packages.ubuntu.com/ja/
コマンドプロンプトの起動
Windowsのコマンドプロンプトを管理者権限で起動します。
Ubuntu用のフォルダを作成
コマンドプロンプトで以下のコマンドを入力します。
Windowsのユーザー名が「user」だった場合、「%USERPROFILE%」の部分は「C:\Users\user」に置き換わります。
具体的には、以下のコマンドと同じ意味になります。
ここにVagrantで使う設定ファイルが保存されます。
Vagrant用のUbuntuイメージファイルをインストール
今回使うUbuntu 18.04 LTSの仮想マシン用のデータは、以下の場所にあります。
Vagrant box ubuntu/bionic64 - Vagrant Cloud
このページで「currently released version」のバージョン番号をコピーします。
(2018年11月25日現在で最新のバージョンは「v20181124.0.0」でした。)
コマンドプロンプトで、以下のコマンドを入力します。
(使うバージョンに合わせて、赤文字の部分を変更します。)
(黄色の文字の部分は仮想マシンの名前なので、自分で決められます。)
1.4GBほどあるファイルがダウンロードされるので、ちょっと待ち時間があります。(回線速度によりますが、10~20分程度?)
仮想マシンの初期化
コマンドプロンプトで、以下のコマンドを入力します。
これでWindows10にUbuntuをインストールできました。
「C:\Users\user\VirtualBox VMs」のようなフォルダ内に、仮想マシンのUbuntu用データがあるはずです。
仮想マシンの起動と停止
コマンドプロンプトで以下のコマンドを入力します。
仮想マシン(Ubuntu)の起動
仮想マシン(Ubuntu)の停止
(※以上の操作は、vagrantのUbuntu用フォルダに移動した状態で行います。)
↑このコマンドを先に入力してない場合、以下のようなメッセージが出ます。
C:\Windows\System32>vagrant up
A Vagrant environment or target machine is required to run this
command. Run `vagrant init` to create a new Vagrant environment. Or,
get an ID of a target machine from `vagrant global-status` to run
this command on. A final option is to change to a directory with a
Vagrantfile and to try again.
これでVirtualBoxのUbuntuの起動と停止ができるようになりました。
SSHでログイン
仮想マシン上にあるUbuntuに、Windows側からアクセスして利用します。
WindowsのSSH接続用ソフトには「RLogin」を使います。
SSHとは?
SSHは、コンピューター間の通信内容を暗号化して、安全にデータのやりとりを行うためのプロトコール(通信規格)です。
サーバーを遠隔操作するときに、SSHを使います。
Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。
パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
RLoginとは?
rlogin/telnet/ssh(クライアント)ターミナルソフト
RLoginは、Windows上で動作するターミナルソフトです。
プロトコルはrlogin,telnet,ssh(バージョン1と2)の3種類に対応し遠隔でのサーバーメンテナンスを考えて安全な暗号化通信をサポートしています。
RLoginのダウンロード
- 実行プログラム(32bit) http://nanno.dip.jp/softlib/program/rlogin.zip
- 実行プログラム(64bit) http://nanno.dip.jp/softlib/program/rlogin_x64.zip
ここではWindows 64ビット版用の「rlogin_x64.zip」をダウンロードして解凍します。
RLoginの設定
Vagrantでサーバー(Ubuntu)のSSH設定を確認します。
コマンドプロンプトで以下のコマンドを入力します。
以下のように、サーバー(Ubuntu)のSSHの設定内容が表示されます。
C:\Users\user\vagrant\ubuntu64_18>vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile C:/Users/user/vagrant/ubuntu64_18/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
この情報を基にして、RLoginのSSH接続情報を設定します。
RLoginを起動して、画面左上の[ファイル] → [サーバーに接続] → [新規]をクリックします。
各欄を以下のように入力します。
- エントリー/コメント: vargrant
- プロトコル: SSH
- Server Address: localhost (=127.0.0.1と同じ意味)
- Socket Port: 2222
- User Name: vagrant
- Password: なし (=空欄のままでOK)
- デフォルト文字セット: UTF-8
ここまで入力できたら、「SSH Identity Key」の[参照]ボタンをクリックします。
Vagrantで用意した仮想マシンにSSH接続するための秘密鍵は、以下の場所に保存されています。
ファイル名は「private_key」となってます。
%USERPROFILE%\vagrant\ubuntu64_18\.vagrant\machines\default\virtualbox\private_key
Windowsユーザー名が「user」だった場合は、具体的には以下のパスになります。
C:\Users\user\vagrant\ubuntu64_18\.vagrant\machines\default\virtualbox\private_key
「private_key」を選択して、[開く]をクリックします。
これで秘密鍵が指定できました。
今設定したサーバーの接続情報を選択して[OK]ボタンをクリックすると、RLoginでUbuntuにリモートログインできます。
Ubuntuにリモートログインできたら、上記のような画面が出てきます。
Ubuntuの日本語化
Ubuntuの環境はデフォルトで英語なので、日本語も扱えるようにします。
RLoginでUbuntuにリモートログインした状態で、以下の操作を行います。
現在地の確認
RLoginで「pwd」とコマンドを入力して「/home/vagrant」と表示されたらOK。
もし違う場所にいたら、「cd /home/vagrant」とコマンドを入力して、vagrantユーザーのホームに移動しておきます。
ここで「ls -la」とコマンドを入力したら、「.profile」という設定ファイルがあることが確認できます。
「.profile」の編集
RLoginで以下のコマンドを入力します。
設定内容の変更を反映させるために以下のコマンドを入力します。
日本語設定ができたか確認するために「date」というコマンドを入力してみます。
日本語で日時が表示されていれば、Ubuntuの日本語化はOKです。
2018年 11月 25日 日曜日 05:37:44 UTC
Ubuntuの更新
最後に、Ubuntuを更新しておきます。
RLoginで以下のコマンドを入力します。
RLoginでサーバーからログオフするには「exit」というコマンドを入力します。
まとめ
- 仮想化ソフト「VirtualBox」を使うと、Windows10(ホストOS)上にUbuntu(ゲストOS)をインストールできる。
- VirtualBoxの操作を簡単にする「Vagrant」を使う。
- UbuntuにSSH接続して、リモート操作ができる。
Webサイト制作などで利用してみたいと思います。