仮想サーバ環境
Vagrantを用いて、ローカル上に仮想環境を構築する
Vagrantの簡単な初期設定からChefの導入方法までを説明する。
事前に必要なソフト
- VirtualBox
- putty(Telnet/SSH クライアント)
- Vagrant
- Cygwin
1. 必要ソフト のインストール
仮想環境構築に必要なVM VirtualBoxをローカルにインストールする。
注:環境変数にVM VirtualBox のPassを登録しておく。
Vagrantをインストールしておく
2. 仮想環境の前準備
仮想環境を構築する前に、仮想環境用のOSを入手し、インストールしておく。
2.1 BOXを取得する
仮想環境を構築したいBOXを取得することによって、選択したOSを使用することが可能になる。
コマンドプロンプト(以下CMD)で、下記のコマンドを実行する。
vagrant box add centos64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box
実行することで、vargrantにBOX(OSの設定情報みたいなもの)が追加される。今回のコマンドでは、CentOS64bitが手に入る、他のOSが欲しい場合は "vargrant Box" で検索。
注意:プロキシがある場合は、プロキシの設定を先にしておくこと。
2.2 BOXの一覧を確認する
vagrant に 登録されている BOX一覧を確認し、追加したBOXが登録されているかを確認する。
下記のコマンドを実行することで、vargrantに登録済みのBOX一覧が見える。
vagrant box list
3. Vagrant で 仮想サーバの初期設定を生成する
仮想サーバ用のフォルダを作成し、当箇所に移動する。
仮想サーバの設定を保存する為、以下のコマンドを実行する。
vagarant init
3.1 vagrantfile を編集する
仮想サーバの設定を変更する為、vagrantfileを編集する。
config.vm.box = "***" <- vagrant box list で確認したBOXを記載する
config.vm.network :hostonly, "192.168.50.***" <-適当なIPを追記しておく
4. Hostを立ち上げる
仮想環境を立ち上げる。
ここで、上記の設定を行っておかないと、色々警告メッセージが表示される。
vagrant up
4.1 SSH接続が可能かを確認する
立ち上げた仮想環境に、ログインできるかの確認をする。
以後、操作がlocal側と仮想の両方にて、操作が発生する為注意。
以下のコマンドを実行する。
vagrant ssh
vagrant ssh-config --host *** >> ~/.ssh/config //***部分には、サーバ名のようなものを任意でつける
ssh ***
5. Server内のSetUp(うぶんつ)
仮想サーバを起動できるようになったら、仮想サーバのセットアップをしていく。
既存でインストールされているソフトウェアの更新を行う。
sudo apt-get update
5.1 Gitのインストール
色々なソフトウェアをインストールする際、
Gitが入っていると、便利な為インストールする。
sudo apt-get install git
5.2 Rubyを最新版にする
Chefを入れる為に、RubyのVersionを更新する。
5.2.1 rbenvをインストールする
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
5.2.2 ruby-buildをインストールする
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
5.3 仮想サーバの再起動をする
設定を反映する為に、一度仮想サーバを再起動する。
仮想サーバ側の操作とローカル側の操作がある為注意。
exit
vagrant reload
5.4 RubyのVersionを更新する
Chefを使用する為に、RubyのVersionを上げる。
rbenv list
rbenv install 2.1.2
rbenv global 2.1.2
6. Chefをインストールする
Chefをインストールする。
gem install chef