020121 自宅webサーバー



 2005年7月3日追記:
最新の情報を「050626 自宅サーバー2005」に整理しました。


 フレッツなどの常時接続を使って自宅のコンピュータをwebサーバーにする方法を説明する。無料のダイナミックDNSサービスを契約すれば、固定IPアドレスの契約がなくてもドメインを取得することができる。次のステップで作業を行う。ウイルス対策以外は一切の費用がかからない。

 1. グローバルIPアドレスによる常時接続
 2. "HTTPD"でwebサーバーにする
 3. "家サーバープロジェクト"でドメインを取得する
 4. "DiCE"でIPアドレスを自動的に登録
 5. "ActivePerl"でCGIを走らせる

では、順番にやってみよう。

1. グローバルIPアドレスによる常時接続 TOP

 まず、internet常時接続ができて、InternetExplorerでwebを閲覧できる状態にしておく。私の場合、MMX200の自作AT互換機のWindows98上でADSLフレッツを使用している。

 あなたのコンピュータにグローバルIPアドレスが割り当てられていることが必要である。「ファイル名を指定して実行」で"winipcfg.exe"を実行して、インターネット接続に使用しているデバイスのIPアドレスが"192.168.0.x"や、"127.0.0.x"などのようなローカルIPアドレスでないことを確認する。これら2例に該当しないことがグローバルIPアドレスである証明にはならない。IP-ドメイン変換nslookupに行けば、IPアドレスをドメイン名に変換することが出来る。これによって自分のIPアドレスが自分のプロバイダのドメイン名に変換されたら、それはグローバルIPアドレスだと考えて良さそうだ。たとえば私の場合、IPアドレス"203.136.44.240"がドメイン名"FLA1Aab048.kgs.mesh.ad.jp"に変換された。グローバルIPアドレスが割り当てられないのは、CA-TVなどの場合、モデムではなくルーターを使用している場合、など考えられる。

 常時接続ではそれなりのウイルス対策が必要になる。webサーバーのログをみると、毎日恐ろしい数のウイルスからの攻撃が記録されている。常に新しいウイルスの攻撃に備えるために、ワクチンソフトは毎日オンラインで更新する必要がある。私はトレンドマイクロウイルスバスター2002を使っている。今回の記事で有償のプログラムはこれだけだが、支払う価値がある。ところで、古いバージョンであるウイルスバスター2001はADSLの速度を極端に低下させるという問題があるので、ユーザーは無料でウイルスバスター2002にバージョンアップできる。ウイルスバスター2002は、標準の設定では外部から自分のコンピュータを完全に見えなくしてしまう(ウイルスバスター2001ではそうではなかった)ので、webサーバーに使うには設定を変更する必要がある。「設定画面へ」→「パーソナルファイアウォール」→「セキュリティレベル」を「中」にする。ここが「高」になっていると、外部からpingコマンドで自分のコンピュータを探してもウイルスバスターにブロックされて見えない状態となっている。webサーバーとしても外部からwebを閲覧できない状態となる。

2. "HTTPD"でwebサーバーにする TOP

 HTTPDはWindowsでwebサーバーを実現するプログラムだ。私は初めに有名なApatchを使ったが、CGIを動かすことに成功しなかった。Y君に勧められてHTTPDに乗り換えたところ、webサーバー、プロキシサーバーの機能が実に簡単に設定でき、CGIも動いたので喜んでいる。

 AN HTTP Server Home Pageに行って、HTTPの自己解凍形式の最新版 httpd137d.exe (1,094,656 bytes) をc:\httpdというフォルダを作りその中にダウンロードする。

 ダウンロードしたファイルhttpd137d.exeを起動する。

 Unzipボタンを押す。OKボタンを押す。閉じるボタンを押す。

 以上でC:\httpdフォルダにhttpd.exeができる。このショートカットをスタートアップフォルダに入れて、Windows起動時にhttpdを起動させる。このプログラムは常時システムトレイまたはタスクバーまたはデスクトップ上で起動しておく。

 HTTPDの設定を行う。ここでは、htmlの置き場所(ホームページ)を c:\www とする。HTTPDの「オプション」→「一般」を開き、

  一般タブ → ドキュメントルート c:\www
  エイリアスタブ → 実行パスのローカルパスをすべてc:\www\...
  ログタブ → すべてのパスをc:\logs\...

 とする。C:\wwwフォルダを作成してindex.html他を入れておく。

 以上でwebサーバーができた。internet接続後、winipcfg.exeコマンドを使って、自分のipアドレスを知ることができる。http://(ipアドレス)/ で自分のwebを閲覧することができる。残る問題は、我々は固定IPアドレスの契約ではないので、接続が切れるたびに自分のipアドレスが変わってしまうことだ。

