【月間10万PV達成】ブログの作り方を無料公開中!

【Linux環境構築】VagrantとVirtualBoxとは?使い方を初心者向けに解説!

Linux環境構築

Linuxを扱えることは、Webエンジニアとして成功させるための必須条件みたいなもの。

とはいっても、多くのインフラ初心者はLinux環境なんて持ってないし、どう構築していいのかもわからないですよね?

今回はそんなLinux初心者のために、「Vagrant(ベイグラント)」と「Virtualbox(バーチャルボックス)」を使って、めちゃくちゃ簡単にLinux環境を構築する方法を紹介します。

最終的には、WindowsやMacの中で「CentOS(セントオーエス)」を動かせるようになります。

CentOSがわからない方は、さきにこちらの記事を読んで、Linuxの基礎を確認しておきましょう。

Linuxとは【初心者向け】Linuxとは?特徴やカーネルの仕組み、種類をわかりやすく解説!

自分だけのLinux環境を作って、色々と遊んでみよう!

Linux環境構築の手順

Linux環境を構築する方法はいくつかあるのですが、今回はもっとも簡単だと思う「Vagrant(ベイグラント)」というツールを使った方法を紹介します。

Vagrantを使うための手順は、以下のとおりです。

  1. VirtualBoxをインストール
  2. Vagrantをインストール
  3. Vagrantfileを設置
  4. Vagrantのコマンド実行

たったこれだけ。

ですが、その前に「VirtualBox(バーチャルボックス)」と「Vagrant(ベイグラント)」の概要や違いについても確認しておきましょう!

名前がややこしいけど、まったく別のツールだよ!

VirtualBoxとは

VirtualBoxの仕組み

VirtualBox(バーチャルボックス)とは、ホストOS(WindowsやmacOS)の中に、ゲストOS(Linuxなど)を構築するための「仮想化ソフト」です。

ゲストOS環境のことを「仮想マシン」と呼んだりもします。

今回はこの「VirtualBox」を使って、「Windows(Mac)」の中に「Linux(CentOS)」をインストールすることが目的です。

実際には触れない「仮想上のマシン」ってことだね!

VirtualBoxのインストール

VirtualBoxのインストール

VirtualBoxのインストールは、とても簡単です。

  1. VirtualBox公式サイト」にアクセス
  2. Windowsは「Windows hosts」リンク、Macは「OS X hosts」リンクをクリック
  3. ダウンロードしたインストーラを起動
  4. 手順に従ってインストール

VirtualBoxの作業はコレでおしまい!起動する必要もありません!

「え?これだけ?」って思うかもしれませんが、実は「VirtualBox」を直接操作するのではなく、「Vagrant」を使って間接的に操作するのです。

「Vagrant」経由で「VirtualBox」を動かすってこと!

Vagrantとは

Vagrantの仕組み

Vagrant(ベイグラント)とは、Virtualboxなどの仮想化ソフトを「CUI(キャラクタユーザインタフェース)」で操作するソフトです。

つまり、仮想化ソフトがインストールされていないと、Vagrantは使えないってこと。

ここでは、仮想化ソフトである「VirtualBox」をVagrantを使って操作するイメージを持ってもらえればいいです。

VirtualBoxがないと、Vagrantは動かせないんだね!

VagrantとVirtualBoxの違い

VirtualBoxがあれば「Linux環境」を作れるのに、わざわざVagrantから操作する意味はあるのでしょうか?

実は、この「Vagrant」と「VirtualBox」の大きな違いは、環境構築のハードルが高さにあります。

VirtualBoxに比べ、Vagrantは以下のような特徴があります。

  • コマンド1つで環境構築が完了
  • 仮想マシンの設定が簡単
  • 設定情報の共有ができる
  • 環境構築を自動化できる

VirtualBox単体で仮想環境を作る場合、OSのダウンロード、HDDパーティションの設定、SSHのインストールなど、多くの手順や設定が必要です。

そして、これらの設定は自動化できないため、ほかの人に共有するときも手順書を残し、それを見ながら構築してもらうことになります。

