WEBサーバーの構築

まず、WEBサーバー用のソフトをインストールする前にルーターを使用している場合は
サーバー機のプライベートIPアドレスを固定しておく必要があります。

ここではその方法は省略しますが、
http://y-kit.jp/saba/xp/ipaddress.htm
などを参考にして下さい。
私はサーバー機のプライベートIPアドレスを「192.168.0.12」に固定したということで
話を進めていきます。

ではWEBサーバ用ソフトをインストールしましょう。
「AN HTTPD」というフリーソフトを使います。
http://www.st.rim.or.jp/~nakata/からダウンロードできます。

ここではEドライブ直下にE:\httpd142mというフォルダを作って
ここに解凍します。
※起動ドライブのルート(C:\など)はセキュリティの面から厳禁です!!

オプション/一般から一般タブを開きます。
ドキュメントルートは自動的に「E:\httpd142m」と設定されてますね。
ドキュメントルートとは、HTML文書を置くフォルダのことです。


初期状態のままだと、HTML文書やCGIファイルを、
anhttpd.exeなどと一緒に保存しなければなりません。
これは少し不便です。E:\httpd142mの中はあまり触りたくないものです。

よってE:\homeというフォルダを作り、その中にHTML文書を入れておきます。
とりあえずE:\homeの中に適当にindex.htmを作って入れておきましょう。

まずドキュメントルートを変更から。

E:\httpd142kとなっているのでE:\homeに変更します。

「v /~ユーザ名  -> ドキュメントルート¥ユーザ名\public_html」
となっているところは使う必要は無いのでチェックを外しておきます。
ついでにデフォルトインデックスを「index.html」から「index.htm」に変更します。
些細なことですが、私はHTML文書の拡張子は「.htm」を使うことが多いからです。

こうすれば、サーバ機のブラウザからE:\homeの中の index.htmを表示させるのに
http://127.0.0.1/~home/index.htmでアクセスできます。
もちろん、「index.htm」はデフォルトインデックスに指定しているので
http://127.0.0.1/~home/というアドレスでも同様に表示されます。

またSSIを使わない場合は「SSIを許可する」のチェックを外しておきましょう。

表示/インデックスの画面では「インデックスリスト(ディレクトリリスト)を表示
のチェックを外します。


さらにエイリアスの設定をします。URLの「~home/」の部分を
省略して短くできます。変更前のエイリアスの状態です。


一般パス」の「追加」をクリックして仮想パスに「/~home」
ローカルパスに「E:\home」と打ち込みます。

OK」をクリックします。


適用」をクリックします。

すると次のダイアログが出るのでOKをクリックします。。


こうすれば、サーバ機のブラウザからhttp://127.0.0.1/~home/を表示させるのに
http://127.0.0.1/~home/のURLの~home/の部分を省略して
http://127.0.0.1/でアクセスできます。
ちなみに127.0.0.1というアドレスはループバックアドレスといいというLANの内部的に使われる
自分自身のアドレスのことです。

さぁ、サーバー機のブラウザで確認してみましょう。http://127.0.0.1/でindexページが
ちゃんと表示されているでしょうか?
LAN上のサーバー以外のマシンからのアクセスには「http:192.168.0.12/」と、
サーバー機のIPアドレスを打ち込みます。

うまく表示されていたら少なくともローカルな環境ではWEBサーバが動いていることに
なります。ここで一休みしましょう。

しかし外部のインターネットからアクセスして見えなければ自宅サーバを公開する
意味がありません。
サーバーを立ち上げる場合、普通は複数台のコンピュータをインターネットに接続するために
ルーターを使用します。
ルーターにはセキュリティ機能も実装していて、外部からのアクセスを遮断するようになっています。
このため「ポート」と呼ばれるいわゆる窓口を開放する必要があります。
そして外部からのアクセスを通過させるためにルーターを設定してサーバーを
立てているコンピュータに誘導してやらなければなりません。
この作業を「ポートフォワーディング」とか「ポートマッピング」などといいます。
WEBサーバが使用するポートは80番なので、サーバを組んだパソコンにルータから
TCPポート80番を開けてやりましょう。

具体的な手順はルータごとにさまざまなのでマニュアルを参考にして下さい。
まずブラウザでルータの設定画面を開きます。私の使っているルータは
http://192.168.0.1/から開きます。

参考画面です。


外部からWEBサーバーにアクセスする際のURLを調べます。
http://127.0.0.1/のアドレスの127.0.0.1をプロバイダから割り当てられいる
グローバルIPアドレスに置き換えればよいです。
現在のグローバルIPアドレスは確認君で調べることができます。
「現在接続している場所(現IP)」のところに書かれています。
210.157.221.6となっていたら
http://210.157.221.6/というアドレスになりますね。
外部のインターネットからはこのアドレスでアクセスできます。



ルーターを使用しているのでLAN内のパソコンからはこのアドレスではアクセスできません。
何故そうなるかはhttp://sakaguch.com/WWWserver.html#N10
辺りをご覧ください。


なのでLAN内のパソコンからWEBサーバが外部から正しく見えているかどうか
確認するには次のサイトを利用させてもらいます。

WWWサーバー動作の確認-「鷹の巣」の自宅サーバー
http://sakaguch.com/WWWserver.html#N5
5. インターネット側から、グローバルIPアドレスでのアクセス試験


URLのところにhttp://210.157.221.6/と入力して「Go!」をクリックします。

結果が表示されます。


外部のインターネットから正しくアクセスできる場合はServer Statusの欄に200という数字があります。
WebSite Test results

URL tested: http://210.157.221.6
Status: Server responded normally to all tests
Server Status: HTTP/1.1 200 Document follows
Server type: AnWeb/1.42m
Last modified: Wed, 11 Aug 2004 09:55:33 GMT
Response time: 0.4484 seconds


他の確認方法として携帯電話からアクセスするのもいいでしょう。
※ちなみにグローバルIPアドレスは時間が経つと可変するものです。
  これについては後述します。

どうしてもWEBサーバーが動作しない場合は
Install of AN HTTPD
http://homepage1.nifty.com/yito/anhttpd/install.html
に忠実に設定します。

あとセキュリティ対策として
AN HTTPD のセキュリティ対策
http://homepage1.nifty.com/yito/anhttpd/faq/security.html
もよく読みましょう。

WindowsNT、2000、XPではAN HTTPDをサービスとして起動する事ができます。
サービスとして登録することにより、Windowsを起動した際にAN HTTPDも
自動的に起動します。(オプション→一般→サービスタブ)
動作させる場合は「サービス」にチェックを入れサービスを開始します。

OK」をクリックします。

ところでAN HTTPDアイコンがタスクトレーから消えてしまうことがあります。
つまり、AN HTTPDへのショートカットをダブルクリックしても

と出てしまいます。
この場合はCTRL+ALT+Hでオプションのメニューを開いて設定を変えるか、または終了させて
もう一度起動すればいいでしょう。