3. "家サーバープロジェクト"でドメインを取得する TOP

 ドメイン名とipアドレスを結びつけるのがドメインネームサーバー(DNS)ですが、普通はIPアドレスは固定なので、ドメイン名とIPアドレスを取得したときに登録するだけで、変更することはありません。これでは我々のフレッツを使ったwebサーバーでURLが使えない。しかし、頻繁に変わるipアドレスに対して、固定的なURLを割り当ててくれるサービスがあって、ダイナミックドメインネームサーバー(DDNS)といいます。家サーバープロジェクトもそのひとつで、無料です。

 まず上記サイトに行って登録して、URLをもらいます。そうすると、ユーザー名、ログイン名、パスワード、ドメイン名、サーバー名が交付されます。私の場合、下のとおり。

  ユーザー名 toshi-nishida
  ログイン名 nishida
  パスワード *******
  ドメイン名 myhome.cx
  サーバー名 myhome.cx

これで、私の場合のURLは http://toshi-nishida.myhome.cx/ となります。

4. "DiCE"でIPアドレスを自動的に登録 TOP

 さて、DDNSでは頻繁にipアドレスが変わるのですから、自分のコンピュータのIPアドレスを常に登録する必要があります。このための便利なフリーソフトが、DiCE for Windows です。DiCEにDDNSと自分のURLを登録しておくと、定期的に自分のipアドレスを調べて、DDNSサービスに登録してくれます。

 DiCE for Windows Version 1.56 の Freeware Version の Setup Package をデスクトップなどにダウンロードしてください。dice156.exeを起動して、すべてデフォルトでインストールします。インストールが終わったら、スタートアップにDiCEのショートカットを入れておきます。

「イベント」→「追加」で「イベントの編集」ダイアログが開きます。

イベントタイプ DNS更新
イベント有効 チェック
一般タブ
  サービス ieServer
  ホスト名 家サーバーでもらったユーザー名
  ドメイン名 家サーバーでもらったドメイン名
  ユーザー名 家サーバーでもらったユーザー名
  パスワード 家サーバーでもらったパスワード
  IPアドレス (空白)
  頻度 1日に1回
  時刻 任意

ほかはデフォルトのままで「保存」

 このままではすぐに登録されないので、今作ったイベントを選択し「イベント」→「今すぐ実行」しておきます。ステータスバーに「IPアドレスを更新しました Successful 203.136.44.131」などと表示されたら成功です。10分ほど待つと、自分のURL(たとえばhttp://toshi-nishida.myhome.cx/)で閲覧できるようになります。DiCEの「オプション」の「環境設定」の「IPアドレス監視機能」タブで、「IPアドレスが変化したらDNSイベントを強制実行する」としておけば安心でしょう。このプログラムは常時システムトレイまたはタスクバーまたはデスクトップ上で起動しておきます。

5. "ActivePerl"でCGIを走らせる TOP

 ここに行きます。

 Windows98の場合、まず、インストーラをインストールする必要がある。「Windows 95, 98, Me: Windows Installer 2.0+ 」をダウンロードしてinstmsi.exeを実行すると「インストーラーのセットアップが正常終了しました」と表示される。WindowsXPの場合はWindowsが標準で持っているので、この操作は不要。

 下のNextをクリック

 "ActivePerl 5.6.1 Windows MSI 8MB" をデスクトップなどにダウンロードする。ダウンロードした ActivePerl-5.6.1.631-MSWin32-x86.msiを起動する。「I accept」を選ぶ。ほかはすべてデフォルト。以上でC:\perlフォルダにperlがセットアップされた。

 以上で、CGIが動くようになる。できた! 完成だ!

質問をお持ちしております



2002年1月21日作成 home pageへ