課題は下のとおりです。
- 自宅内で閲覧するためのウェブサーバを構築する
- Virtual Host で複数のドメインを扱う
- データは Google ドライブに保存する
まずウェブサーバを立てる必要があるのですが、データは Google ドライブにあります。 Linux から Google ドライブにアクセスする方法もあるようですから、ウェブサーバから Google ドライブにアクセスすること自体は可能です。しかし書直なところ google-drive-ocamlfuse をインストールするのにgdgdするのは面倒です。そこでウェブサーバはローカルにインストールします。非常に簡単です。
- Apache haus のダウンロードページから Windows 用の Apache HTTP Server をダウンロードします
- 解凍して配置します。僕は Google ドライブに置いて他の PC と共有しています
- コマンドプロンプトを管理者権限で開いて .../Apache/bin まで行きます
- コマンド httpd -k install とします
以上です。後は .../Apache/conf/httpd.conf と .../Apache/conf/extra/httpd-vhosts.conf を適当にいじります。
次に自宅内の named の zone ファイルを下のように書きます。 Virtual Host のドメイン名をループバックさせるわけですね。
vhost1 IN AAAA ::1
vhost1 IN A 127.0.0.1
vhost2 IN AAAA ::1
vhost2 IN A 127.0.0.1
これで完成です。
ネームサーバもローカルにおけるといいのですが BiND の Windows 版が上手くダウンロードできない状態になっているので仕方ありません。
また、この方法はスマホでも使えます。 Google ドライブのアプリはローカルにデータを同期しませんが「 Autosync - File Sync & Backup 」などのサードパーティ製アプリを使って同期してやれば大丈夫です。後はウェブサーバに「 KSWEB: web developer kit 」のような Virtual Host に対応したアプリを使えばいいわけです。個人的には Android アプリ用にビルドされた単体の Apache HTTP Server があると嬉しいのですが。
さて、しかしこの方法には問題があります。 Google ドライブを利用して各デバイスにデータを同期しているため、データの更新にタイムラグがあるという点です。パソコンで開発しながらちょいちょいスマホを確認とかしようとすると不便な目に遭ってしまいます。 Google ドライブにも Dropbox のような LAN 内同期機能が実装されると助かるのですが。