i-jettyでAndroidも携帯サーバー化できる、らしい

フリービットは16日、iPhoneをサーバ化するためのアプリケーション「ServersMan@iPhone」について、2月4日のサービス開始後約10日間で、実際にiPhoneをサーバとして稼動させたユーザー数が10,000人を突破したと発表した

http://journal.mycom.co.jp/news/2009/02/16/038/

iPhone妬ましいわー。ということでAndroidもサーバーにならん物かと探してみた訳です。

あった

Run a web-server on your Android mobile phone with iJetty
「iJettyで君のAndroid携帯をウェブサーバーに!」ってとこですか。この記事自体はT-Mobile G1が発売される前に書かれた物のようです。
参照:wikipedia:Jetty

実際に動かしてみる

上の記事によるとi-jetty - Google Codeに置かれているのがそれだとか。
ちょっとAndroid Emulatorで動くか試してみましょう。

  • 事前にAndroidSDKのtoolsフォルダにパスを通しておく事。

まず、Downloads - i-jetty - Google Codeから

i-jetty-debug-1.1.apk

をダウンロード。
次にmksdcardでSDカードのイメージを作成。参照:throw Life - AndroidでSDカードを利用する方法

mksdcard <サイズ> testsdcard


そして、このイメージをマウントしてAndroidエミュレーターを起動。

emulator -sdcard testsdcard


さっき落としたapkをインストール。参照:エミュレーターでの起動 - アプリケーションの配布 - Android入門

adb install C:\download\i-jetty-debug-1.1.apk


Androidエミュレーターから起動。「Start Jetty」を押します。

これでSDカードのイメージの中に

   /sdcard
       /jetty
           /etc
               realm.properties
               webdefaults.xml
           /contexts
           /webapps
               /console

このようにファイルが配置されます。(readme-release-1.1.txtより)

ホストからAndroidの中へ

Androidのブラウザからもconsoleにアクセスできますが、エミュレーターを動かしてるパソコンの方からアクセスしたい場合は

adb forward tcp:8888 tcp:8080

とした後に、ブラウザでhttp://localhost:8888/console/を開いて、上部のメニューからcontactsに登録した人のリストやシステム設定の一覧が見られます。ユーザー名とパスワードを要求された時は、初期設定のままなら両方とも「admin」と入れて下さい。

こんな感じ