ガードブロッキング的ブログ

PHPのノート07 – テスト環境の構築・補足

PHPのノート07 – テスト環境の構築・補足ドットインストールの動画をなぞったテスト環境の構築メモも前回で終わり。
さて、ここからは自分以外はほぼやっていないようなミスの覚書なので補足扱いで。

ネットワークアダプタの設定でブリッジを選択できない

内容は私が試行錯誤したものなので、解決方法だけを知りたい方は
下部の最終的な結論まで飛ばして読んでください。

PHPのノート2-ローカルテスト環境を構築してみる2のVirtualBoxのインストールの補足です。

VirtualBoxをインストールしました。
次にCentOSをインストールする前にネットワークアダプタの設定をします。
そこで「ブリッジ」を選択するのですが、なぜか私の環境ではブリッジが選択できない状態に。

これはどうゆうことか、といろいろ調べて時間を使う結果になったのです。

NAT、ブリッジ、ホストオンリーって何?

まずネットワーク設定のNATやらブリッジやらは名前以外の知識がありません。
そこでまずホストPCをブリッジ接続にしなくてはいけないのではないか、と思い
ブリッジ接続の方法を調べました。

Macとかの雑記帳さんの
VirtualBoxやVMwareFusion等の、仮想化ソフトのネットワーク設定について。
http://tukaikta.blog135.fc2.com/blog-entry-143.html

の記事を参考にNATってなんだ?ブリッジってなんだ?と接続設定を理解しようとしました。

自分的解釈

ゲストPCのネットワークアダプタ(VirtualBox Host-Only Ethernet Adapter)が無い

PHPのノート4-ローカルテスト環境を構築してみる4のゲストPCのIPアドレスを調べるの補足です。

設定を確かめようと、コントロールパネルからネットワーク接続>ローカルエリア接続でホストPCのネット接続を確認。
それをブリッジ接続しようとしたところ、ゲストPCのネットワークアダプタが無い。

今度はシステム>ハードウェア>デバイスマネージャ>ネットワークアダプタを調べると
やはりゲストPCのアダプタが存在せず、その代わりに不明なネットワークデバイスに「×」マークが付いていました。

ゲストPCのネットワークアダプタが無い、もしくはドライバがインストールされていないということは
ゲストPCはブリッジどころかホストオンリー(ゲストホスト間)でさえもできないということになります。
(Tera TermでSSH接続などができない)

じゃあネットワークアダプタってどこでインストールするのか。
わからないのでいろいろ検索していると、

マキシマ文庫さんの
VirtualBox “ホストオンリー ネットワーク インターフェースの作成に失敗しました”
http://www.makisima.org/v3/2010/11/12/virtualbox-err-host-only-network/

の記事に行き着き、ネットワークアダプタをインストールする方法を試しました。

C:\Program Files\Oracle\VirtualBox\drivers\network\netadp\VBoxNetAdp.inf

不明なデバイスにVirtualBoxのネットワークアダプタのパスから強制的にインストールする方法です。
これを実行したところ、不明なネットワークデイバイスがVirtualBox Host-Only Ethernet Adapterが現れました。

この後VirtualBoxに戻り、環境設定(ゲストPCの設定ではなくVirtualBoxの設定)を見てみると
VirtualBox Host-Only Ethernet Adapterが表示されていました。

以下は後で気付いた手順。

  1. ゲストPCの設定ではなくVirtualBoxの方の設定
  2. ファイル>環境設定>ネットワーク
  3. ホストオンリーネットワークの追加:カードに「+」のアイコン
  4. ゲストPCのネットワーク設定でホストオンリーアダプタが選択可能

しかし、VirtualBoxインストール直後にファイル>環境設定>ネットワークを見たときは「+」アイコンが
グレーアウトしており、選択不能状態でした。(画像は選択可能になっています)

もうわけわかりませんT-T

ホストオンリーアダプタで妥協する

これでブリッジ接続ができるのか…と思い、今度はゲストPCの設定でネットワークの設定を変えようとすると。

ダメです。
ブリッジは選択できません。
コントロールパネルでローカルエリア接続とVirtualBox Host-Only Networkをブリッジにして接続しても
やはり選択できません。

今度はものの試しと思ってゲストPCの接続をホストオンリーアダプタにしてみると、
なぜかそこは選択できるようになっていました。

とりあえずホストゲスト間で通信可能であればドットインストールの動画の続きはやれるぞ、ということで
一旦ここからまたドットインストールの動画の続きを見てローカルテスト環境を構築していきました。
(Tera TermでSSH接続するところまで進めた)

新たなトラブル・不明なデバイス「Net」

ドットインストールの動画を少し進めて、続きは明日ということにして一旦休みました。
そして翌日にまた同じ手順でVirtualBoxを起動してみました。

大丈夫だ、問題無い。

と、思いつつも心配になってデバイスマネージャを見てみると。
今度はVirtualBox Host-Only Ethernet Adapter以外にさらにもう一つ
Netという不明なデバイスが「×」マーク付きで表示されているではありませんか。

これは気持ち悪いです。
これをどうにか消せないかと今度はNetという不明なデバイスを調べる事に。

空繰再繰さんの記事

VirtualBoxインストールしたら不明なデバイスが出るようになったのでそれを消す方法
http://blog.nyarla.net/2009/11/28/1

を発見。

regeditでレジストリを強制削除する方法です。

  1. goto HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\NET\0001 (vary the details based on your specific device ID in the previous step)
  2. right click, the 0001 key , permissions… , allow
  3. the delete the 0001

WindowsXPでの話しですのでご注意を。あと自己責任で。

解決方法

これでドットインストールの続きをやれるぞ、ということで再びテスト環境を作っていったのですが
ここでもう一度原点に返り、全てをアンインストールしてツールのダウンロードも含めて
もう一度最初からやり直すことにしました。

そうするとVirtualBoxのインストール時に見覚えのない警告が。

Warning:Netwrok Interfaces?

何か初回と挙動が違うような気がしますが、続行することに。
「今回」は警告も含めて全て「Yes」「続行」でインストールしました。

そうするとなぜかブリッジが選択可能になっていました。
環境設定の方でもVirtualBox Host-Only Ethernet Adapterが表示されています。

あっけなく問題解決。

これまでの苦労は何だったのか。
ものすごく時間を無駄にした気がしますが過ぎ去った時間は戻せない。

最終的な原因はおそらくですが、最初のVirtualBoxのインストール時に
警告表示されたものを「続行」しなかったためにネットワーク関連のドライバがインストール
されなかったのかもしれません。

出てくるものは全てインストールしたはずだったんですが、勘違いだったのかもしれません。

最終的な結論

とにかく全部「Yes」「続行」でインストールを進めろ
デフォルトで何か不備があったら削除してもう一回インストールしろ

あとブリッジは実際に(ホストPCで)ブリッジ接続していなくても選択できます。

これでコケたのは自分だけであろう問題の覚書は終了。
誰かの役に立てばいいけど、それもないかな…。

次からようやくPHPそのものノートを書けます。
つーかそっちの方が本題だったのに、えらい遠回りしてます!

 

モバイルバージョンを終了