ポータブルアプリケーション詰め込み。
自分の場合エディタと Perl があれば随分できることが増えるので、何とか Perl を入れておきたい。 しかし定番の Windows 用 ActivePerl はセットアップが必要であり、持ち歩きには向かない。
何かいい Perl ディストリビューションがないかなと探してみたところ、インストール不要の Apache ディストリビューションが目についた。 そういえばこれらには Perl が含まれていてインストール不要で使えるものがあるらしいので、それらが使えるかもしれない。
標準の XAMPP では Perl インタプリタしか入っていなかった。 さすがにこれでは使い物にならない。
XAMPP で実用的な Perl 環境を用意するにはこちら。ActivePerl 5.8.8.817 上に Web アプリケーションに必要そうな パッケージが用意されている。 そのかわり 200MB (!) 近い容量が必要。 でかすぎ。
README には setup_xampp.bat に実行の指示がある。
ActivePerl 5.8.7.815 が含まれている。 Perl インタプリタと、いくつかのパッケージが含まれている。 パッケージは結構少なめにおさえてあるので、容量はかなり少ない。 しかし
perl -MConfig -e "print Config::myconfig()"
が動かないなどそのまま使えるわけではなさそうだ。
試した2つとも結局は ActivePerl を使っているようである。 ActivePerl の部分のライセンスはどうなっているのだろう?
もしかしたら ActivePerl の AS package を展開して、不要なファイルを削除すれば (インストーラで設定されるリポジトリなどの情報を使う部分は駄目にしろ)、ある程度動くのかな。
それと Installer.bat の中で、一部ファイル(.bat、Config.pm、Config_heavy.pl、perllocal.pod、.packlist、config.h) のリロケーションをしているので、このあたりがポイントになりそう。
要確認。
昨日購入した122cmからの落下に対する耐衝撃性と水深1mの防水性がある1インチポータブル HDD HDMC-U12 を開封し使用開始。
さすがに1インチドライブ (CORNICE 製)ということで、普通のポータブル HDD よりかなり小さい。これで防水・耐衝撃性が実現されているので携帯には非常に良さそうである。
ドライブの外装は金属製でなかなかの質感。
外周には外部プロテクターを兼ねている、直付けのUSB ケーブルがある。 ポータブル HDD の多くはケース側の USB コネクタが mini-B だったりして個人的には不安を感じるのに対し、こちらは直付けなのでそこが駄目になってしまうということがない。
しかしながら、外部プロテクターを兼ねるために平型のラバー状になっているのが仇となり、取り回しが非常によろしくない。 7cm しかないケーブルは90度ねじるのが難しく、また軽いため簡単に浮いてしまうことから、USB ポートが水平についている多くのノート PC ではそのままでは安定した状態に固定しておくことができない。
さすがにアクセス時には衝撃には弱いだろうから、これはちょっと不便。 短い USB 延長ケーブルか、USB ハブが必要であろう。 そうするとせっかくの携帯性が損われてしまいちょっと嫌な感じである。
Windows BOX に接続すると、HDD と、CD ドライブ (仮想 CD 領域)が認識される。
エクスプローラで容量を見ると、
となっている。
仮想 CD 領域にはサポートソフトウェア等が納められており、マニュアルによれば 約 250MB の容量を使用しているらしい。
どうせ使わないからと思ってこの領域を開放しようと思ったのだが、これがやり方がわからない……。 PC 側からはそれぞれ独立したドライブに見えてしまう。 Linux 上で HDD のデバイスを cfdisk してみたが、別に CD 用のパーティションがあるわけでもない。
古い Acrobat Reader が入っているような領域に 250MB も使われた上、接続するたびに2つのドライブが接続されるというのはどうも邪魔くさい。
なんとか消すことできないかな。
と、期待していただけに粗探しをしてしまったが、大きさと容量のバランスはポータブル環境のコンテナとしては丁度良さそうである。
さっそく TrueCrypt で 4GB の仮想ドライブボリュームを作成 (FAT32 なので 4GB まで。4GB を指定すると微妙にオーバーしてしまうので、4094MB を指定して作成)。 で 512MB の USB メモリに詰め込みはじめていたポータブルアプリケーションをこちらにコピー。
残りの容量には必要に応じて仮想ドライブボリュームを作って、XAMPP でポータブルデモンストレーション Web サーバを構築する予定。
[ 製品レポート ]
Perl で書いた Web アプリケーションのポータブルな Win32 デモ環境として XAMPP を使ってみるとどんな感じになるか試してみた。
使ったバージョンは以下。
(http://www.apachefriends.org/jp/xampp-windows.html)
それぞれ 自己解凍型 7-ZIP アーカイブをとってくる。 最初に XAMPP を展開し、次にその xampp ディレクトリの中で Perl アドオンを展開。 xampp ディレクトリを c: の直下に移動する。
次にコマンドプロンプトを開き c:\xampp\perl\bin へ移動後 ppm コマンドを起動して作成済みの PPM パッケージをインストールする。 インストール先は \xampp\perl 以下とドライブ無しのパスで指定されているようで、問題なく必要な Perl ライブラリをインストールできた。
次に \xampp\xampp-control.exe を実行して GUI 管理ツールを立ち上げ、その画面から Apache を起動。 普通の Win32 版 Apache もインストールしてある PC だったため、xampp-control から Apache を起動したらそちらが立ち上がってしまったが、これは Svc にチェックが入っていたからだった。Svc を外せば \xampp 以下の Apache がきちんと起動する。
あとは \xampp\htdocs 以下で WiKicker CGI プログラムの配置や設定ファイルを作成すれば OK。 もともと WiKicker は相対パスだけで動くようになっている*1ので、問題なく実行することができた。
*1多分
一度セットアップできた \xampp ディレクトリを TrueCrypt 仮想ドライブにコピーして起動してみた。
こちらも問題なく OK。
ということで XAMPP でお手軽に Perl CGI プログラムの動く Web サーバ環境を作れることを確認できた。
問題があるとすれば XAMPP + Perl アドオンが馬鹿でかいところか。400MB オーバー。 今回何が一番時間がかかったかって、XAMPP + Perl アドオンを展開した直後の xampp ディレクトリを、後でまた使えるように 7-ZIP の最高圧縮する処理に時間がかかった。 使っている PC では 50分以上かかったよ。
デモ用 Web サイトのとりまとめ。 必要な時に ZIP ファイルを Windows 上で展開してすぐ使えるようにしておきたい。 インストール不要の Web サーバも一緒に入れておきたい。
ということでポータルな Apache を物色。WAMP である必要はなし。 MicroApache が小さくて良さそげなのだが公式サイトがつながらない。
ということで今回は Uniform Server 3.5 をセットにすることにした。 ZIP した状態で 14MB ぐらい。
展開して Server_Start.bat を実行すれば Apache が起動する。 デフォルトで W ドライブを仮想ドライブとして subst して動く。 違うドライブに割り当てて起動したい場合は Disk Start.vbs を使う。ダイアログが表示されるのでそこでドライブレターを指定すれば OK。
止める時は Stop.bat。
あとは udrive/www 以下に Web コンテンツを置けば良い。 udrive/www/.htaccess で 127.0.0.1 からしかアクセスできないようになっているので必要があれば変更する。
まとまったら ZIP ファイルにしてどこかに置いておけば、他の PC でも展開するだけでデモ用 Web サイトを準備できる。
Stop.bat の実行を忘れやすいので注意。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。