Windows7にVmwarePlayerとCentOS7を入れたらネットワークを認識しなくて困った話

やわなべです。

先日買った、ボロい中古のLet’s Note。当初の目的だった株の取引ツールという用途に関しては、どうも微妙に使えない印象です。

といっても、Let’sNoteが悪いんじゃなくて使ってる証券会社のソフトの問題なんですが、それは別の機会にでも書くとして、せっかく買ったWindows機が早くも持て余し気味なのは MOTTAINAIんで、このブログのテスト環境を乗っけられないかと考えました。

このブログのカスタマイズは、今これ書いてるMacbookAirの中に作ったテスト環境で行っているんですが、こいつもボロくなってきて、データベースとか動かすとファンが唸りだしてしんどそうなんですよね。なので、ごっそり隣のLet’sNoteさんに移行できたらなー、と考えた次第。Let’s Noteは、スペック的にも仮想化ソフトを入れて、その上にlinux載せても全然動きそうなんで。

具体的にはプライベート用なら無償で使えるVMwarePlayerってのを入れ、その上にLinuxのディストリビューションのひとつ、CentOS7を入れ、その上にWordpressが動く環境を構築できないかというもの。んで、MacとLinuxとをDropboxで連携させて、MacからCSSやらPHPやら編集したら、それがすぐにテストサーバに反映、とかできたら素敵。

ちょっと何言ってるかわかんない、って人向けに図にするとこう。

ss45487.png

この図は今書いたんですが、先にこれ書いてたら、たぶんやってなかったと思います。 ギガビックマックかよ。

実際、予想してた以上に手こずったんで、段階的に備忘録を残しておこうかと。

スポンサーリンク

Windows7にVMwarePlayerをインストール

Windowsの8以降だと「Hyper-V」というマイクロソフトご謹製の仮想化ソフトがもれなくついてくるらしいんですが、Windows7にはありません。なのでプライベート利用限定で無償で使えるVmwarePlayerってのをインストールします。

ただ後述するように、このVMwarePlayerの設定でどハマりしたんで、同じこと考えてる人でWindows10にしがらみのない人は、とっととアップグレードしてしまった方が早いかもです。

VmwarePlayerは同社のサイトからダウンロードできます。特にユーザー登録とかもいらないんですが、VMwareはとにかく製品が多い上、OSやバージョンによってファイルが細かく派生するため、お目当ての製品ダウンロードページへたどり着くのが一苦労です。現時点での最新バージョンへの直接リンクは以下。32bit/64bitいずれも同じです。

c1.PNG
ダウンロード VMware Player for Windows 32-bit and 64-bit

ちなみに「VMware Workstation Player」というのは有償の上位版なので注意。

c2.PNG

インストーラのダウンロードまでこぎつければ、その後のインストールでつまずくところはないでしょう。

CentOSのISOイメージをダウンロード

お次はVMwareの上に乗っけるCentOS7のインストールイメージファイル(ISOファイル)をダウンロードしにCentOSのサイトへ。

c3.PNG
Download CentOS

ダウンロードするのは「DVD ISO」か「Minimal ISO」でいいでしょう。ファイルサイズは前者が4GB程度、後者が800MB程度だったかと。迷ったとしても大丈夫、どっちでやっても後述のステップでハマります。

CentOSをゲストOSとしてインストール

ISOイメージを落としたら、VmwarePlayerを起動して、ゲストOSとして構築していきます。

c4.PNG

「新規仮想マシンの作成」を選んで、

c5.PNG

「インストール元」としてISOを選択、「参照」からさっきダウンロードしたCentOSのISOファイルを指定します。

c6.PNG

ゲストOSは勝手に判定してくれるので次。

c7.PNG

デフォルトではハードディスクのうち、20GBをCentOSへわり当てることになりますが、容量のない人は、ここの「ハードウェアをカスタマイズ」から、割り当て容量を減らすといいでしょう。webサーバーとしての用途なら10GBでもぜんぜん余裕だと思います。あとから容量を追加することはできても削ることはできないので、不安な人は少なめに作っといたほうがいいかと。

「ネットワークアダプタの設定」もここでできますが、どう設定しようが、うまくつながりませんでした。なのでとりあえずデフォルトでいいと思います。

c8.PNG

OSのインストールが始まります。たいして設定する箇所はないですし、Minimalだと10分もかかりません。

この先、マウスでゲストOS(この場合CentOS)のウィンドウをクリックすると、キーボードの制御がそっちにうつって、Windowsの操作ができません。「Ctrl+Alt」を押すことで制御がWindowsへ戻ります。

c9.PNG

しばらくするとGUIのインストーラが起動するので言語=日本語を選択して「続行」

c10.PNG

インストール先には、さっき用意した仮想領域を指定します。

c11.PNG

で、ここで「あれ?」と思ったのが「ネットワークとホスト名」のところ。「ネットワークが利用できません」となってて、イヤな予感がしたんですよね。

結論から言えば、この段階でどうあがこうとネットワークにはつながらないので、無視してとりあえずインストールを完了させるのが正解です。

キャプチャがないのですが、この前後でroot(管理者権限)ユーザーのパスワードを設定するところが出てきたはず。

c12.PNG

ほどなくインストールは完了。最小構成でインストールしたんで、いわゆる「黒い画面」しかありません。それはいいんですが、さっきの嫌な予感どおり、ネットワークに全くつながってません。

