仮想マシンVirtualBoxで、Vagrant (CentOS) を入れてNode.jsなどの開発環境を手軽に構築してみる
category:web
仮想マシンで開発環境を作ればあれこれ試せるし、壊れて動かなくなっても再構築が簡単、ってことで構築の手順の備忘録。
投稿時の環境
- Mac OS 10.11.1
- VirtualBox 5.0.10 r104061
VirtualBoxをインストール
https://www.virtualbox.org/からVirtualBoxの各プラットフォームのインストーラをダウンロードしてインストールします。
Mac環境でIEテストするシステムを紹介でも同じくVirtualBox導入の説明をしています。
Vagrantのインストール
仮想環境構築ツールのVagrantを使うとCentOSのインストールも簡単にインストールできるようになる。
https://www.vagrantup.com/downloads.htmlからインストーラをダウンロードしてインストール。
仮想マシンを作成する
コマンド入力作業、ターミナルで任意のディクレクトリに移動して、
$ 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 "ホストパス", "ゲストパス"
とりあえずここまでの作業を覚えておけば、仮想の開発環境を新しく作ったり、削除したりすることが手軽にできます。