VMware Fusion上のRuby on Railに外部からアクセスしたい!

今週末は10年に一度の大雪の朝。
早起きして、1時間かけて自宅前を雪かきしたら、汗をびっしょりかきました。
腕とかは全然問題ないけれど、長時間中腰でシャベルを操っていると腰が痛くて。。。。

は、さておき。

なんか、ネットでごちゃごちゃやってて楽しい、あるいはネットっておもしろいぞって感じるためには、やっぱりローカルコンピュータにサーバ立てて遊んでいるんじゃ分からないんですね。

先日MacBook ProにVMware Fusionをインストールして、ゲストOSにCentOSを立ち上げてみたことは既報の通り。そこにRuby on Railをインストールして、http://Localhost:3000 でRailsサーバが立ち上がっていることを確認しバンザーイ \(^_^)/ と喜んでました。

でもまあ、Localhostを叩いても、なんかつまらないというか、別にねぇ。
「ネット越し」ってヤツをちゃんと体験したくて。

ちょっとgoogle先生に尋ねると、要はCentOSのファイアウォールのポートを開ける作業をやれと言うことなんだそうだ。

まず、VMware側で、設定ネットワーク設定が必要になります。
「仮想マシン」→「設定」→「ネットワークアダプタ」で、デフォルトでは「インターネット共有 Macを共有」になっている設定を、「ブリッジされたネットワーキング 自動検出」に切り替える。

で、いよいよCentOS側ファイアウォールの設定を変更。
ちゃんとやるには iptables を使って、設定ファイルを書き換えれば良いのだけれど、あまりよく分かっていないレベルの人にはCentOSのツールを使って設定してあげれば良い。「システム」→「管理」→「ファイアウォール」で、必要なサービスにチェックを入れてあげる。「信頼したサービス」でWWW(HTTP) 80/tcp にチェックを入れた。これでapache を起動しておくとアクセスに対して反応がある。

Ruby on Rails も外から叩きたいので、「その他のポート」で、3000ポートを開けてあげる。

それからVMware Fusion上で稼働しているCentOSのIPアドレスを知る必要がある。

ifconfig

で表示された inet addr:xxx.xxx.xxx.xxx (xxxは数字)がCentOSに割り当てられたIPアドレス。この情報をもとにMac osX側、あるいは別のマシンのブラウザからアクセスし、希望していた表示が現れたら成功!

apacheの起動だけ確認したければ、http://xxx.xxx.xxx.xxx (CentOSのIPアドレス)。
Ruby on Railの起動を確認したければ、CentOS側でRails Serverを起動しておいてから、外部のマシンからブラウザで http://xxx.xxx.xxx.xxx:3000/ にアクセスしてみる。

念のため、apacheの起動の仕方。
CentOSのターミナルで、下記コマンドを叩いておく。

service httpd start

サーバから反応があると、なんとなくネットワークをいじくってる楽しみがわいてくるような気がしませんか???

0 件のコメント:

コメントを投稿