2014年11月28日金曜日

Node.jsとSoket.ioとSilverlight(3)

Node.js+Soket.io+Javascriptを使ってみます。

こちらの参考サイトをみて、環境作成を試してみます。
http://testcording.com/?p=1164

1) 仮想サーバ(PC内にLinux環境を作成して、Linux側をサーバと仮想する)の作成
 virtualBox 日本語 
 上記リンク先からダウンロード・インストールします。
現在起動しているOS(Windowsなど)をホストOSといい、ViuralBox側をゲストOSといい、サーバとして見立てて、ホストOSからアクセスするという感じの仕組みとなります。

VirtalBoxについては、次のサイトが一番詳しくのってました。
http://virtual-soft1.nnn2.com/
 



2) Linux(Ubuntu)のダウンロード
 Ubuntu
 上記のリンク先からUbuntuのISOイメージ(ubuntu-ja-12.04.1-desktop-i386.iso)をダウンロードします。

3) VirtualBox内でUbuntuをインストールするための事前準備
メニュー【ファイル】【環境設定】で設定ダイアログ表示して、ホストオンリーアダプタを追加する
・「VirtualBox」を起動し、「新規(N)」を選択します。
・ 「新規仮想マシンの作成」ウィザードが開きます。「次へ(N)」を選択。
・ 「名前(N)」へ仮想マシンを識別するための名前を入力します(「Ubuntu 12.04 LTS」と入力)。「OSタイプ(T)」は使用するOSに合わせて設定。ここでは「オペレーティング システム(S)」が「Linux」、「バージョン(V)」が「Ubuntu」となります(私の環境で自動で切り替わりました)。
選択後、「次へ(N)」を選択します。
・仮想マシンに割り当てるメモリの量を設定します。ここでは推奨通り512MB割り当てています。設定後「次へ(N)」を選択します。
・続いて仮想ハードディスクを設定します。新規作成する場合は「新規ハードディスクの作成(C)」を選択して「次へ(N)」を選択。
・「新規仮想ディスクの作成」ウィザードが開きます。作成する仮想ディスクの種類を選択して「次へ(N)」を選択します。ここではVirtualBoxの標準的なタイプである「VDI」を選択しています。
・作成する仮想ディスクを固定サイズにす選択します。選択後「次へ(N)」を選択します。
・仮想ディスクの保存先(事前に保存先フォルダを作成する)を決定し、そのサイズを選択します(スクリーンショットでは20.00GBを選択)。選択後「次へ(N)」を選択します。
・確認して「Create」を選択します。

すると仮想ディスクの作成が始まるので完了するまでしばらく待ちます。
(結構作成に時間がかかります)

・ 確認して「Create」を選択します。

詳細は、 参考サイト : http://zakkiweb.net/ubuntu/1204/0.shtml を参照にしてください

4) 仮想マシンの初期設定を行う
・作成した仮想マシンを選択して「設定(T)」を選択します。
・「システム」では「マザーボード(M)」タブで「IO APICを有効化(I)」を選択、「プロセッサ(P)」タブでは「プロセッサ数(P)」で「2」を設定
・「ディスプレイ」では「ビデオ(V)」タブで「ビデオメモリ(M)」を「12MB」、拡張機能「3Dアクセラレーションを有効化(3)」を選択しています。
・「ストレージ ツリー(S)」から「IDE コントローラ」の「空」を選択して、右の「属性」にある「CD/DVDドライブ(D)」からディスクアイコンを押し「仮想CD/DVDディスクファイルの選択...」を選択して、ダウンロードしたUbuntuのISOファイルを選択。
・設定が完了したら「OK」を選択して終了です。

5) Linux(Ubuntu)インストール
しばらく待つとLive CDから起動し、セットアップのための画面が表示されます。
「ようこそ」の画面が表示されたら「Ubuntu をインストール」を選択します。

詳細は、 参考サイト : http://zakkiweb.net/ubuntu/1204/1.shtml を参照してください
※ここで登録したパスワードは忘れないように、どこかにメモしておく

6) Guest Additionsのインストール
Guest Additionsは、ホストOSとゲストOS間のドラッグ&ドロップやコピー&ペーストを行うためのツールです。
手順は、5) の参考サイトを参照ください

7) 端末の起動
デスクトップで[Alt+F2]を押すと表示されるアプリケーションランチャーに
[gnome-terminal]と入力すれば、端末が起動します。

端末の起動方法は次の方法でも可能です
・[アプリケーション] → [アクセサリ] → [端末]をクリックする。
・Ctrl + Alt + T を押します。(ショートカットキー)

尚、ubuntuの基本操作は、 参考サイト
http://blog.livedoor.jp/hiroumauma/archives/958159.html
を参照ください


8) ネットワークの設定
ネットワークの説明は以下のサイトが詳しいです。
http://blog.asial.co.jp/634

私も、アダプタ2〜4のタブがdisable(タブを押せない)な状態でハマりました。
"ゲストOSの電源をOFF"にしてからVirtualBoxの設定画面に戻ると,押せるようになりました。

