WEB掻っ穿じり

WEB備忘録とチャリとカメラ

仮想マシンVirtualBoxで、Vagrant (CentOS) を入れてNode.jsなどの開発環境を手軽に構築してみる

  category:web

仮想マシンで開発環境を作ればあれこれ試せるし、壊れて動かなくなっても再構築が簡単、ってことで構築の手順の備忘録。

投稿時の環境

VirtualBoxをインストール

https://www.virtualbox.org/からVirtualBoxの各プラットフォームのインストーラをダウンロードしてインストールします。

Mac環境でIEテストするシステムを紹介でも同じくVirtualBox導入の説明をしています。

Vagrantのインストール

仮想環境構築ツールのVagrantを使うとCentOSのインストールも簡単にインストールできるようになる。
https://www.vagrantup.com/downloads.htmlからインストーラをダウンロードしてインストール。

Vagrant ダウンロード画面

仮想マシンを作成する

コマンド入力作業、ターミナルで任意のディクレクトリに移動して、

$ vagrant init

と入力。
するとVagrantfileが作成されているので、テキストエディタで編集。

config.vm.box = "base"

をコメントアウトし、下記の1行を加えます。

# config.vm.box = "base"
config.vm.box = "puphpet/centos65-x64"

これでVagrant Cloudから自動で仮想マシンファイル(CentOS 6.5)をダウンロードしてくれるようになる。

Vagrant Cloudでは他にも様々な仮想マシンが登録されています。
https://vagrantcloud.com/

仮想マシンを起動

ターミナルで以下のコマンドを入力すると自動でBoxファイルもダウンロードされ仮想マシンが起動される。
(最初はBoxファイルのダウンロードも兼ねるので時間がかかりますが、以降はスムーズに起動されます。)

$ vagrant up

仮想マシンの操作

仮想マシンの状態を確認するには、下記のコマンドで確認。

$ vagrant status

【他の操作をするコマンドの一覧】

起動
  $ vagrant up
  
停止
  $ vagrant halt
  
スリープさせる
  $ vagrant suspend
  
スリープからの復帰
  $ vagrant resume
  
再起動
  $ vagrant reload
  
破棄
  $ vagrant destroy
  
仮想マシンにログイン
  $ vagrant ssh
  

仮想マシンにログイン

ターミナルで次のコマンドを入力し、SSHを使って仮想マシンにログイン。

$ vagrant ssh

仮想マシンにNode.jsをインストール

nvmを使って任意のバージョンのNode.jsをインストール、下記のコマンドはnvmのインストール。

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.3/install.sh | bash

インストールが完了しても、再起動しなければnvmが使えない状態なので、ログアウト後に再度ログインします。

$ exit
$ vagrant ssh

Node.js 0.12.7をインストール(開発に合わせて安定バージョンをインストールしてください)

$ nvm install v0.12.7
$ nvm alias default v0.12.7

正しくインストールできたかの確認

$ node -v
v0.12.7

sudoコマンドのパスを通す

このままだとsudoコマンドを使ってnpmやnodeコマンドが使えないので、visudoコマンドを実行する。

$ sudo visudo

実行すると設定項目が沢山出てくるので下記の3カ所を編集する。
viエディターが起動しているので「コマンドモード」と「入力モード」を切り替え編集を行う。
i キーで入力モード、esc キーでコマンドモード切り替わり。

env_resetの無効
Defaults   env_reset
↓
Defaults   !env_reset
  
HOMEを追加
# Defaults   env_keep += "HOME"
↓
Defaults   env_keep += "HOME"
  
パスの書き換えをコメントアウト
Defaults   secure_path = /sbin:/bin:/usr/sbin:/usr/bin
↓
# Defaults   secure_path = /sbin:/bin:/usr/sbin:/usr/bin

編集が終わったら :wq キーで保存してviエディターを終了し、再度ログインすると設定が反映される。

gitインストール

公開されているプロジェクトのソースコードを仮想環境で取得する機会もあるので、gitもインストールしておきます。

$ sudo yum install git

ホストマシンから仮想マシンのWebサーバにアクセスできるようにする

Vagrantfile」ファイルのendより上の行に書きを追記。

config.vm.network "forwarded_port", guest: 80, host:8080
config.vm.network "private_network", ip: "192.168.33.10"

1行目で仮想マシンのポート80、ホストの8080に割り当てられ、2行目で仮想マシンのIPアドレスが、192.168.33.10に割り当てられる。

ホストと仮想マシンのフォルダ共有

同じハード上で任意のフォルダを共有して開発作業をホストで、仮想でデプロイみたいなことをするには、「Vagrantfile」に次のように書き加えます。
(デフォルトではホストのVagrantfileのある設定フォルダと仮想マシンの「/vagrant」フォルダが共有されています。)

config.vm.synced_folder "ホストパス", "ゲストパス"

とりあえずここまでの作業を覚えておけば、仮想の開発環境を新しく作ったり、削除したりすることが手軽にできます。