俺は今の職場で、自社で構築したECサイトを主に運用している。

サイトは「さくらのVPS」にインストールしたCentOS7上のApacheで動いており、しばしばSSHでサーバーにログインしLinuxコマンドを叩くことがある。

ただ、もともとLinuxは専門分野ではないため、度々コマンドやファイルの場所を忘れてしまう。

そこで今回は自分のMac(OSX)に練習用の仮想環境を構築するため、Vagrant環境を用意した。

Vagrant環境の構築手順も忘れないためにこの記事に書いておく。

Virtual Boxをダウンロード・インストール

まずVagrantを利用する上で必要となる仮想マシン「Virtual Box」を下記のサイトよりダウンロードしてインストールする。

VirtualBoxダウンロードページ

Vagrantをダウンロード・インストール

次にVagrantを下記のサイトからダウンロードしてインストール。

Vagrantダウンロードページ

インストールが完了したら、下記のバージョン確認コマンドをターミナルで入力し、正常にインストールができているか確認。

vagrant -v

下記のようにバージョン情報が返ってくればOK。

Vagrant 2.2.4

boxファイルをインストール

boxファイルは仮想マシンのテンプレートとなるファイルで、UbuntuやCentOSなど様々なOSのboxファイルが用意されている。

boxファイル配布ページ

早速vagrantコマンドでboxファイルをインストールしてみよう。

コマンドは次のとおり。

vagrant box add [任意のbox名] [boxファイルURL]

今回はCentOS7をインストールするので、コマンドは下記のようになる。

vagrant box add centos7 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box

しばらく待つとインストールが完了するので、次にインストールされたboxのリストを確認しよう。

vagrant box list

下記のとおり指定したbox名が表示されればOK。

centos7 (virtualbox, 0)

インストールしたboxファイルからCentOS7を起動

ここまでインストールしてきたboxファイルから、いよいよCentOS7を起動していく。

ターミナルで下記のコマンドを叩いてくれ。

mkdir vagrantDir
cd vagrantDir
vagrant init centos7
vagrant up

3行目のcentos7はbox名なので、ここの値は付けた名前によって変わるので注意。

vagrant initでVagrantfileというファイルが作成されるが、これは指定したboxファイル(テンプレート)を元にファイルが自動生成される。

そして4行目のvagrant upでOS起動だ。

環境さえ用意してしまえば、わずか数行のコマンドであっという間に仮想環境を立ち上げることができる。

起動したCentOS7にSSH接続

OSを立ち上げたら、次はターミナルからSSH接続をしてみよう。

vagrant ssh

これだけだ。

Welcome to your Vagrant-built virtual machine.のメッセージが表示され、仮想環境内にログインすることができる。

SSH切断は下記のコマンドでOK。

exit

vagrant終了・削除

vagrant halt

これでOK。

ただし、vagrant haltコマンドはあくまで停止するだけなので、使用している仮想マシン上(Virtualboxなど)から削除するときは停止後に下記のコマンドを叩く必要がある。

vagrant destroy

不要になったら都度destroyして、仮想マシンをクリーンな状態にしておこう。
また、destroyコマンドはboxファイル自体を削除するコマンドではないので、destroy後に再び新規で立ち上げる場合は

vagrant up [box名]

先述のとおりupコマンドでOKだ。

これでクリーン状態のOSが仮想マシン上で立ち上がる。