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

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