WEB掻っ穿じり

WEBデベロッパー備忘録とチャリ

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

  category:development

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

投稿時の環境

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 "ホストパス", "ゲストパス"
        

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

comments powered by Disqus