§ テーマ §
一つの回線で複数のドメインを別々の
サーバーマシンで立ち上げる!

4台のWindows PCで構成しました。

【系統図】

サーバーの管理上delegate機を独立させました。
【ルーターの設定】
delegate専用機(192.168.0.95)のみ
80ポート(http)
20ポート(ftp-data)
21ポート(ftp)を開放。

     
PC
用途
ローカルIP
概要
PC1 delegate専用機 192.168.0.95 中古PC(\4,800)fujitsu 6450CL3
OS:Windows2000professional
PentiumV450MHz省スペース型
メモリ128MB
PC2 サーバー1 192.168.0.96 中古PC(\6,800)fujitsu 6450CL3
OS:Windows2000professional
PentiumV450MHz省スペース型
メモリ128MB
ドメイン:no1.sample1.com
PC3 サーバー2 192.168.0.97 中古PC(\7,800)fujitsu 6667CL5
OS:Windows2000professional
PentiumV666MHz省スペース型
メモリ128MB
ドメイン:no2.sample2.com
PC4 サーバー3 192.168.0.98
(+192.168.0.99)
(+192.168.0.100)
中古PC(\4,500)COMPAQ DISKPRO
OS:Windows2000professional
PentiumV500MHz省スペース型
メモリ256MB
AnHTTPdのバーチャルホスト機能使用
ドメイン:
no3.sample3.com
no4.sample4.com
no5.sample5.com

【1】DeleGateの最新版プログラムをダウンロードする。
このプログラムは産業技術総合研究所の佐藤豊氏が開発されたものです。
http://www.delegate.org/delegate/
 
delegateのページの上部にあるボタンの「Dawnload」をクリックするとページが変わり、
1.のEメールを記入する蘭にメールアドレスを記入し、【download】ボタンを押すとftpフォルダーが開くので、
binのフォルダーをWクリック→WindowsのフォルダーをWクリック→latestのフォルダーをWクリック。
そこにある最新の安定バージョン(2007年4月現在dg9_5_6.zip)をコピー → delegate専用機、PC1の
C:\Program Files\delegateフォルダーを作成してそこに貼り付ける。
ダウンロードした dg9_5_6.zipをC:\Program Files\delegateに解凍する。

(ダウンロードしたdelegateのバージョン名に従ってdelegate*_**_*.の名称を変えて下さい。)

【2】Configファイルを作成する。
WWWサーバー用
DeleGate配下でサーバー3(PC4)だけ複数のドメインを使用したいのでその方法として、

(1)ローカルIPを追加する方法
(2)ポートを変更する方法

が考えられます。そこで2通りの実験してみました。

(1)『バーチャルホスト設定をIPアドレスを追加して行う場合』

まずPC4のローカルIPを追加する。
サーバー3機PC4(192.168.0.98)にIPを追加

サーバー3機PC4のコントロールパネルから
「ローカルエリア接続」 のプロパティ→TCP/IPのプロパティ→詳細設定→IP設定
→IPアドレスの追加で

192.168.0.99
192.168.0.100

を追加して合計3つのローカルIPアドレスにします。
(ローカルIPを使用したいドメインの数にします。)

DeleGate機のC:\Program Files\delegateに delegate80.cfgファイルを作成する
-P80
SERVER=http
MOUNT="/* http://192.168.0.96/* vhost=-no1.sample1.com"
REACHABLE="192.168.0.96"
MOUNT="/* http://192.168.0.97/* vhost=-no2.sample2.com"
REACHABLE="192.168.0.97"
MOUNT="/* http://192.168.0.98/* vhost=-no3.sample3.com"
REACHABLE="192.168.0.98"
MOUNT="/* http://192.168.0.99/* vhost=-no4.sample4.com"
REACHABLE="192.168.0.99"
MOUNT="/* http://192.168.0.100/* vhost=-no5.sample5.com"
REACHABLE="192.168.0.100"
RELIABLE="*"
ADMIN=hogehoge@hoge.hogera.com←管理者のメールアドレス

上記の内容をメモ帳か秀丸 などで書いてC:\Program Files\delegateにdelegate80.cfgで保存。

PC4のwwwサーバーソフトAnHTTPd〔httpd142n.zip (1,105,517 bytes)〕のバーチャルホスト設定
(ローカルIPを追加する方式の場合)
ホスト名 IPアドレス ポート ドキュメントルート
no3.sample3.com 192.168.0.98 80 c:\sample3
no4.sample4.com 192.168.0.99 80 c:\sample4
no5.sample5.com 192.168.0.100 80 c:\sample5


(2)『バーチャルホスト設定をポートを変更して行う場合』

