V-Hosting のセットアップ
V-Server で、この機能を使えるようにするために、httpd.conf file に手を加える必要があります。V-Server 上でお客様がホストする、それぞれのドメインについて、~/www/conf のディレクトリに収められている httpd.conf file を開き、ファイルのおしまいの部分に下記を加えて下さい。
# point utahjrs.org and www.utahjrs.org to subdirectory utahjrs <VirtualHost utahjrs.org www.utahjrs.org> ServerName www.utahjrs.org ServerAdmin webmaster@utahjrs.org DocumentRoot /usr/local/etc/httpd/htdocs/utahjrs </VirtualHost>
勿論、上記の "utahjrs.org" と "utahjrs" を、お客様のドメイン、それからサブディレクトリに置き換えて下さい。また、各 Virtual Host に、vadduser command を用いたり、iManager の web 利用 vadduser utility を用いて、FTP のアクセスと POP のアカウントを供与することになるでしょう。 FTP のアカウントのホームディレクトリーを指定する場合、DocumentRoot 定義で使ったのと同じディレクトリー指定を使ってください。これにより Virtual Host を使っているあなたのクライアントは、web コンテンツを自分のディレクトリーに FTP できるようになります。 FTP と POP 利用権は Virtual Server フルスペックの Server B と、Virtual Server フルスペックプラス拡張仕様の Server C のみで利用できます。
上記に述べた以外に、V-Hosting には非常に大きな利点があります。
例えば、サブホスト utahjrs.org のサイトで、それ独自の cgi-bin を持つことができます。
ScriptAlias /cgi-bin/ /usr/local/etc/httpd/htdocs/utahjrs/cgi-bin/
お客様のサブホスト先に cgi-bin access を与えることは、セキュリティ上のリスクが発生することを理解して頂く必要があります。
■ 高度なコンフィグレーション
"Not Found Document" (ErrorDocument 404)の定義を、"utahjrs.org" Host の定義中に含めることができます。
# point utahjrs.org and www.utahjrs.org to subdirectory utahjrs <VirtualHost utahjrs.org www.utahjrs.org> ServerName www.utahjrs.org ServerAdmin utahjrs@utahjrs.org DocumentRoot /usr/local/etc/httpd/htdocs/utahjrs ScriptAlias /cgi-bin//usr/local/etc/httpd/htdocs/utahjrs/cgi-bin/ ErrorDocument 404 /errors/notfound.html </VirtualHost> "notfound.html" ファイルが実際の位置にくるよう、DocumentRoot との関係でファイルの位置を下記によって特定して下さい。
/usr/home/[username]/usr/local/etc/httpd/utahjrs/errors/notfound.html
もう一つの優れた機能は、V-Hosts のために別途ログファイルを作る能力です。
TransferLog logs/localhost_access_log 全文の事例としては、以下のようになります。
# point utahjrs.org and www.utahjrs.org to subdirectory utahjrs <VirtualHost utahjrs.org www.utahjrs.org> ServerName www.utahjrs.org ServerAdmin utahjrs@utahjrs.org DocumentRoot /usr/local/etc/httpd/htdocs/utahjrs TransferLog logs/utahjrs_access ErrorLog logs/utahjrs_error AgentLog logs/utahjrs_agent RefererLog logs/utahjrs_referer ScriptAlias /cgi-bin//usr/local/etc/httpd/htdocs/utahjrs/cgi-bin/ ErrorDocument 404 /errors/notfound.html </VirtualHost> これにより、サブホストのログファイルが、全部を包括するマスターログファイルに集約されてしまうのではなくて、特定のサブホスト用に切り離された形で作成することができます。
■V-Hosting で使える「アクセスログ統計」解析ソフト ― Analog4.01 ―
Analog4.01 をインストールするには、telnet か SSH であなたのバーチャルサーバーにアクセスしてください。
FreeBSD Analog 4.1の場合 % vinstall analog BSD/OS Analog 4.01の場合 % cd (これであなたのホームディレクトリーに入ります) % tar xvf /usr/local/contrib/analog4.01.tar Analog4.01 のディレクトリーが /usr/local/etc/httpd/analog4.01 として作成されます。 次に、あなたがご利用になっているサーバー全体の、アクセス統計のウエブページを作成するために analog 用の config ファイルを作成します。/usr/local/etc/httpd/analog4.01/analog.cfg をコピーし編集してください。ポイントは以下です。その他の記述はオリジナルのままにしてください。
LOGFILE /usr/local/etc/httpd/logs/access_log OUTFILE /usr/local/etc/httpd/htdocs/analog4.01/index.html HOSTNAME "[Your Server Name]" DNSFILE dnscache.txt DNS WRITE LANGUAGE JAPANESE
上記の例では /usr/local/etc/httpd/logs/ にある access_log を解析し、/usr/local/etc/httpd/htdocs/analog4.01/index.html として結果を表示します。
次に、あなたのコンピュータに保存した "jp.lng" を ftp で /usr/local/etc/httpd/analog4.01/lang にアップロードします。 % virtual /www/analog4.01/analog +g/www/analog4.01/analog.cfg "dnscache.txt" が見つからないというコメントが出ますが無視してかまいません。ログファイルの大きさによっては、解析に10分程度かかることもあります。
解析が終了すると、ブラウザにアドレスを "http://www.your-domain.com/analog4.01/" と指定して解析結果ページを表示させることができます。
続いて、バーチャルドメインのための設定を行います。
LOGFILE /usr/local/etc/httpd/logs/xxx/access_log OUTFILE /usr/local/etc/httpd/htdocs/xxx/analog4.01/index.html HOSTNAME "[Domain Name]" IMAGEDIR http://111.111.111.111/analog4.01/images/ DNSFILE dnscache.txt DNS WRITE LANGUAGE JAPANESE
編集後のファイルに "analog_xxx.cfg" などの適当な名前を付け、/usr/local/etc/httpd/analog4.01/ に保存してください。
/usr/local/etc/httpd/logs/xxx/access_log を解析します。xxx には解析対象となるディレクトリーを指定してください。 % cd cd www/htdocs/xxxx % mkdir ./analog4.01 % chmod 0777 ./analog4.01 % ls -al ... ... ... ... drwxrwxrwx 2 servername vuser 512 Jan 14 01:57 analog4.01 drwxrwxrwx 2 servername vuser 512 Jan 14 01:57 analog4.01 が表示されればOKです。 続いて、telnet で以下のようにします。 % virtual /www/analog4.01/analog +g/www/analog4.01/analog_xxx.cfg "dns"についてのコメントが出ますが無視してかまいません。ログファイルの大きさによっては、解析に10分程度かかることもあります。 解析が終了すると、ブラウザに、アドレスを "http://www.Domain Name/analog4.01/" と指定して解析結果ページを表示させることができます。 これで完了です。 他の、バーチャルドメインに付いても上記と同様の設定を行います。
Analog4.01 は非常にきめこまかな解析が可能です。 注意1: このままだと誰でもアクセス統計ページが見られます、外部の人から見られないようにするにはパスワードによるアクセス制限を設定してください。 最後に、毎日統計ページを更新する方法は以下です。 あなたのルートディレクトリーに "cronfile" があります。これを編集し以下の行を加えてください。
01 09 * * * /usr/local/bin/virtual /www/analog4.01/analog +g/www/analog4.01/analog.cfg 上記は毎日9時1分(米国東部時間、日本時間では午前0時1分)にサーバー全体の統計ページを作成し、毎日9時10分(米国東部時間、日本時間では午前0時10分)にバーチャルドメインの統計ページを作成する指定です。 あなたのルートディレクトリーに "cronfile" を保存したら、次のコマンドを実行してください。 % crontab cronfile 注意2: タイムゾーンの変更をしてある場合でも "cronfile" の時間指定は米国東部時間で行ってください。 注意3: 他の指定と時間がダブらないよう、注意して時間指定をして下さい。時間がダブると実行されない場合があります。 ■ V-Hosting と FrontPage V-Host されているドメインでは、ホームディレクトリにインストールした Microsoft FrontPage サーバ拡張プログラムを使えます。これらサーバ拡張プログラムの機能は全て使用することができ、サブホスト先の顧客も Microsoft FrontPage の全機能を得ることができます。
インストールは簡単です。V-Server に FrontPage サーバ拡張プログラムをインストールするのと同じ fp98install を使って下さい。
V-Host されているドメイン (hosted-domain.com) と同じく、WWW C Name ドメイン (www.hosted-domain.com) にもサーバ拡張プログラムをインストールしたほうが良いでしょう。
■ V-Hosting と電子メールアドレス
V-Hosting は、iServer V-Server システムが持っている強力な機能です。 例えば、もしお客様が IP アドレス 192.41.5.172として登録されているドメイン名 "my-virtual-server.com" を持っていたとすると、その V-Server 上の全て V-Host されたドメイン名(例えば"a-virtual-host.com")は、同じ IP アドレス192.41.5.172を持つことになります。 iServer V-Server システムのような HTTP/1.1に対応したサーバでは、HTTP request が出ると、それによりドメイン名の違いを識別し、要求されたコンテンツをクライアント側に送り返します。しかしながら、電子メールサービスでは、多少の変更を加えないと、そのような識別ができません。 電子メールサーバでは、"john@my-virtual-server.com" と "john@a-virtual-host.com" とは同じ john です。これは、別々のドメイン名が同じ IP アドレスに対応付けされるからです。言葉を変えれば、電子メールサーバは、両方のアドレスとも同じく "john@192.41.5.2" と "john@192.41.5.2" として認識するので、結局、同一のものに見えるのです。ですから、V システムの電子メールサービスに於いては、@ の後ろのユーザ名が識別対象ではなく、@ の前の username/passwd シーケンスが識別の対象になります。 V-Server に FTP/POP 利用権を付加する方法は、もうお分かりですね。コマンドプロンプトから、"vadduser" program を実行するか、 web 形式の iManager で、"vadduser" ウィザードを使うかです。
では、本来根っこが「同じ」である二つのユーザ名を使うことになるジレンマは、どう解決したらよいでしょうか。
"virtmap" の基本的特徴は、複数のドメイン名のもとで、同じ名称の Email ユーザ名を共有できることで、例えば xyz.com と abc.com が同一の V-Server の管理下にあった場合、両方のドメインとも、別々のメールボックスに届く "webmaster" のメールを受け取ることができます。
"virtmaps" が持っている、もう一つの機能は "wild card" mapping というもので、これにより、同一ドメイン名のもとのどんなユーザ名宛てのメールでも、ある特定のユーザに全部着信するようセットできます。 virtmap の機能を使うには、sendmail.cf file を更新して " ~/etc/virtmaps" file を編集する必要があります。
~/etc/virtmaps を編集して Email アドレスを設定します。
"e-mail address -> e-mail address" または
"domain name -> e-mail address" 一般に、"domain name -> e-mail address" を、ファイルのおしまいの部分に持ってきて、"e-mail address -> e-mail address" を先頭に持ってくるのが良いでしょう。マッピング指定では、最初にマッチしたものが使われることに注意して下さい。 例えば、私が V-Server でサブホストされた xyz.com と 123.com の二つのドメイン名を持っているとします。これらドメイン名のオーナーは双方とも、自分のドメインの "webmaster" 宛てのメールを自分が受取りたいと思っています。xyz.com のオーナーは私の V-Server でホストされたメールボックスを持っていて、そのユーザ名は "biff" です。123.com のオーナーは、別のの ISP にメールボックスを持っていて、その Email アドレスは "bud@isp.net" です。
同様に、xyz.com のオーナーが "webmaster@xyz.com" 以外のアドレス(このドメインの"webmaster" 以外のどんな名前に対しても送られたもの)を、この V サーバーにメールボックスを持っている彼の秘書に送りたいと思った場合、彼の秘書のユーザーネイムが "sue" だったとすると、実行するために私なら以下の内容を、私のお気に入りの UNIX エディタを使って ~/etc/virtmaps に付け加えます。
webmaster@xyz.com biff webmaster@123.com bud@isp.net xyz.com sue "~/etc/virtmaps" を編集したのち、コマンドプロンプトから以下のように "vnewvirtmaps" を走らせる必要があります。
% vnewvirtmaps
注意 : "vnewvirtmaps" のコマンドは、"~/etc/virtmaps.db" データベースファイルを更新します。
|