カメリアの記事

意味があることやないことを綴ります

Google ドライブのデータでウェブサーバを運用したい、それに Virtual Host も使いたい

課題は下のとおりです。

  • 自宅内で閲覧するためのウェブサーバを構築する
  • Virtual Host で複数のドメインを扱う
  • データは Google ドライブに保存する

まずウェブサーバを立てる必要があるのですが、データは Google ドライブにあります。 Linux から Google ドライブにアクセスする方法もあるようですから、ウェブサーバから Google ドライブにアクセスすること自体は可能です。しかし書直なところ google-drive-ocamlfuse をインストールするのにgdgdするのは面倒です。そこでウェブサーバはローカルにインストールします。非常に簡単です。

  1. Apache haus のダウンロードページから Windows 用の Apache HTTP Server をダウンロードします
  2. 解凍して配置します。僕は Google ドライブに置いて他の PC と共有しています
  3. コマンドプロンプトを管理者権限で開いて .../Apache/bin まで行きます
  4. コマンド 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 内同期機能が実装されると助かるのですが。