この場合、DeleGate機のC:\Program Files\delegateのdelegate80.cfgファイルは下記のようになります。
-P80
SERVER=http
MOUNT="/* http://192.168.0.96/* vhost=-no1.sample1.com"
REACHABLE="192.168.0.96"
MOUNT="/* http://192.168.0.97/* vhost=-no2.sample2.com"
REACHABLE="192.168.0.97"
MOUNT="/* http://192.168.0.98:8001/* vhost=-no3.sample3.com"
MOUNT="/* http://192.168.0.98:8002/* vhost=-no4.sample4.com"
MOUNT="/* http://192.168.0.98:8002/* vhost=-no5.sample5.com"
REACHABLE="192.168.0.98"
RELIABLE="*"
ADMIN=hogehoge@hoge.hogera.com


PC4のwwwサーバーソフトAnHTTPdのバーチャルホスト設定
(ポート番号を変更する方式の場合)
ホスト名 IPアドレス ポート ドキュメントルート
no3.sample3.com 192.168.0.98 8001 c:\sample3
no4.sample4.com 192.168.0.98 8002 c:\sample4
no5.sample5.com 192.168.0.98 8003 c:\sample5


WWWサーバーのバーチャルホストの設定は「IP追加方式」と「ポート変更方式」の
両方とも成功(^^)vしましたが、ポート変更方式はLAN内で各サーバー機にアクセスする場合、
ポート付きのアクセスになってしまう為、(例:http://192.168.0.97:8001/〜)
僕はローカルIPを追加する方式をとりました。


以上でWWWサーバーについてはOKです。
次に、FTPサーバーに移ります。

FTPサーバー用cfgファイル
DeleGate機のC:\Program Files\delegateに delegate21.cfgファイルを作成する
-P21
SERVER=ftp
MOUNT="/server1/* ftp://192.168.0.96/*"
REACHABLE="192.168.0.96"
MOUNT="/server2/* ftp://192.168.0.97/*"
REACHABLE="192.168.0.97"
MOUNT="/server3/* ftp://192.168.0.98/*"
REACHABLE="192.168.0.98"
RELIABLE="*"
ADMIN=hogehoge@hoge.hogera.com
※注:ここで云う、/server1とか/server2とかの名称は何でも良く、FTPクライアントが
接続する目的サーバー機を区別する為のものです。

上記の内容をメモ帳か秀丸などで書いてC:\Program Files\delegateにdelegate21.cfgで保存。

【3】DeleGateプログラムを走らせるバッチファイルを作成する。
C:\Program Files\delegateに delegate80.batファイルを作成する。
(メモ帳か秀丸などで下記の一行を書いて拡張子を.bat に変更してdelegate80.batとしてC:\Program Files\delegateに保存する)
dg9_5_6.exe +=delegate80.cfg


C:\Program Files\delegateに delegate21.batファイルを作成する。
(メモ帳か秀丸などで下記の一行を書いて拡張子を.bat に変更してdelegate21.batとして同様に保存する)
dg9_5_6.exe +=delegate21.cfg


FTPクライアント(FFFTP)の設定
ユーザー設定の後、必ず「ホストの初期フォルダー」(nextFTPの場合、「ホスト開始フォルダー」)欄に
PC2のFTPサーバーに接続場合“/server1”
PC3のFTPサーバーに接続場合“/server2”
PC4のFTPサーバーの接続場合“/server3”と記入すること。


♪DeleGateプログラムを走らせる!

delegate機PC1の「スタート」→「プログラム」→「アクセサリ」→「コマンドプロンプト」で
C:\Documents and Settings\ログイン名>cd□C:\Program Files\delegate\でENTER
(□は半角スペース)

C:\Program Files\delegate>delegate80.batでENTER
Create a new service? y/n
と聞いてくるので“y”でdelegateプログラムがdelegate80.cfgを読み込んで走り出します。

同様に、C:\Program Files\delegate>delegate21.batでENTER
Create a new service? y/n
“y”でdelegateプログラムがdelegate21.cfgを読み込んで走り出します。

delegate80.cfgのdelegateを終了させるときは、
delegate80.batをまた実行して
“y”で次に“n”で終了します。
同様にdelegate21.cfgのdelegateを終了させるときは、
delegate21.batを実行して終了させます。
delegateを特に終了させないでdelegate機を再起動させると自動的に立ち上がります。
これでサーバー1、サーバー2、サーバー3のFTPソフト(僕の場合はWarFTPd)と
wwwサーバーソフトANHTTPdを立ち上げればOKです!(^^)v
尚、ダイナミックDNS管理ソフトのdiceなどはどれかのサーバー機にセットすればOKです。
またそれぞれのサーバーでAnHTTPdのエイリアス設定も問題なく使用できます。

※ftp-dataの20ポートについては21ポートの DeleGate が管理しますので、
20ポート用の中継定義は不要です。

【あとがき】
今回の実験の後、PC2とPC3、PC4にそれぞれ外付けハードディスクを抱かせて各サーバーの
管理ディレクトリは現在E:\になっています。