ビジネスアプリケーション演習
(enPiT BizApp 2013-09-02, AIIT)
Windows 環境資料
学生が作成した非公式資料なので、ご利用は自己責任で!
公立大学 産業技術大学院大学
産業技術研究科 創造技術専攻一年 斉藤之雄
Published 2013-09-05 JST 02:44 / Last Modified 2013-09-05 JST 09:57
改訂履歴
Date Subjects Comments
2013-09-05 Typo 修正 Vargrant → Vagrant
2013-09-05 Vagrant halt スライド追加 初回時にスライド漏れでした
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 2
マカーだらけ。だけど大丈夫。私は Windows 使者だ。
1. 環境を作ろう。
資料は中鉢先生スライドを活用しよう
http://www.slideshare.net/ychubachi
2. ゲストとホストの違いを認識しよう。
3. 必ずメモを取ろう。うまくいった事だけではなく失敗したことも。
4. 出来ないなら、まずは練習。
5. enPiT の教育目的を再認識しよう。
6. さぁ、Windows 実機で未来社会を創る第一歩を進めよう。
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 3
次の想いを込めて作成しました
環境を作ろう
 ゲストOS側
 Windows 7, 8 (x64/x86 どちらも管理者権限を持つアカウントで使用)
 Cygwin1.7.25(0.270/5/3) 2013-08-31 20:39 i686 // 全パッケージ導入
 Vagrant_1.2.7
 enpit_package.box
 Oracle VM VirtualBox 4.2.16
 ホストOS側
 enpit_package.box 利用のため、ロケール変更を後から行う程度
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 4
Vagrant 1.2.7 を導入しよう
再起動
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 5
Oracle VM VirtualBox を導入しよう
1. Webブラウザから直接
http://download.virtualbox.org/virtualbox/4.2.12/VirtualBox-4.2.12-84980-Win.exeあるいは
http://www.oracle.com/technetwork/jp/server-storage/virtualbox/downloads/index.html#vbox へ
アクセスを行い、それらしいインストーラを入手し実行する。(Windows 管理者権限で)
2. 迷うことなく、すべて「次へ」でインストールを完了し、エクステンションパックの入手は今回の学習だけであれば不要です。
ちなみに、このあとは Oracle VM VirtualBox GUI 上での操作は確認くらいで、直接ここでのVM操作(追加等)は
一切行いません。
← VirtualBox 起動時の画面
図1
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 6
Cygwin を導入しよう
http://www.Cygwin.com/install.html
迷わず、ここに行けばあるさ。きっとある。
X64 Windows でも、迷わず x86 (32bit) を
導入するんだぞ。
図2
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 7
Cygwin ターミナルを起動しよう
インストールが終わるとスターとメニューにショート
カットが登録されているので実行しよう。
図2
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 8
Cygwin ターミナル(bash) で .box ファイルのパスを確認しょう
ここでは、Fドライブに ¥enpit_work ディレクトリがあり、その直下に enpit_package.box があることを
想定して記載しています。
図3
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 9
Vagrant (バーグラント)から .box ファイルを追加しよう
Vagrant コマンドを使用し、boxファイルを add すると、 SSD搭載マシンではすぐに、
iSCSI 経由ストレージのマシンでは、31M/s 程度の低速度で仮想マシンが「デプロイ!」されるよ。
図4
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 10
Vagrant コマンド
Vagrant コマンドを使用し、初期化しよう。
図5
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 11
仮想マシンを起動させよう。
赤下線の意味は理解しておこう。赤線じゃないよ(なぞ
図6
Vagrant コマンド
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 12
netstat -an -p tcp でアダプタ状態を確認
しよう。
そして
思い出そう、図6の赤下線を。
(アダプタ)
まさか、もう忘れてしまったんじゃないよね。
男は・・・ 女は///(なぞ
図8
ホスト側のネットワーク・アダプタ状態を確認しよう (netstat)
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 13
netstat -an (-p tcp) でアダプタ状態を
確認しよう。
そして
思い出そう、図6の赤下線を。
(アダプタ)
まさか、もう忘れてしまったんじゃないよね。
男は単純、女は複雑(なぞ
図9
ゲスト側のネットワーク・アダプタ状態を確認しよう (netstat)
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 14
ゲスト側
cd /vagrant
touch hoge.txt
図10
Synced folder (シンクド・フォルダ)を確認しよう
ホスト側
Windows エクスプローラで
Vagantfile が置かれたパスを参照しよう。
すると、
0 KB 空ファイルが hoge.txt で作成済み。
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 15
ここでの赤下線はメインメモリ 384MB しかない
ことを意味している。
そして
思い出そう、図6の赤下線を。
(フォルダ)
まさか、もう忘れてしまったんじゃないよね。
男は別名保存、女は上書きだよ。(なぞ
図7
Synced Folder を敢て VMマネージャーでも確認しよう
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 16
ゲスト側で操作するよ
cd /vagrant
rails new my_app –T
rails server
入力するコマンドはこの3行だから。慌てずに。
図11
Rails アプリを始めよう rails new my_app –T
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 17
インストールは自動的に展開されるよ。
英文をちゃんと読もう。
enPiT 受講者は基本的にバチュラー以上。
現在、修士履修の方が対象。
ここで甘えは禁物だ。
そして、きちんとノートに書こう。どんなメッセージが
表示されているのか、特に赤線枠(下段)を
ノートに書いておくだけで、今後の進め方は
格段にスムーズになることは間違いない。
保証する。
図12
Rails アプリを始めよう
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 18
rails server を実行すると、何が起きるかな?
図13
Rails アプリを始めよう rails server
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 19
Rails server が動作している環境(ゲストOS)でしか
参照できない Webサービスだったよね。
せっかくなので、Windows 環境(ホストOS) で動作確認
したいよね。
それじゃ、Vagantfile (ホスト、ゲストどちら側でも)の
ポート転送項目をコメントアウトを外し編集して上書き
保存しよう。
図14
Rails アプリを始めよう ポート転送
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 20
図16
Vagrant reload
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 21
ポート転送を有効にするため、
ホスト側 Vagrantfaile が存在するパスで
Vagrant reload を行うこと。
正常操作であれば、ゲスト側は自動的に
Vagrant ssh コネクションが終了しホスト側へ
戻ってくる。
※万一、ゲスト側で vagrant reload を行うと
そんなコマンドはないと一蹴され、複数の関数を
インストールする羽目になり、結局は一体なんだった?
と陥ること間違いなし!(私が実際にハマったよ)
このウィンドウをウザがる方は、
Windows セキュリティ設定どころか、システム上の
許可設定について完璧なんだと思うよ。
マカーの画面に表示されない。
学内LAN で作業しているなら、マカー目掛けて nmap や
Nesus など叩き放題
ここでは、「プライベート ネットワーク」チェックボックスを有効にし
【アクセスを許可する】クリックしましょう。
マカーの皆さんは、マジで気をつけましょう。 図15
Rails アプリを始めよう Windows セキュリティの重要な警告
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 22
Webアプリは
柔軟に対応
してこそ!
さぁ、Lynx で
確認しよう。
図17
Rails アプリを始めよう Lynx で Webアプリの動作確認
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 23
終了する際は
そのままCygwin
ターミナルを終了
しないように。
仮想マシン (VM)を
停止しましょう。
もしも、VM停止しな
ければ、次回は再び
vagrant 設定が
必要です。
図18
Vagrant halt でVM停止
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 24
ホスト側で vagrant halt コマンド
入力すると、
ゲスト側は、ログインしている全ユー
ザへ対して、root メッセージが発行
され、sshコネクションが終了する。
まとめ
• ゲスト側 (Ubuntu)
Synced folder
rails new
rails s (server)
Yukio Saitoh / M1 / Master Program of Innovation for Design and Engineering, AIIT 25
• ホスト側 (Windows)
Synced folder
ポート転送
lynx
まずは、この両者がどのような関係になっているかを理解しよう。なぜ、ポート転送を行ったのか。
そして Webアプリを公開しているのに関わらず Webブラウザへキックして利用しなかったのは何故だろうか。
あれこれ考えることだらけですね。今は、「なぜだろう?」と考える気持ちを抱きましょう。
お疲れ様でした。

Enpit bizapp_aiit_20130902_for_WindowsEnvironment