設定可能後に、私の会社環境の場合は、アダプター1にNAT、アダプター2に内部ネットワーク
で外部接続可能になりました。


システム」→「システム管理」→「ネットワーク」で、IPアドレスが確認できます。
もしくは、端末でifconfigを入力すると、確認できます。

ただし、内部ネットワークでは、ホストOSからの通信はできません。

ホスト オンリーアダプタの設定をしなければなりません。
以下のサイトに書かれていますように、環境設定のネットワークで、ホストオンリーアダプタを
追加しなくってはなりません。
http://blog.youria.jp/kyo/mac/ssh_ubuntu_on_virtualbox/ 
メニューの「ファイル」「環境設定」で、 表示されたダイアログの左欄から「ネットワーク」を選んで、
「ホストオンリーネットワーク」タブを選んで、右側アイコンで追加をします。
⇒私の環境だとエラーで作成できませんでした。


ホストオンリーアダプタを追加したら、私の環境でエラーとなりました。
エラー回避方法を検索したところ、以下の情報がありました。

※(Virtualbox:ホストオンリーネットワークに接続できない対処(その1))
(ホストオンリーアダプターは、ホストマシンと仮想マシン間でのみ通信可能なホストオンリーネットワークと呼ばれるネットワークを利用します(外部との通信はできません))
 http://blog.offline-net.com/2014/03/30/virtualbox-host-only-network-unable-to-connect/

※(Virtualbox:ホストオンリーネットワークに接続できない対処(その2))
Virtualboxをリスタートするとよいという情報もありました。
http://totech.hateblo.jp/entry/2014/07/10/075959

※その他にネットワークの設定方法に書かれたサイト
http://mo-mo.hatenablog.com/entry/2014/02/18/155714
http://codenote.net/virtualbox/146.html

上記回避方法で、コマンドがないとか言われて、エラー回避できませんでした。
ところが、 Ver.4.3.12をインストールしてしたら、ホストオンリーネットワークが追加されていました。
(バグ?か?。リスタートが効いたのか?)
Ver4.3.12のインストーラ:VirtualBox-4.3.12-93733-Win.exe
その他に行ったこととしては、
・下記アドレスを参考にして、Vagrantのインストール及びCntOSのインストール
http://knowledge.sakura.ad.jp/tech/1552/
http://qiita.com/daichi87gi/items/d5da33c76295ee32a735
・hosts編集ツール(Hosts File Manager)インストール
・SSHターミナル(Putty,Tera Term)インストール
を行いましたが、何が原因でネットワーク環境が改善したかは不明です。



<その他>
XAMPPのダウンロード・インストール
XAMPPとは、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージとしてまとめたもので、主として開発用あるいは学習用ではあるが、イントラネットなどにおいて実運用環境として使うために必要とします。
Apache(Web サーバ)、MySQL(SQLデータベースサーバ)とWebプログラミング言語であるPHPや同目的で使われるPerlの4つの主要ソフトウェアと phpMyAdminなどの管理ツール、さらにSQLiteなど、いくつかの補助的なソフトウェアとライブラリモジュールが含まれている。もともと個別に インストールしていたものを一括でインストールできるようにしたモジュールです。
XAMPPの意味は、 以下となっています。
X - Windows、Linux、Mac OS X、Solarisのクロスプラットフォーム。
A - ApacheのA
M - MySQLのM
P - PHPのP
P - PerlのP

<参考用サイト>
●VirtualBoxに関する情報など
http://wp2.trojanbear.net/954.html
http://blog.ks2.info/?p=573
http://blog.simtter.com/windows%E3%81%ABvirtualbox%E3%81%A7ubuntu%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%82%88%E3%81%86/
http://blog.asial.co.jp/634
http://yudoufu.hatenablog.jp/entry/20100117/1263677767
http://www.tettori.net/post/852/
http://baldwin.ivory.ne.jp/wp/2011/01/09/493/
http://d.hatena.ne.jp/replication/20120304/1331734148
http://d.hatena.ne.jp/replication/20111108/1320762287
http://d.hatena.ne.jp/replication/20110430/1304129088
http://d.hatena.ne.jp/replication/20110427/1303875126
http://www.nukanobu.com/pukiwiki/index.php?CentOS%2Fnode%20-Socket.io-
http://dev.classmethod.jp/etc/virtualbox-ubuntu-ssh/
http://vividcode.hatenablog.com/entry/virtualbox/shared_folder
http://shokai.org/blog/archives/6060
http://www.glamenv-septzen.net/index.php?id=1268_1
http://testcording.com/?p=1223
http://blog.b0ne.me/web-programming/node.js-socket.io

●Soket.ioでの通信結果
http://www.atmarkit.co.jp/ait/articles/1306/04/news021.html

●ゲーム
http://html5experts.jp/knockknockjp/10481/

●動画
http://www.youtube.com/watch?v=0TeTpWpVYjA

0 件のコメント:

コメントを投稿