タグ:vagrant | virtualbox
仮想マシンに実行環境の準備
Node.jsで作業を行うために開発環境を構築します。
サーバの動作テストをする時は仮想マシンで開発環境を作ればWindows上でLinuxを動作させて動作確認やらあれこれ試せるし、壊れて動かなくなっても再構築が簡単とのことで構築の手順の覚書までに。
今回の実装環境は
windows10 home 64bitです。
VirtualBoxのインストール
VirtualBoxをダウンロード:
https://www.virtualbox.org/wiki/Downloads
今回はWindowsにインストールするので「
Windows hosts」を選択。
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のダウンロード:
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接続」で各項目を設定していきます。
「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