Macでもmruby-simplehttpserverをcapstanを使ってお手軽簡単にOSv向けにビルド&実行
前回の記事ではLinuxに絞ってcapstanを使ったmruby on OSvのビルド&実行方法を紹介しましたが、アプリケーションのコンパイルが他プラットフォームでは出来ないと説明しました。
代わりに、github上にビルド済みのアプリケーションバイナリを置いて、OS Xでcapstanを使ってOSvのイメージを作成&実行することに成功したので、これを紹介します。
環境変数を設定
echo 'export GOPATH=$HOME/go' >> $HOME/.profile echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.profile source $HOME/.profile
capstanをインストール
go get github.com/cloudius-systems/capstan
mruby-simplehttpserver用のcapstanリポジトリをチェックアウト
git clone -b prebuilt https://github.com/syuu1228/capstan-mruby-simplehttpserver.git
リポジトリのビルド
QEMUのウインドウが一時的に表示されることがあるようですが、特に触らなくて問題ありません。
cd capstan-mruby-simplehttpserver
capstan build
VMの実行(VM上のポート番号80をホスト上のポート番号10080へ転送)
ハイパーバイザを指定しない場合VirtualBoxが用いられますが、正常に動作するようです。
capstan run -f 10080:80
http serverへのアクセステスト
curl http://127.0.0.1:10080/html -v * About to connect() to 127.0.0.1 port 10080 (#0) * Trying 127.0.0.1... * Adding handle: conn: 0xd0d8f0 * Adding handle: send: 0 * Adding handle: recv: 0 * Curl_addHandleToPipeline: length: 1 * - Conn 0 (0xd0d8f0) send_pipe: 1, recv_pipe: 0 * Connected to 127.0.0.1 (127.0.0.1) port 10080 (#0) > GET /html HTTP/1.1 > User-Agent: curl/7.32.0 > Host: 127.0.0.1:10080 > Accept: */* > * HTTP 1.0, assume close after body < HTTP/1.0 200 OK < Server: my-mruby-simplehttpserver < Date: Mon, 19 May 2014 17:57:13 GMT < Content-Type: text/html; charset=utf-8 < Content-Length: 28 < <H1>Hello mruby World.</H1> * Closing connection 0