トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

E71にMWSをインスコ! のバックアップ(No.3)


E71にMWSをインスコ!

PAMPではmod_pythonが使えないみたいだったので、PAMPをアンインストールし、MWS(Mobile Web Server)をインストールすることにしました。

結論としては、以下のサイトからSISファイルをダウンロードしてインスコするだけで使えました!

しかし、ここに至るまでにかなり試行錯誤したので、記事の後ろにその軌跡を残すことにしました。

よって、MWSを使うために必要な情報は上の方だけです笑

MWSをインスコ!

なにやら、以下のサイトでMWSのパッケージが配布されているみたい。

http://mymobilesite.net/

なんか、ここで登録すると、このサイトのサービスでドメイン登録し、MWSのコンテンツを公開したり、このサイトとコンテンツの連携ができるみたい。

興味がある人は登録するとよし。

今回は、とりあえずE71上でMWSをインスコし、PythonでWebプログラミングをしたいだけなので割愛。

以下のサイトより、インストール用SISファイルをダウンロードします。

ここのサイトの中の真ん中の「Download Mobile Web Server version 1.5.1 beta 1&2)」をダウンロードします。

ダウンロードしたSISファイルをBlueTooth?で転送し、E71でインスコ!

インストール先はメモリカードを指定したほうが、何かと便利です。

途中で、ドメイン名とパスワードの入力を求められますが、ここでは適当に入力してOK!

※事前にmymobilesite.netでユーザ登録(ドメイン登録)した場合、それを入力します。

インスコ完了後、MWSが起動し、ブラウザを起動するか聞かれるので、OKを選択。

すると、何やら画面が表示される!が、これは無視して閉じる。

ちなみに、インスコ完了するとInstrationフォルダ内に、「Web Server」が表示されます。

初期設定

さっそく起動すると、以下の画面が表示されます。

Screenshot0019.jpg

この画面の右上の「Stopped」がMWS(HTTPD)のステータスになります。

次に、初期設定を実施します。メニューの「Settings」を選択します。

Screenshot0020.jpg

設定項目は以下のとおり

項番項目意味内容
1Namemymobilesite.netに登録したドメイン名を設定する*******
2Password登録したパスワード******
3Access PointMWSを起動したときに接続するアクセスポイントAllways askとUser-defineの2種類がある。Allways ask
4*Connection type接続のタイプを指定する。Internet or local or Allways askの3種類があるAllways ask
5Roaming worningローミングした場合に警告する?デフォルト(ON)
6Remote startリモート起動デフォルト(OFF)
7Automatic start自動起動設定デフォルト(OFF)
8Connection filterコネクションフィルター?デフォルト(OFF)
9Traffic limitトラフィック制限?デフォルト(OFF)
10Battery limitバッテリー制限?デフォルト(Battery Level 15%)

まあ、基本的にはだいたいデフォルトでOKですが、項番1、2、4については変更してます。

特に、項番4を設定変更しないと、MWSを起動するたびにInternetに接続しようとする。これはちょっと面倒くさいので、起動するたびにInternetLocalを選択できるように、「Allways ask」を設定する。

初期設定はこれで完了!

改めて、MWSを起動します。

先の画面の左シフトボタンー>「Start server」を選択!

Screenshot0021.jpg

Select connection type」と聞かれるので、Local(右シフトボタン)を選択!

Screenshot0022.jpg

Establish network connection?」と聞かれるので、No(右シフトボタン)を選択!

Screenshot0024.jpg

すると、起動完了!
右上のステータスが「Runnning locally」となる。

Screenshot0025.jpg

これで、internetに接続されていない状態でMWSが起動した状態となる。

ここで、Hide(右シフトボタン)を選択すると、バックグランド起動状態となる。

ディレクトリ構成

MWSをメモリカードにインスコした場合、

  • E:\DATA\Web server\

にMWSのユーザデータが保存される。

Screenshot0026.jpg

インストール後のディレクトリ構成は以下のとおり

E━data━Web server┳Data
                   ┣conf
                   ┣htdocs┳Framework
                   ┃      ┣Web_Applications
                   ┃      ┗rest
                   ┗logs

htdocsの中には、デフォルトでインストールされるWebアプリが入ってます。

※個人的には、しばらくしたら(ソースを一通り読んだら)消すつもりです笑

静的デモページ作成(static web page)

まず、デモ用のディレクトリをhtdocsディレクトリに作成します。

作成後のディレクトリ構成は以下のよ鵜になります。

E━data━Web server┳Data
                   ┣conf
                   ┣htdocs┳Framework
                   ┃      ┣Web_Applications
                   ┃      ┣rest
                   ┃      ┗demo ← 今回作成
                     ┗logs

作成したディレクトリに、デモ用html及び画像を格納します。ソースは以下のとおり。また、画像はこのページに「demo.jpg」で添付します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
<head>
<title>MWS demonstration page</title>
<meta Name="description" Content="Static web page for the MWS" />
</head>
<body bgcolor="#ffffff">
<h1>Example webpage</h1>
<br />
This web page is made to demonstrate the Mobile Web Server.<br />
<br />
<img src="demo.jpg" alt="E71" />
<br />
</body>
</html>

さて、資材の設置が終わったら、さっそくMWSを起動して(前述のとおり)、E71のブラウザから以下のURLにアクセスします。

以下の画面が表示されれば成功!

Screenshot0027.jpg

Pythonによる動的デモページ作成

Pythonによる動的デモページ作成では以下の2ファイルを作成します。

  • demo.py : 動的ページの本体
  • ht.acl  : アクセスリスト

これら2ファイルを作成し、demoディレクトリ配下に配置します。

それぞれの内容は以下のとおり

■demo.py

def handler(req):
  # Import necessary Apache modules
  from mod_python import apache
  # Set correct content type to request
  req.content_type = 'text/html'
  # Generate simple HTML page
  req.write("<html><h1>Example webpage with Python</1h></HTML>")
  # Return apache.OK to indicate that page handling was successful
  return apache.OK

■ht.acl

# setting Handler
SetHandler mod_python
# Add Python Handler
PythonHandler demo
# Debug On
PythonDebug On
# Option OFF
Options None

ファイルを配置したら同じく、ブラウザから以下のURLにアクセスします。

以下の画面が表示されれば成功!

Screenshot0028.jpg

実際に動的画面が表示されると、感動しますね〜

試行錯誤の軌跡

さて、このMWS、NOKIAのサイト(以下のリンク)を見るに、色々事前にインストールしなきゃいけないみたい

色々事前にインストールしなきゃいけないみたい

  • OpenC
  • Python for S60

まあ、Pythonは既にインスコしているが、Open Cがよくわからん。