Mac+Ubuntu(VirtualBox)でCatalystをいじくる

PerlのフレームワークであるCatalystをいじってみたくなったので,まずは 環境構築.基本的には自宅サーバのUbuntuで動かせばいいのですが, せっかくMacBookの中にも仮想マシンのUbuntuがあるので,こいつで いつでもどこでも開発環境を作ってしまいます.しかも,ファイルをDropbox 経由(ただしその実はSVNだが)で開発しているCatalystのファイルを 仮想マシンと自宅サーバで共有してしまえば,どちらでも試すことができる.

CatalystをUbuntuに入れるのは失神するほど簡単だった!

というわけで,まずはCatalystのインストールから.これが恐ろしく簡単だった. もちろんCPANから入れてもいいのだが,これは以前死んだ覚えがある. makeに恐ろしく時間がかかったからだ.

ありがたいことにaptでライブラリが準備されているので,そちらから入れてみたら さっくりとあっというまに動いた.マジ泣ける><

$ sudo apt-get install libcatalyst-*

はい終わりw

とりあえず自宅サーバでCatalystの稼働を確認する

仮想マシンの方は現在NAT接続なので,ちょっとポート周りが面倒なので あとでブリッジ接続にしてからチェックしますので,まずは普通に サーバの方で動かしてみます.

自宅サーバはルータの下にMacBookと同様にぶらさがっています.MacBookから SSHして以下のコマンドを実行.

$ mkdir ~/work
$ cd ~/work
$ catalyst.pl Hello
$ cd Hello
$ script/hello_server.pl

これですでにHelloというプロジェクトが出来上がって,組み込みのウェブサーバが 立ち上がっています.ポートは3000番で動いているはずなので,MacBookのブラウザから http://serverのIP:3000にアクセスすると,Catalystが動いていることが確認できます.

VirtualBoxをブリッジにする

NATだと,ポートフォワーディングの設定をしたポートからしかゲストOSに アクセスできないし,そのポートはホストOS(僕の場合MacBook)以外からも 見えてしまいます.なので,ブリッジ接続の方がよい気がします.

VirtualBoxとしての設定は2.1であれば簡単で,仮想マシンの設定>ネットワークで, 割当を「ホストインタフェース」にして,下の方のホストインタフェースの設定で Ethernetを選んでおきます.もちろん,MacBookがAirMacでネットに繋がってるなら AirMacを選んでもいいのですが,MacBookの場合,家でつないだり出先でイーモバイルや ワイヤレスゲート使ったりするので,IPアドレスがその度に変わってしまって面倒です. なので,VirtualBox側からはEthernetをインタフェースに見せておきます.

このままでは有線LANを挿さないとネットにも繋がらないのですが,Macには 「インターネット共有」という優れた仕組みがあります.これは,Macがインターネットに 繋がっているインタフェースを他のインタフェースと共有することができるというもの. 例えばこれを使うとBluetooth経由でイーモバイルにつないだ僕のMacBookで そのBluetoothの接続をAirMacに共有させてあげることで,MacBookが実はWifiの アクセスポイントになっちゃうんですね.すばらしい.

で,今回はこれを利用してブリッジのゲストOSをインターネットに繋げてしまいます. やり方は簡単で,環境設定>共有>インターネット共有から,共有する接続経路を 現在ネットにつながっている経路,相手のコンピュータが使用するポートをEthernetに してしまいます.すると,ここに新しい192.168.2.0というネットワークが形成されます. ホストのMacBookは192.168.2.1,ゲストのUbuntuは192.168.2.2というIPになっています.

一応,ゲストのIPは変わらない様に,設定をしておきます.

$ sudo ifconfig eth0 192.168.2.2

そして,ホストのhostsファイルにゲストの名前を書いておけば,簡単にアクセスが できるようになります.

$ sudo echo 192.168.2.2 guest > /private/etc/hosts

これでMacBookのブラウザからhttp://guestとすればゲストのApacheが見えるし, Catalystを3000番で起動したらhttp://guest:3000で見えます.前に設定した, ~/.ssh/configの設定ももう必要ないので消しておきましょう.

運用上は,MacBookが繋がっているインタフェースが変わったら 環境設定から共有先を切り替えてあげるだけでOKです.VirtualBoxは起動したままで 大丈夫なのでラクチンですね.

VirtualBox2でMacでのブリッジ接続 : cap’n webb

さぁ,これでCatalystができるぞ!

というわけで,さくっと環境はできあがったので色々いじっていきましょう. どうやら,TTとCDBIの勉強が必要らしく,先は長そうですが・・・.

dataich 09-01-14 (水) 22:43

VirtualBox便利ですよねー。
もっとも今はVMwareに乗り換えてしまいましたが、、、。

VirtualBox2でMacでのブリッジ接続 – dataich it blog
上記ブログですが、下記に移転しました。
http://blog.dataich.com/2008/10/20/virtualbox2%E3%81%A7mac%E3%81%A7%E3%81%AE%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E6%8E%A5%E7%B6%9A/
よろしくお願いします^^

riywo 09-01-15 (木) 15:26

>dataich さん

VMwareですかー.仮想マシンはどれがいいんでしょうね.
個人的にはVirtualBoxは使いやすかったです.特にネットワークの
部分がw

リンク,張り替えておきました^^

swinchcode 10-02-21 (日) 2:14

こちらとても参考になりました。
有り難うございます!