トップ «前の日記(2013-02-14) 最新 次の日記(2013-03-15)» 編集

インターノット崩壊論者の独り言

過去の日記
EPIC2014
Google Public DNS (8.8.8.8, 8.8.4.4) および Cloudflare (1.1.1.1, 1.0.0.1) 経由では本サイトにアクセスできないよう措置させて頂いております。

2013-02-25 なんちゃってクラウド

- phpVirtualBox を動かしてみた

キャンパスノットワークの中でサーバを立てるのが不自由になっている学生たちのために、手軽に実験に使えるプライベートクラウド環境(何ソレ?)があるといいなぁと思いつつ、OpenStack やら CloudStack やら流行のものを調べてみましたが、どれも面倒くさそうですねぇ。何かお手軽なのはないかと思って物色していたら phpVirtualBox なるものが見つかったので入れてみました。最近の VirtualBox には WebService として SOAP API が付いていて、これを叩くフロントエンドとして機能する仕掛けなのですね。ずいぶん前からあるのに知らなかったのは残念 ^^;

VirtualBox も phpVirtualBox もバージョンアップにつれて仕様が変化していて、特に FreeBSD では適切なドキュメントが見つからず少し手こずりましたが何とか動いてくれています。

screenshot

従来の VirtualBox をリモート管理しようと思うとコマンドラインになってしまいますが、これならブラウザで管理ができ、お手軽ななんちゃってクラウドとして使えそうです。さらに私のお手製の VIMAGE 仮想ネットワーク構築クラスライブラリ VITOCHA (通称バーチャル◯もちゃ) と組み合わせれば仮想ネットワークも色々組めて学生の教育、実験用には十分じゃないかと思います。

以下、設定のメモです。漏れがあったらごめんなさい。

1. ホストを用意 (消費電力を重要視してみた)
 FreeBSD 9.1-RELEASE
 CPU: Intel(R) Core(TM) i3-3220T CPU @ 2.80GHz (2800.08-MHz K8-class CPU)
 real memory  = 17179869184 (16384 MB)
 avail memory = 16222253056 (15470 MB)
 
2. VirtualBox-OSE を ports で以下のオプションをつけてインストール
 [*] VNC             Build with VNC support 
 [*] WEBSERVICE      Build Webservice 
 他はお好みで
 (今回入れたのは virtualbox-ose-4.2.6)
 
3. apache22 を ports でインストール
 
4. phpvirtualbox を ports でインストール (依存して php5 など色々入る)
 /usr/local/www/phpvirtualbox ができるので、
 ln -s /usr/local/www/phpvirtualbox /usr/local/www/apache22/data/
 (今回入れたのは phpvirtualbox-4.2.4)
 
5. ports で出来る vboxusers (nologin) では不便なので adduser vbox (login group は vboxusers) する。
 
6. /usr/local/www/phpvirtualbox/config.php の以下を変更
 var $username = 'vbox';
 var $password = '********';
 var $language = 'ja';
 
7. /etc/rc.conf に以下を設定
 dbus_enable="YES"
 vboxguest_enable="YES"
 vboxservice_enable="YES"
 vboxnet_enable="YES"
 vboxwebsrv_enable="YES"
 vboxwebsrv_user="vbox"
 apache22_enable="YES"
 
6. /usr/local/etc/apache22/httpd.conf 等に以下を設定
 AddType application/x-httpd-php .php
 
7. /boot/loader.conf に以下を設定
 vboxdrv_load="YES"
 vboxnetflt_enable="YES"
 vboxnetadp_enable="YES"
 
8. リブート
 
9. http://[サーバ]/phpvirtualbox/ で管理画面に繋がれば OK
 
10. ゲストマシン (udonとか) を作成
 
11. 標準の RDP によるコンソールが使えないので以下のコマンドで VNC を使えるようにする。
 su vbox -c 'VBoxManage setproperty vrdeextpack VNC'
 su vbox -c 'VBoxManage modifyvm udon --vrdeproperty VNCPassword=fugafuga'
 
12. ゲストマシンを起動したら、VNC クライアントでホストの 9000番ポートに接続

p.s. JPNICとの裁判への応援をよろしくお願いします。

[]

最近の日記

リンク

Copyright by T.Suzuki