2017

1

12

VirtualBoxとVagrant覚えてNode.jsの開発環境を構築してやんよ!!!

スポンサードリンク


仮想マシンに実行環境の準備

Node.jsで作業を行うために開発環境を構築します。
サーバの動作テストをする時は仮想マシンで開発環境を作ればWindows上でLinuxを動作させて動作確認やらあれこれ試せるし、壊れて動かなくなっても再構築が簡単とのことで構築の手順の覚書までに。

今回の実装環境はwindows10 home 64bitです。


VirtualBoxのインストール

VirtualBoxのダウンロード VirtualBoxをダウンロード:https://www.virtualbox.org/wiki/Downloads
今回はWindowsにインストールするので「Windows hosts」を選択。

Vagrantのインストール

Vagrantのダウンロード Vagrantをダウンロード:https://www.vagrantup.com/downloads.html

デフォルトの保存場所 ⇒ 「C:\HashiCorp\Vagrant\」
※インストールには結構時間がかかります。

Vagrantのコマンドプロントによる各設定

Vagrantのインストールが完了後に再起動したら、コマンドプロントを開いて(win10の場合は「winボタン」→「windowsシステムツール」内もしくはタスクバーの検索窓に「cmd」と入力)仮想マシンの構成設定を行います。

バージョンの確認

vagrant -v
Vagrant 〇.〇.〇
まずはインストール確認のために「$ vagrant -v」(Winでは”$”は不要)コマンドでvagrantのバージョンを確認します。「Vagrant 〇.〇.〇」とバージョンが返ってくればちゃんとインストールされています。

boxファイルを登録

仮想マシン内のOSとなるboxファイルを登録します。
今回はCentOS7.2というバージョンboxファイルを「C:\Users\ユーザー名\vagrant\」のディレクトリ内にセットアップするとします。
※下記コマンドを1行ずつ実行していってください
mkdir vagrant\centos72
cd vagrant\centos72
vagrant init bento/centos-7.2
1行目 → mkdirコマンドで「vagrant\centos72」ディレクトリを作成する
2行目 → cdコマンドで「vagrant\centos72」操作対象のディレクトリを移動する
3行目 → vagrant initコマンドで「bento/centos-7.2」を追加します

vagrantfileの初期化設定

boxファイルが「C:\Users\ユーザー名\vagrant\centos72\」ディレクトリに追加されているはずなのでその中の「Vagrantfile」という設定ファイルをテキストエディタで開きます。
15行目あたりに下記コードがあるのでそこに「config.vm.box = “bento/centos-7.2”」と追記します(もしくは上のコメントを書き換え)
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
# config.vm.box = "base"
config.vm.box = "bento/centos-7.2" ←追加記述
※今回調べた際に一部エントリーでは「config.vm.box = “chef/centos-6.5”」とありますが、
2015年頃からの6.5以上では”chef”ではなく”bento”となるようです。

仮想マシンの起動

vagrant up
初期化設定が完了したら仮想マシンを起動します。
初回はBoxファイルノダウンロードも含まれるため5~10分ほど少々時間がかかりますが、2回目以降はさほど時間はかかりません

仮想マシンの動作確認

マシンが起動しているかの確認するには”status”コマンドを入力して仮想マシンの状態を確認できます。
vagrant status
正しく起動していれば”running”(動作中)と表示されます。

Vagrant操作コマンド一覧

コマンド 操作の説明
vagrant up 仮想マシンの起動
vagrant halt 仮想マシンを停止
vagrant suspend 仮想マシンをスリープ
vagrant resume 仮想マシンの復帰
vagrant reload 仮想マシンの再起動
vagrant status 仮想マシンの状態を確認
vagrant destroy 仮想マシンを破棄
vagrant ssh 仮想マシンへログイン


仮想マシンにログイン

インストールしたCentOSは最小限の構成なのでWindowsPCから仮想マシンを利用するにはSSH(暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル)クライアントがインストールされていないため、SSHクライアントをインストールしてログイン情報からログインして操作する必要があります。
※Macは標準機能でSSHで接続できるOSなのでMac OSではターミナルからSSH接続が可能です。

主なSSHクライアントの種類

