「同じ自宅サーバー作ろうよ」計画! Ver3.x
 
■WEBサーバー■

HOMEへ

AN HTTP Daemon

参考 Windowsで連続運転をするために2005.02.01NEW

入手した圧縮ファイルをDドライブに解凍します(解凍ソフトは別途用意してください)。
図のような構成にしてください。



■設定

DドライブのHTTPD.EXEをWクリックで起動します。こんな起動画面が出ます。

HTTPサーバー名にaxcr20とありますがWindowsのインストール時に設定したこのPCの名前です。特に意味はありません。

オプション−一般を選択します。これはデフォルトの画面です。

下記のフォルダ構成(Eドライブ配下)でホームページを置くので…おっと前もって下記のフォルダを作成して下さいね。AN HTTPDの設定時叱られます。


こんな風に設定しましょう。


ドキュメントルートは必ず「ドライブ:フォルダ」にしてください。
これは後々の掲示板など(cgi)のセキュリティにも出てきますがWEBサーバーとはドキュメントルート配下のファイルにアクセスを許可します。
ここで「E:\」にしておくとEドライブの全てのファイルにアクセスを許可したことになります。
「E:\public_html」とする事で、例えば「E:\TEST」などのフォルダを作ってもTESTフォルダにはアクセスできません。
デフォルトインデックスの「index.html」とは例えば「http://ドメイン/」や「http://ドメイン/^homeserver/」など最後の/以降にファイルの指定が無いアクセスがあった場合に「http://ドメイン/index.html」へのアクセスと解釈させる設定です。
実行プログラムの部分は「D:\perl\bin\perl.exe」に書き換えてください。これは掲示板などのcgiを動かす大切な設定です。
「/^homeserver」の ^ はチルダと呼びUNIXサーバーでのユーザーと言う意味(標準の仕様)らしいです。また ^ を使うことにより「http://ドメイン/^homeserver」だけで「E:\public_html\homeserver」配下にアクセスできます。この省略させる方法をエイリアスと呼ぶそうですが「フォルダーへのショートカット」と考えた方が判りやすいですね。
私のサイトは格好つけてチルダを使っていますが「/homeserver」でも問題はなくその場合は「http://ドメイン/homeserver」でアクセス可能です。

青赤枠の「般」のチェックについて
このチェックは重要です。チェックがないとドキュメントルート配下に掲示板などのCGIを置いた場合CGIを実行せずにソースが丸見えになります。
本来CGIなどは実行パス(下のエイリアス図参照)に置きます(UNIXの仕様にあわせてAN HTTPDは作られています)。
しかしAN HTTPDは標準の設定では一般パスでもCGIなどの実行を許可しています。これは「ドキュメントルート配下に掲示板などのCGIを置ける」って意味ですから私としては掲示板設置などが楽で良いなって考えています。
ただドキュメントルートを誤って「C:\」などシステムに関係するような設定にすると…外部からEXEなどを実行されちゃいますのでドキュメントルートの設定は要注意。
□実行パスとはCGIやEXEなどの実行を「許可するフォルダ」と言う意味です。
□一般パスとはドキュメントルート配下の全てのフォルダを意味します。
逆にCGIやEXEプログラムを作成、配布を目的にしているなら「般」などを上手く設定し「ダウンロードさせる」方法に使えます。
世間では「般」のチェックを外すように書かれていますが「設定次第」ですからね。
ここら辺を良く理解していないと大変な事になりますので公開前に充分なチェックをしてくださいね。


ではOKを押し AN HTTPDを再起動しましょう。

エイリアスタブの設定

1 「http://ドメイン/」のアクセスでE:\public_html\index.htmlにアクセスされます。
2 「http://ドメイン/^homeserver/」のアクセスでE:\public_html\homeserver\index.htmlにアクセスされます。

3、4の仮想パス追加では下図の構成を想定しています。

3 ドキュメントルート配下以外の場所にもアクセスを可能にできます。アクセス法は「http://ドメイン/^new」。
4 「http://ドメイン/^abc」でE:\public_html\homeserver\abc\index.htmlにアクセスできます。この場合の注意点は「http://ドメイン/^homeserver/abc/」と同じアクセスと言う事です。

■ユーザー認証
これは重要なフォルダや仲間にのみ公開したいフォルダがある場合に認証(ユーザー名とパスワード)でアクセス制限をする機能です。
E:\newを認証させたい場合の例
ユーザー/パスワードの追加を押します。


下記のように設定しOK。


パスワードは暗号化されます。


認証名を追加します。





