Vagrantで始めるお手軽仮想サーバ構築 (第1回 ローカルで動く仮想WEBサーバ編)
サーバ環境の構築に関して、サービスの速い段階で冗長構成を考えながら構成管理を行う事がサービスの開発効率、強いては成長に寄与するという妄想の元、サーバプロビジョニングの最初の段階としてOSのイメージからサーバを起動する所までをVagrantを使って実現したいと思います。 ブートストラッピング(OSインストール)のレイヤーをカバーする手順として全2回構成のうちの第1回目は、ローカル環境に仮想マシンで動作するWEBサーバを構築するまでの手順を記載しています。
目次
1.Vagrantのセットアップ
Vagrantのセットアップを行います。
Vagrantのインストール
公式サイトhttps://www.vagrantup.com/から、環境に応じたインストーラーをダウンロードしてインストールして下さい。
この記事を書いた時点の最新バージョンは1.6.5
です。
仮想環境のセットアップ
VirtualBoxなどの仮想環境構築ツールを使って準備を整えます。(省略)
2.Vagrantで仮想マシンを起動する
Box(仮想マシンテンプレート)を取得
Vagrantで仮想環境を構築する為に、Boxと呼ばれる仮想マシンのテンプレートを取得します。
公式から入門用のBoxの取得が可能です。https://docs.vagrantup.com/v2/getting-started/boxes.html
非公式ですが、boxファイルを公開しているサービスがあるのでこちらも参照して下さい。http://www.vagrantbox.es/
vagrant --version
: Vagrantのバージョンを確認するコマンド
vagrant box add hashicorp/precise32
: 入門用のBoxを取得する(Ubuntu 32bit)
vagrant box list
: 取得済みのリストを参照する
vagrant box -h
: vagrant boxで利用可能なオプションを確認する。
vagrant box remove
: 不要なBoxファイルを削除する
※Vagrantで取得したBoxファイルはユーザホームの.vagrant.d/boxes
というディレクトリに配置されます。
ls -la ~/.vagrant.d/boxes
: 取得済のBoxファイルを確認する
仮想マシンを初期化する
Vagrantで仮想マシンを立ち上げるには、1つにつき1つのディレクトリを作成する必要があります。(一つのテンプレートからいくつでも仮想マシンを作成する事は可能 )
mkdir ~/${Dir_Name}
: 仮想マシン用のディレクトリを作成します。
cd ~/${Dir_Name}
: (省略)
vagrant init ${Box_Name}
: 指定したBoxで仮想マシンを初期化する
vi ~/${Dir_Name}/Vagrantfile
仮想マシンの設定ファイルを編集する
※仮想マシンを初期化するとVagrantfileというファイルが作成されますが、このファイルが仮想マシンの設定ファイルとなります。)
仮想マシンを立ち上げる
vagrant up
: 初期化した仮想マシンを立ち上げる
vagrant status
: 仮想マシンの状態を確認する
vagrant suspend
: 仮想マシンをスリープ状態にする
vagrant resume
: 仮想マシンを復帰状態にする
vagrant halt
: 仮想マシンを終了状態にする
vagrant reload
: 仮想マシンを再起動する(Vagrantfileを修正した時など)
vagrant destroy
: 仮想マシンを削除する(Vagrantfileは残るのでupでの立ち上げは可能です。)
仮想マシンにログインしてWEBサーバを立ち上げる
※この項で扱う内容はローカル環境で起動させる事を前提にした設定なので、 パブリックからアクセスを受け得る環境で下記の設定を使用する事は避けて下さい。
vagrant ssh
: 起動した仮想マシンにアクセスします。
sudo yum -y httpd
: WEBサーバをインストール
sudo service httpd start
: WEBサーバを起動する
sudo chkconfig httpd on
: 仮想マシンを立ち上げた時の自動起動をOnにする
sudo chkconfig iptables off
: ファイヤーウォールの設定をOffにする
cd /var/www/html
: ドキュメントルートに移動する(Centの場合)
vi index.html
: htmlファイルを作成する
vi ~/${Dir_Name}/Vagrantfile
: 仮想マシンの設定ファイルを修正する
vagrant reload
: Vagrantfileの修正を反映する
3.Vagrantの共有フォルダ
Vagrantには仮想マシンと仮想マシンを立ち上げている環境でファイルを共有することが可能なディレクトリが割り当てられています。
cd /vagrant
: 仮想マシンで共有ディレクトリに移動する。
touch /vagrant/test.txt
: 仮想マシンで共有ディレクトリにファイルを作成する。
ls ~/${Dir_Name}/
: 共有ディレクトリを参照する。