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が動くようになる。できた! 完成だ! 質問をお持ちしております。 |