ユーザー認証にチェックを入れHTTPDを再起動します。


さて「http://ドメイン/^new」てアクセスすると下図のような認証画面がでますので「user1」と「user1pass」を入れないとアクセスできません。


複数のユーザーも登録できます。


ユーザーが多くて管理しづらい場合はグループの追加によりユーザーをまとめる事ができます。










★ドキュメントルート配下の「E:\public_html\homeserver\abc」を認証させた場合。
「http://ドメイン/^abc/」でのアクセスには認証画面が出ますが…「http://ドメイン/^homeserver/abc/」でのアクセスには認証画面が出ずに中身が表示されますので注意してください。

「MS-DOSバッチファイルのMIMEタイプを text/plain に変更」について。

AN HTTPDの動作テストで付属のcgisample.htmlを使い、テスト結果がダウンロードになるケースがあります。
これって実はダウンロードでも問題ありません。
cgisample.htmlのソースを見ると、中身はBATファイル(拡張子が「.cgi」でないファイル)が書き込まれています。
実際には掲示板など、BATファイルで書かれることはないので
「MS-DOSバッチファイルのMIMEタイプを text/plain に変更」はしなくても良いです。
★またWinME以降、MIMEの変更は出来ないようです。
★それでも変更したければレジストリを手動で変更できます。

 1 スタート−ファイル名を指定して実行



 2 regedit と入力



 3 下記の部分(.bat)に新規文字列を作ります。



 4 作った文字列の名前を「Content Type」に変更します。



 5 さらにデータを「text/plain」と入力します。



 6 下記の様になればOKです。
   このままregeditを閉じると設定が反映されます(閉じるだけで保存されます)。



さて、HTTPDは機能してるかな?確認してみましょう。
まず、HTTPDを起動しておきます。次に「E:\public_html\homeserver」に空のindex.htmlを作ります(メモ帳でテキストファイルを新規作成し名前を「index.html」にしてください)。




さぁ、サーバー機のブラウザで確認してみましょう。
「http://localhost/」と入力してください(http://127.0.0.1でもかまいません)。localhostや120.0.0.1とはサーバーマシン自身のブラウザからアクセスする場合の決り文句です。
LAN上のサーバー以外のマシンからのアクセスには「http://192.168.0.2/」と、サーバー機のIPアドレスを打ち込みます。
注意 AN HTTPDが起動していなかったり「E:\public_html\index.html」などと入力した場合は正常な表示になりません。また画像が見えなかったり掲示板などのcgiも正常に動作しません。必ず「http://〜」と打ち込んでください。

空白のページが出たら大成功!

AN HTTPDは手動で起動させます。自動で起動させるには「スタートアップ」にショートカットを作成するか下図のようにサービスに登録する方法があります(チェックを入れる)。しかし私の環境では複数のプログラムを同時に起動させるとWindowsが不安定になりました。そこで時間差起動を採用し安定化に成功しました。

重要 hostsファイル

LAN上のマシンからは「http://192.168.0.2/」でアクセスなのですが、せっかく取得したドメイン名でアクセスしたい!そんな手があるんですよ。
C:\winnt\system32\drivers\etcの「hosts」ファイルをメモ帳で編集しましょう。一番下に…

192.168.0.2____itoigawa.com
サーバーIP ↑ ドメイン名
         ここはTABまたは半角スペース(1個以上)で空ける(大文字スペースはいけません)。

この一行を追加して上書き保存してください。メモ帳は拡張子(TXT)を付けちゃう場合がありますので保存後は確認して拡張子無しの「hosts」にしてください。これでLAN上のマシンからは「http://ドメイン名/」でアクセスできる様になります。
もちろんサーバー機のhostsにも、まったく同じ内容(192.168.0.2   ドメイン名)で保存しておくとサーバー自身からサーバー自身をhttp://〜で見れますし、サーバー機で掲示板などのcgiのTESTが可能です。クライアント機がなくサーバー機1台しか持たない人には必須の設定です。
また使っているルーターにより「http://192.168.0.2」でアクセスした場合「ルーターの設定画面」が表示されちゃう場合があります。これは上記hostsファイルの編集でほとんど解決します。
複数のドメインを取得している方は
192.168.0.2____itoigawa.com____itoigawa.netなどと連続で複数の設定もできます。

hostsの編集でLAN内からhttp://〜で見えても外(インターネット)から見えているわけではありません。まだ必要な設定がありますので注意。

HOMEへ

 
 
SAO「同じ自宅サーバー作ろうよ」計画!