クライアントツール 特長
Poderosa タブ式のGUIで他のクライアントツールよりも立ち上がりが早いのが人気。
複数のターミナルを同時に開く際に同じウィンドウ内で見れるのが特長です。
PuTTY WindowsのSSHクライアントの代名詞とのこと。
GUI以外にCUIもあり、Tera TermがSSH2に対応するまで、代替として使った愛用者も多い様です。
Tera Term telnet全盛期から愛用者が多いtelnet/SSH/シリアル接続ターミナルソフト。
情報も豊富ですが、インストーラはオプションのツールもたくさん付くので、コンパクトで導入すると良いそうです
RLogin かつてUNIX/LinuxにあったrloginコマンドをWindowsのGUIでできるようにしたのをtelnet/ssh/シリアルまで拡張したらこうなったというものです。
Win32-OpenSSH Microsftが作ったOpenSSH。
Windows以外でのSSHのデファクトスタンダードといえばOpenSSHですが、Windows版もいくつあります。その中でもMicrosoftが保守していると言う点が注目されているようです

Poderosaのインストール

Poderosaのダウンロード Poderosaのダウンロード:https://sourceforge.net/projects/poderosa/files/releases/
今回は4.3.16のバージョン(Poderosa-4.3.16-bin-net45.zip)をインストールします。

Windows10でzipファイルを解凍する際の注意点

Windows10でダウンロードしたzipファイルを展開する際に注意点があります
Windows 10標準の.NET Framework 4.5では今回ダウンロードした「Poderosa 4.3.16」は
Windowsのセキュリティの機能により、古い.NET Frameworkを有効にしないとインストール時にエラーとなってしまうので
zipファイルを解凍する際に右クリック⇒「プロパティ」⇒「ブロックの解除」にチェックを付けてから展開してください。
セキュリティブロックの解除

ログインコマンドを実行

vagrant ssh
再びコマンドプロントで仮想マシンにログインするために”ssh“コマンドを実行します。(一度停止させている場合はupコマンドで再び起動させてから)
Windowsの場合は下記のようなSSH接続情報が表示されます。
> vagrant ssh

// 英語で色々でます

Host: ホストIP  // 1
Port: ポート番号  // 2
Username: vagrant  // 3
Private key: C:/Users/.vagrant/machines/default/virtualbox/private_key  // 4

Poderosaを起動し、メニューから
「ファイル」⇒「新規Telnet/SSH接続」で各項目を設定していきます。
PoderosaのSSH設定
「OK」をクリックすると仮想マシンに接続します。


Node.jsをインストール

Poderosaで仮想マシンに接続できたら、ようやくNode.jsのインストールとなるわけですが
Node.jsはバージョンによって動いたり動かなかったりと動作が異なりますので、nvm(Node Version Manager)というNode.js のバージョン管理マネージャの設定が必要になります。

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.3/install.sh | bash
nvmをインストールすると、再起動しろといういわれるのでコマンドプロントで仮想マシンを再起動します。

$ nvm install v0.12.4
$ nvm alias default v0.12.4
$ nvm -v
再起動後はnvmのバージョンをインストール(今回は0.12.4バージョン)して、起動のたびにバージョンの指定をするのは手間なのでデフォルトのバージョンを設定します。
正しくインストールできればバージョン情報が返ってきます。

nvmのバージョン設定コマンド一覧

nvmのバージョン管理は以下のコマンド一覧で可能です。
コマンド 説明
$ nvm ls インストールされているバージョンを確認
$ nvm ls-remote インストール可能なバージョンを確認
(インストール済みのバージョンは青表示されます)
$ nvm install 0.11 指定したバージョンをインストール
$ nvm use 0.11 使用するバージョンを切り替える
$ nvm install latest 最新バージョンをインストール

node.jsの対話モード

node.jsでは対話モードというプログラムの処理結果をすぐに返答してくれる機能があります。
node“コマンドを実行し、「3 + 5」と入力してEnterを押すと「8」という実行結果が表示されます。
$ node
> 3 + 5
8


その他の設定

仮想マシンで作業

ユーザーパスの設定

sudo”コマンド(許可されたユーザに対して、スーパーユーザや別のユーザの権限でコマンドを実行することを許す)実行時のパスをユーザーパスと同等に設定する為の設定です。
$ sudo visudo
上記コマンドで設定項目を開き以下の該当テキストを修正します。

// 変更点1
Defaults    env_reset
      ↓
Defaults    !env_reset 

// 変更点2
# Defaults   env_keep += "HOME"
      ↓
Defaults   env_keep += "HOME"

// 変更点3
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
      ↓
# Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
通常のテキストエディタとは異なるため、文字の入力を行うキーボードの「i」キーを押して入力モードで各変更点を修正してください。
修正が完了したら「Esc」キーで入力モードを完了させ、「:wq」を押して編集状態を保存します。

コマンドプロントで再起動を行ったあと、再度ログインで設定が反映されます。

gitのインストール

色んなオープンソースのプロジェクトのソースコードをローカル環境に取得することができる「git」もあると便利なのでインストールしておきましょう。
$ sudo yum install git





トップへ