pingコマンドを叩いても、インターネットはおろか、自宅のルーターにすらたどり着けない。それもそのはず、ネットワークのインタフェース(=Let’sNoteについてる無線/有線LANポート)を全く認識していない。OSの設定だけではどうしようもない状態でした。普通「eth0」とかで見えるはずなんですけどね。

いろいろ設定を変えて、再インストールを繰り返したものの、全く状況は変わらず。あきらめようとか思った時に、ドンピシャの記事が。

【環境構築】VMwareでCentOS7のNICが刺さらなくて困った | Webプログラミング備忘録 | メシのタネ

この記事の手順で解決しました。詳細は上のページを見てもらえればと思いますが、ポイントはこの2点。

  • Vmwareの仮想ネットワークの設定を変える
  • vmxファイル(VMwareのゲストOSの構成ファイル)をエディタで編集する

もしかしたら前者の「仮想ネットワークの設定変更」はいらないかも。vmxファイルの編集はマストっぽい。

仮想ネットワークの設定変更

簡単に書きましたが、これをするには、「VMworkstation」という、Vmwareの別のプロダクトを取得する必要があります。必要なのは本体ではなく、同梱されてる「vmnetcfg.exe」という管理ツールだけなんですけどね。

VMware Workstation: Linux、Windows 8 などの複数のオペレーティング システム | VMware 日本

64bit版のWindowsを使っている方は、上のリンク先から「無償評価版」をダウンロードすればOKです。

が、32bit版だとそこから管理ツールの取り出しにも失敗するので、32bitにも対応するバージョン10まで遡らないといけません。

今そのリンクを探そうとしたんですが、VMwareのサイトがメンテ中のようで、たどりつけませんでした。同サイトのサイト内検索から、「VMworkstation for windows 32bit」とかでがんばって検索してください。

で、その過去バージョンに関しては、ダウンロードに際してメアドの登録が必要でした。私はVMwareFusionを買った時のIDを持ってたんでいいんですが。

で、ここから上で紹介したサイトの要領で、インストーラから「vmnetcfg.exe」を取り出して実行します。

c15.PNG

VMNet0」というブリッジ接続のブリッジ先がデフォルトで「自動」となってるところを、Windowsマシンのネットワークデバイスを明示的に指定します。私の場合、Let’s Noteのwifi経由でネットワークに繋げたかったので、無線LANデバイスである「Intel Centrino Adnvanced-N」を指定します。

ゲストOS構成ファイル(.vmx)の書き換え

構成ファイルの変更は書き方に不備があるとOSの起動ができなくなるので、慎重にする必要があります。編集前のvmxファイルはコピーでバックアップを取っておきましょう。私、一度壊して、ゲストOSを再インストールするはめになりました。

まず、ゲストOSをシャットダウンして、VmwarePlayerも終了。「VirtualMachines」フォルダの下にある、ゲストOS名のフォルダ(私の場合「CentOS」)を開いて、中にある 「ゲストOS名.vmx」というファイルをテキストエディタで編集します。(私の場合「CentOS.vmx」)

追加するのは1行、「ethernet0.virtualDev = “e1000”」というのを末尾にでも加えればOK。その状態でゲストOSを起動します。

「ip addr show」というコマンドでIPアドレスをチェックすると、、、、

c16.PNG

eno16777736」というNICが認識されるようになりました。(この設定をするまでは上の「1:lo」しかなかった)

ここまで来れば、あとはLinuxの設定マターです。「/etc/sysconfig/network」にWifiルータの構内IPアドレスを指定し、ゲストOSを一旦シャットダウン。

c17.PNG

VmwarePlayerのメニューから「管理」「仮想マシン設定」の「ネットワークアダプタ」の画面を開き、「ネットワーク接続」のオプションに「ブリッジ 物理ネットワークに直接接続」をチェック。この状態でゲストを起動させると、Wifiネットワーク(192.168.11.x)にCentOSが直接ぶらさがります。

IPアドレスを固定にしたければ、「/etc/sysconfig/network-script」内の定義ファイルに書けばOK。このあたりは「CentOS ネットワーク設定」とかでググれば用例は山ほど見つかります。今回は「192.168.11.97」という固定IPを割り当ててみました。さっきのIPアドレスのキャプチャは、すでにその設定をしたあとの状態です。

とりあえずyumコマンドでwebサーバーであるhttpdを入れ、firewalldというファイヤーウォール設定でHTTPの通信が通るようにして、MacのブラウザからCentOSのIPアドレスを叩いてみると、、、

ss49405.png

やっとMacから、となりのLet’sNote上のCentOSにwebアクセスができるようになりました。(もちろん、これが見えるのは、私の自宅のWifiにつながってるマシンだけです)

MacとLet’sNoteとの物理的距離は20cmもないんですけど、この距離がホント遠かった。作業開始からここまでくるのに半日以上かかってます。

というわけで、次回はここに本格的にブログのテスト環境を構築していきますよ。

てか、Windowsが必要でないとわかってたら、最初からちっちゃいベアボーンPC買って、linuxサーバーに仕立ててたんですけどねぇ。

先日もこれをドスパラで見かけて衝動買いしそうになりました。ファンレスなんでSSD乗せたら、ほぼ無音で動くはず。サイズはMacMiniの1/4くらいだし、ディスクとメモリ買っても3万円以内で収まる。海外の方の「開封の儀」動画見たら、その小ささに驚きます。

見てたらまた欲しくなってきた。が、悲しいかな、これ買う予算をLet’sNoteにあててしまったんで、もうむりやりにでも奴をテスト環境として育てていく所存です。