Linuxを扱えることは、Webエンジニアとして成功させるための必須条件みたいなもの。
とはいっても、多くのインフラ初心者はLinux環境なんて持ってないし、どう構築していいのかもわからないですよね?
今回はそんなLinux初心者のために、「Vagrant(ベイグラント)」と「Virtualbox(バーチャルボックス)」を使って、めちゃくちゃ簡単にLinux環境を構築する方法を紹介します。
最終的には、WindowsやMacの中で「CentOS(セントオーエス)」を動かせるようになります。
CentOSがわからない方は、さきにこちらの記事を読んで、Linuxの基礎を確認しておきましょう。

もくじ
Linux環境構築の手順
Linux環境を構築する方法はいくつかあるのですが、今回はもっとも簡単だと思う「Vagrant(ベイグラント)」というツールを使った方法を紹介します。
Vagrantを使うための手順は、以下のとおりです。
- VirtualBoxをインストール
- Vagrantをインストール
- Vagrantfileを設置
- Vagrantのコマンド実行
たったこれだけ。
ですが、その前に「VirtualBox(バーチャルボックス)」と「Vagrant(ベイグラント)」の概要や違いについても確認しておきましょう!
VirtualBoxとは
VirtualBox(バーチャルボックス)とは、ホストOS(WindowsやmacOS)の中に、ゲストOS(Linuxなど)を構築するための「仮想化ソフト」です。
ゲストOS環境のことを「仮想マシン」と呼んだりもします。
今回はこの「VirtualBox」を使って、「Windows(Mac)」の中に「Linux(CentOS)」をインストールすることが目的です。
VirtualBoxのインストール
VirtualBoxのインストールは、とても簡単です。
- 「VirtualBox公式サイト」にアクセス
- Windowsは「Windows hosts」リンク、Macは「OS X hosts」リンクをクリック
- ダウンロードしたインストーラを起動
- 手順に従ってインストール
VirtualBoxの作業はコレでおしまい!起動する必要もありません!
「え?これだけ?」って思うかもしれませんが、実は「VirtualBox」を直接操作するのではなく、「Vagrant」を使って間接的に操作するのです。
Vagrantとは
Vagrant(ベイグラント)とは、Virtualboxなどの仮想化ソフトを「CUI(キャラクタユーザインタフェース)」で操作するソフトです。
つまり、仮想化ソフトがインストールされていないと、Vagrantは使えないってこと。
ここでは、仮想化ソフトである「VirtualBox」をVagrantを使って操作するイメージを持ってもらえればいいです。
VagrantとVirtualBoxの違い
VirtualBoxがあれば「Linux環境」を作れるのに、わざわざVagrantから操作する意味はあるのでしょうか?
実は、この「Vagrant」と「VirtualBox」の大きな違いは、環境構築のハードルの高さにあります。
VirtualBoxに比べ、Vagrantは以下のような特徴があるのです。
- コマンド1つで環境構築が完了
- 仮想マシンの設定が簡単
- 設定情報の共有ができる
- 環境構築を自動化できる
VirtualBox単体で仮想環境を作る場合、OSのダウンロード、HDDパーティションの設定、SSHのインストールなど、多くの手順や設定が必要です。
そして、これらの設定は自動化できないため、ほかの人に共有するときも手順書を残し、それを見ながら構築してもらうことになります。
作った仮想マシンのイメージファイルを共有する方法もありますが、サイズも大きく、書き出しや読み込み、転送に時間がかかるのが難点…
つまり、VirtualBoxでの環境構築は、かなり大変だということ。
それに比べてVagrantであれば、これらの問題をすべて簡単に解決できちゃうのです!
Vagrantfileとは
Vagrantといえば、「Vagrantfile(ベイグラントファイル)」の存在があります。
Vagrantfileとは、仮想マシンの構築設定などを記述するためのファイル。
このVagrantfileの特徴は、以下の通りです。
- 仮想マシンの基本設定を記述できる
- ファイルなので共有が簡単
- 環境構築手順ファイルを呼び出せる
- Ruby言語で記述する
Vagrantfileには、仮想マシンを構築するための基本設定などを記述します。
たとえば、「OSはCeontOSのバージョン7にしなさい!」とか「接続するためのIPは192.168.33.10にしなさい!」など。
Vagrantのコマンドを実行すると、自動でVagrantfileが読み込まれ、記述内容に従って仮想マシンが構築される仕組みです。
また、この「Vagrantfile」はただのファイルなので、誰かに共有することも簡単にできます。
ほかにも、「仮想マシンを構築したあとに必要なパッケージをインストールしたい!」などあれば、別ファイルに詳しい手順を記述し、Vagrantfileから呼び出すなんてこともできます。
ちなみに、Vagrantfileは「Ruby」というプログラミング言語で記述していきますが、Rubyを知らなくても問題はありません。
Vagrantのインストール
Vagrantのインストール自体は、とっても簡単です。
- 「Vagrant公式サイト」にアクセス
- Windowsの「64-bit(または32-bit)」リンクをクリック、macOSは「64-bit」リンクをクリック
- ダウンロードしたインストーラを起動
- 手順に従ってインストール
- PC再起動
Windowsの「bit」がわからない方は、以下の方法で確認してください。
- 「Windows」ボタンを押す
- 「bit」と入力
- 「32bitと64bitのどちらのバージョンのWindowsかを確かめる」をクリック
- 表示されたスペック画面で確認
では、さっそく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を作ってみましょう。
$ vagrant init
ちなみに、「vagrant init」は最初の1回だけしか実行しません。
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」は実行タイミングによって動きが少し変わるので注意してください。
- 仮想マシンを構築して起動(初回のみ)
- 仮想マシンを起動(2回目以降)
初回は仮想マシンの構築と起動になりますが、2回目以降は仮想マシンの起動だけになります。
ただし、2回目以降も「vagrant up」をするたびに、「Vagrantfile」が読み込まれていることは覚えておいてください。
仮想マシンにログイン
仮想マシンが立ち上がったら、以下のコマンドで仮想マシンにログインしましょう。
$ vagrant ssh
これで「ContOS」が入った仮想マシンに「vagrant」というユーザーでログインできました。
仮想マシンからログアウト
仮想マシンからログアウトしたいときは「Ctrl + d」を押すか、以下のコマンドで抜けられます。
$ exit
仮想マシンを停止
仮想マシンを停止したいときは、以下のコマンドを実行します。
$ vagrant halt
仮想マシンの削除
作った仮想マシンを削除する場合は、以下のコマンドを実行してください。
$ vagrant destroy
不要な仮想マシンを削除する以外にも、仮想マシンを作り直したいときにもよく使うコマンドです。
まとめ:Linuxを実際に動かしてみよう!
Vagrantを使うことでVirtualBoxを触ることなく、Linux初心者でも簡単にCentOSの環境構築ができました。
また、VagrantやVirtualBoxについての理解も深まったと思います。
せっかくLinux環境を作ったのですから、次は実際に「Linuxの基本コマンド」を使って動かしてみましょう!
毎日少しずつLinuxに触れることで、自然と使えるようになっていきます。
またね、キツネ(@kitaaaa_kitsune)でした!
