持ち運んで使うWWWサーバ 2004/05b
[Table of Contents]はじめに
「その場かぎり」のページ群を、ある部屋(ここでは「教室」をイメージ)で、
一定数の人たちに一斉に(といいながら、決められた枠の中でバラバラに)
見せたり、電子的に配布したりしたいときが時々あったりします。
いちばん最初は、A4 の紙にカラープリンタで印刷したやつを
皆に眺めさせたりしていたんですけど、これだと何というか提示された
資料をじっくり見せることができないという問題があります。
そこで私が注目したのはPCです。
幸いなことに、私がそういうことをしたい部屋には、
10台程度の、しかもインターネットに接続できるPCが置かれています
(右図のようなイメージ)。
どこかに、その部屋で使うためだけのWWWページ群(とWWWサーバ)を
用意しておいて、必要に応じて彼らに参照させたらいいじゃん、
と思ったわけです。
こんなときは、まあ、
私の手元にあって私がそれなりに自由に使えるサーバの片隅を使うとか、
どっかのレンタルサーバを借りたり‥
という対処が普通といえば普通なんでしょうが、
- インターネット経由の通信は確実性に欠ける
(インターネットはいつ調子が悪くなるかも、調子が悪いときに
いつ回復するかもわからないが、それだと具合が悪い)
- できれば「見せたい時」までは情報を隠しておきたい。
「見せたい時」ごとに
場当たり的な URL を使ったり、パスワードを変更したり‥は
面倒なので避けたい
- レンタルサーバは契約がウザい(おいおい)。
広告は入れたくないので、フリーのスペースもダメ。
確実性という点で、個人運営のサーバは信頼性がイマイチ。
これらの理由により、できればその「見せたい」場所のすぐ近く、
クライアントと同じ建物内か、可能であれば同じ部屋内に
WWW サーバを置いておき、ここでおまえら見やがれ、というときに
サーバをチョコっと起動させて‥‥なんてことができたらいいなあ、
なんて考えるわけです。
そこで。これまでは、何かページ群を他人に示したい状況が
生じたときは、わざわざその場所まで(PC-UNIX が入ってる)自前の
ノートPCを持っていき、
そこのネットワークに接続してるPCのケーブルを抜いて、
IPなどの設定を拝借したうえで、
apache を起動させて、使っていました。
でもやっぱノートPCは荷物になるので、
できれば持って歩きたくない。
最近はフラッシュメモリという随分小さくて軽いものが普及してるわけだし、
できればフラッシュメモリを持ち歩くだけで全部済ませたい。
持ち運べるWWWサーバプログラム
そこで。こんな環境を夢想してみました。
- 「見せたい場所」には Windows マシンが10台くらい、
しかもインターネットに接続可能な状態で
あるんだから、そのうちの一台を WWW サーバにしちゃえばいいじゃん
- 実行ファイルをダブルクリックするだけで稼働してくれる
WWWサーバプログラムを探して、
- そのプログラムと、見せたいデータ群をまとめてフラッシュ
メモリに入れて、それを「見せたい場所」に持参する
- 持参したフラッシュメモリをPCに接続して、
サーバプログラムをダブルクリックするだけで
PCがWWWサーバになってくれるとラクだなあ
- でも、そのせいでそのPCのマシン環境を変更してしまう
のは良くない。WWW サーバはアイコンをダブルクリックすると
起動する普通のプログラムのタイプのもので、
レジストリの内容もいじらないやつが望ましい
でも、いくら何でもそんな都合のよいサーバプログラムなんてないよなあ‥
と思って調べてみたら。おおっ!
‥‥かなりピッタリ!
(^o^)
こんなものがあるなんて! はっきり言って、激しくビックリ。
(注意: 2005/01 現在では、このプログラムは
跡形もなくなってます(>_<)
)
このプログラム、
実際に使ってみると、PDF ファイルが octet-stream になったりするあたりに
ちょっと物足りなさを感じてしまうのは確か
(とはいえ、Windows XP の MS-IE で octet-stream のはずの PDF ファイルを
参照しようとすると、ちゃんと Acrobat Reader が起動しますね。
なんか不思議)ですけど、
フツーに HTML と JPEG 画像を使うぶんには、もう、まさに私の希望どおりです。
すばらしい!
フラッシュメモリへのデータのコピー
ところで。私は普段WWWページ群の構築は UNIX 系システム
(Solaris か FreeBSD)上で行っています。問題は、
そのページ群をどのようにしてフラッシュメモリに落すのか。
いろいろな方法を考えてみたんですが、
- 私が UNIX 上で作った WWW ページ群を、
http 経由で Windows 環境に吸い上げて、
- 吸い上げたファイル群を、Web サーバが指定する場所にコピーする
のが一番単純な方法のような気がしますので、そうすることにしました。
そこで、Windows 版の wget を用意したうえで、
こんな感じのバッチファイルを書いてみました。
(最初はコピーなんかしなくても「ショートカット」を作ればうまくいくと
思ったんですけど、なんかうまくいかないのでコピーで凌ぐことに)
作成途中のページは見られたくないなあ、ということで、
当該ページには一応簡単なパスワードをかけてあります。
wget -m -np --http-user=oooo --http-passwd=xxxx http://somewhere.jp/a/i
xcopy somewh~1.jp\a\i ..\webser~1\home /s /i /f
|
実際の運用はこんな感じに。
- UNIX マシンでWebページ群の編集。終わったら‥
- そのへんにある Windows マシンにフラッシュメモリを挿して、
上記吸い上げ用のバッチファイルをダブルクリック --- ファイル取得
- フラッシュメモリをWindows マシンから抜いて、
「見せたい場所」に持っていく
- 「見せたい場所」にある Windows マシンにフラッシュメモリを挿す
- Web Server のアイコンをクリック --- WWW サーバ起動
‥‥なかなかいい感じになった気がします
(^o^)