ツール

VagrantとVirtualBoxを使って仮想環境を構築しよう

質問者
質問者
サーバサイドのプログラミング言語を学びたいのですが、ローカル開発環境はどうしたらいいですか?
筆者
筆者
最近はDockerを使うことが多いようですが、ここではVagrant + VirtualBoxでローカル開発環境を構築する方法をご紹介します。

この記事の内容はWindows 7とUbuntu 18.04で動作を確認しています。なお、VirtualBoxを使うには、バーチャライゼーションを有効にする必要があります。「バーチャライゼーション bios」のようなキーワードで方法を検索して、有効にしておきましょう。

Vagrantとは

Vagrantは仮想環境を管理するツールです。Vagrantを使用することで、開発で使用する複数の仮想環境を透過的に管理できます。VagrantはHashicorp社により、オープンソース(MITライセンス)で公開されています。Vagrantによって、開発者は仮想環境の構築に工数をかけなくてもよくなり、開発に専念できます。なお、Vagrantは管理ツールであって、仮想環境は持ちません。仮想環境は既存の環境を使用します。

出典:標準テキスト CentOS 7 構築・運用・管理パーフェクトガイド

難しいですね……。簡単に言うと、仮想マシンの構築、再構築を簡潔に管理することができるツールです。Vagrantはあくまでもツールなので、他に仮想環境を準備する必要があります。この記事では仮想環境にVirtualBoxを使います。

Vagrantをインストールする

Vagrantのインストール

Windows 7の場合

Windows 7でVagrantの最新版を動かすにはPowerShellのアップデートが必要です。僕はPowerShellのアップデートができない環境だったため、ver1.9.6をインストールしました。ダウンロードはコチラから。ダウンロードしたら画面の指示に従ってインストールしていきましょう。

インストールが完了したら、ターミナルでバージョンを確認してみましょう。バージョン情報が表示されれば正常にインストールできています。

Ubuntu 18.04の場合

VirtualBoxをインストールする

Windows 7の場合

ver5.1.32をインストールしました。ダウンロードはコチラから。ダウンロードしたら画面の指示に従ってインストールしていきましょう。

Ubuntuの場合

boxファイルから仮想マシンを作ろう

boxファイルとは、仮想的な起動用ディスクとプロバイダ名が記載されたファイルがセットになっているファイルです。boxファイルの取得は、公開サーバから取得したり、自作することができます。

出典:標準テキスト CentOS 7 構築・運用・管理パーフェクトガイド

boxファイルを使用することで、簡単にサーバ環境を用意することができます。boxファイルはVagrant Cloudからダウンロードできます。

今回は、CentOS 7(bento/centos-7)を使っていきましょう。

仮想マシンを作ろう

任意の場所に仮想マシン用のフォルダを作ります。僕は、ホームディレクトリ内にvagrant/centos7/というディレクトリを作りました。

centos7ディレクトリに移動して、次のコマンドを入力します。

初期化します。

vagrant upコマンドでVagrantfileの設定に沿って仮想マシンをセットアップ→起動します。初めて使うboxはダウンロードにとても時間がかかります。インターネット回線によると思いますが、1時間以上かかる場合もありますので、パソコンを電源につないで、自動で待機モードにならないようにしておいた方が確実かと思います。固まってる?と心配になるかもしれませんが、とにかく辛抱です。

セットアップが完了したら、vagrant statusコマンドで仮想マシンの状態を確認してみます。runningと表示されれば、起動しています。

SSHでサーバに接続してみよう

まずは、接続先のIPアドレスを確認します。IPアドレスはVagrantfileに書かれていますので、下記のコマンドで確認してみましょう。

では、192.168.33.11に接続してみます。上図では192.168.33.11となっていますが、初期設定では192.168.33.10となっているかもしれませんのでご注意ください。IPアドレスはVagrantfileを編集することで変更することができます。

パスワードを聞かれますので、「vagrant」と入力します。うまくいけば、サーバに接続できます。

サーバに接続したら、好きなように環境を作っていきましょう。まあ、ここが大変なのですが……

サーバからログアウトするにはexitコマンドを使います。

仮想マシンを止めるにはvagrant haltコマンドを使います。

筆者
筆者
お疲れ様でした!下記の記事では、Vagrantのよく使うコマンドを解説していますのでご確認いただければと思います。