作った仮想マシンのイメージファイルを共有する方法もありますが、サイズも大きく、書き出しや読み込み、転送に時間がかかるのが難点…

つまり、VirtualBoxでの環境構築は、かなり大変だということ。

それに比べてVagrantであれば、これらの問題をすべて簡単に解決できちゃうのです!

おお!Vagrantすごい!!

Vagrantfileとは

Vagrantといえば、「Vagrantfile(ベイグラントファイル)」の存在があります。

Vagrantfileとは、仮想マシンの構築設定などを記述するためのファイル

このVagrantfileの特徴は、以下の通りです。

  • 仮想マシンの基本設定を記述できる
  • ファイルなので共有が簡単
  • 環境構築手順ファイルを呼び出せる
  • Ruby言語で記述する

Vagrantfileには、仮想マシンを構築するための基本設定などを記述します。

たとえば、「OSはCeontOSのバージョン7にしなさい!」とか「接続するためのIPは192.168.33.10にしなさい!」など。

Vagrantのコマンドを実行すると、自動でVagrantfileが読み込まれ、記述内容に従って仮想マシンが構築される仕組みです。

また、この「Vagrantfile」はただのファイルなので、誰かに共有することも簡単にできます。

Vagrantfileさえ用意できれば、あとはVagrantを動かすだけってことだね!

ほかにも、「仮想マシンを構築したあとに必要なパッケージをインストールしたい!」などあれば、別ファイルに詳しい手順を記述し、Vagrantfileから呼び出すなんてこともできます。

ちなみに、Vagrantfileは「Ruby」というプログラミング言語で記述していきますが、Rubyを知らなくても問題はありません。

雰囲気で理解できる部分が多いから、Rubyを知らなくても大丈夫!

Vagrantのインストール

Vagrantのインストール

Vagrantのインストール自体は、とっても簡単です。

  1. Vagrant公式サイト」にアクセス
  2. Windowsの「64-bit(または32-bit)」リンクをクリック、macOSは「64-bit」リンクをクリック
  3. ダウンロードしたインストーラを起動
  4. 手順に従ってインストール
  5. PC再起動

Windowsの「bit」がわからない方は、以下の方法で確認してください。

  1. 「Windows」ボタンを押す
  2. 「bit」と入力
  3. 「32bitと64bitのどちらのバージョンのWindowsかを確かめる」をクリック
  4. 表示されたスペック画面で確認

では、さっそくVagrantを使ってみましょう!

Vagrantの使い方

ここからは、Vagrantの使い方を紹介していきます。

Windows環境に「CeontOS」を構築する方法をメインで解説していくため、Macの方はうまく置き換えてやってみてください。

Vagrantを実行するフォルダの準備

Vagrantを実行する環境を作るために、まずはフォルダを準備する必要があります。

とくに決まりはありませんが、今回は以下のようなフォルダを作成してください。

フォルダの準備
C:\Users\user_name\training\vagrant

「user_name」という部分は自分のアカウント名に置き換えて考えてください。

自分のアカウントフォルダの中に「training」フォルダを作って、さらにその中に「vagrant」フォルダを作ります。

ここで覚えておいてもらいたいのは、Vagrantを実行したフォルダごとに1つの仮想マシンができるということ。

つまり、仮想マシンをたくさん作りたい場合は、フォルダを変えてVagrantを実行する必要があるってことです。

コマンドプロンプトを開く

Vagrantは「CUI」でしか操作できません。

WindowsでCUIといったら「コマンドプロンプト」、Macであれば「ターミナル」ですね。

まずは、コマンドプロンプト(またはターミナル)を開きましょう!

コマンドプロンプトは「Windows」ボタンを押して、「cmd」と入力すると簡単に開くことができます。

Vagrantfileを作成

コマンドプロンプトを使って、さきほど作った「C:\Users\user_name\training\vagrant」に移動しましょう。

コマンドプロンプトに以下を入力して実行してください。

フォルダの移動
$ cd C:\Users\user_name\training\vagrant

「user_name」の部分は、自分のアカウント名を入れてください。

