初心者のためのLinux環境構築!VagrantとVirtualBoxの使い方を解説!

Linux環境構築

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

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

今回は、そんなLinux初心者のために、めちゃくちゃ簡単にLinux環境を構築する方法を紹介します。

最終的には、Windows(Mac)の中で「CentOS」を動かせるようになりますよ!

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とは

Vagrantの仕組み

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

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

ここでは、Vagrantを使ってVirtualBoxを操るようなイメージを持ってもらえればいいと思います。

キツネ

VirtualBoxはVagrantのために必要だったんだね!

VagrantとVirtualBoxの違い

VirtualBoxがあればLinux環境を作れるのに、なぜVagrantを使うのでしょうか?

この「Vagrant」と「VirtualBox」の大きな違いは、環境構築のハードルが高さなんです。

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

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

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

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

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

キツネ

ちょっと非効率だよね…

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を知らなくても問題ありません。

キツネ

雰囲気で理解できる部分が多いから大丈夫!

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

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

まとめ

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

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

せっかくLinux環境を作ったのですから、次は「【これで完璧】よく使うLinuxの基本コマンド一覧とオプションを紹介」を読んでLinuxを動かしてみましょう!

テキストのコピーはできません。