Windowsで「\(バックスラッシュ)」と打つと「半角の¥」に変換されますが、気にしなくて大丈夫です。そういうものなので。

移動できたら以下のコマンドを実行して、Vagrantfileを作ってみましょう。

Vagrantfile作成
$ vagrant init

ちなみに、「vagrant init」は最初の1回だけしか実行しません。

すでにVagrantfileがあなら必要ないもんね!

Vagrantfileの設定

次に、「Vagrantfile」をメモ帳でもなんでもいいので開いてみましょう。

開いたら、Vagrantfileの中にある記述をすべて消して、以下の内容で上書きしてください。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "centos/7"
  config.vm.network :private_network, ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.name = "training"
    vb.gui = false
    vb.memory = "2048"
  end
  config.ssh.private_key_path = "c:/Users/user_name/.vagrant.d/insecure_private_key"
  config.ssh.insert_key = false
  if Object.const_defined? 'VagrantVbguest'
    config.vbguest.auto_update = false
    config.vbguest.no_remote = true
  end
end

「user_name」の部分は、自分のアカウント名を入れてください。

今回はCeontOSのバージョン7をインストールしたいので「config.vm.box = "centos/7"」と記述しています。

ほかのVagrantfileの記述について、ここでは詳しく説明しません。

目的は、CeontOSをインストールすることだからです。

いまはそのくらいで大丈夫。必要になったタイミングでググって覚えればいいんです。

どうしても気になる方はググってみてね!

仮想マシンを起動

Vagrantを起動する準備が整いました。

コマンドプロンプトから以下のコマンドを実行し、仮想マシンを作ってみましょう。

仮想マシンの構築と起動
$ vagrant up

「vagrant up」は、「Vagrantfile」の内容に従って仮想マシンを構築し、起動させます。

そして、このとき裏ではVirturalBoxが動き出し、仮想マシンを作り始めます。

ちなみに、「vagrant up」は実行タイミングによって動きが少し変わるので注意してください。

  1. 仮想マシンを構築して起動(初回のみ)
  2. 仮想マシンを起動(2回目以降)

初回は仮想マシンの構築と起動になりますが、2回目以降は仮想マシンの起動だけになります。

ただし、2回目以降も「vagrant up」をするたびに、「Vagrantfile」が読み込まれていることは覚えておいてください。

初回は仮想マシンの構築があるから少し時間がかかるよ!

仮想マシンにログイン

仮想マシンが立ち上がったら、以下のコマンドで仮想マシンにログインしましょう。

仮想マシンにログイン
$ vagrant ssh

これで「ContOS」が入った仮想マシンに「vagrant」というユーザーでログインできました。

「vagrant」ユーザーはデフォルトで作られるよ!

仮想マシンからログアウト

仮想マシンからログアウトしたいときは「Ctrl + d」を押すか、以下のコマンドで抜けられます。

仮想マシンをログアウト
$ exit

仮想マシンを停止

仮想マシンを停止したいときは、以下のコマンドを実行します。

仮想マシンの停止
$ vagrant halt

Windowsをシャットダウンする前に「halt」する癖をつけようね!

仮想マシンの削除

作った仮想マシンを削除する場合は、以下のコマンドを実行してください。

仮想マシンの削除
$ vagrant destroy

不要な仮想マシンを削除する以外にも、仮想マシンを作り直したいときにもよく使うコマンドです。

まとめ:Linuxを実際に動かしてみよう!

Vagrantを使うことでVirtualBoxを触ることなく、Linux初心者でも簡単にCentOSの環境構築ができました。

また、VagrantやVirtualBoxについての理解も深まったと思います。

せっかくLinux環境を作ったのですから、次は実際に「Linuxの基本コマンド」を使って動かしてみましょう!

毎日少しずつLinuxに触れることで、自然と使えるようになっていきます。

またね、キツネ(@kitaaaa_kitsune)でした!

【Linux入門】基礎知識の勉強まとめ!構築方法やコマンドを学習する【Linux入門】基礎知識や構築、使い方の勉強【初心者向け学習】
テキストのコピーはできません。