| 
 
 
バーチャルホストでの対応について 
  
バーチャルホストとは?
 
バーチャルドメイン、DNSウェブなど、さまざまな呼び名をもつバーチャルホストですが、具体的にどういったことを指すのでしょうか。 
ホストとはリモート先のコンピュータシステムのことをいいます。ホストは普通、1台につき1つのIPアドレスを持っています。 
現在では1つのホストに複数のIPを割り当てることがあります。このような複数IPで処理されるホストをバーチャルホストといいます。 
近年多くのサイトで利用されているバーチャルホストですが、通常のホストに比べ複雑な設定や運用のコツが必要になります。 
  
バーチャルホストに必要な設定項目
 
バーチャルホストを運用していくためには、ユーザーアカウント管理やインターネットサービスを行う各アプリケーションの設定を、バーチャルホスト用に設定しなければなりません。ここでは、以下に挙げるような設定項目をそれぞれ解説していきます。 
ユーザーアカウントの管理: 
グループの設定 
ユーザーの追加 
パーミッションの設定 
各アプリケーションの設定: 
Apacheの設定(ウェブ設定) 
sendmailの設定(メール設定) 
wu-ftpdの設定(FTP設定) 
namedの設定(DNS設定) 
  
ユーザーアカウントの管理
バーチャルドメインを運用していくにあたり、重要になるのがセキュリティです。 
例えば、各ユーザーのディレクトリは、他のユーザーから読めないようにしたい場合があります。 
その一方で、Apacheのようなアプリケーションは全ユーザーのファイルにアクセスできるように設定しなければなりません。 
ここでは、以下のような方針でユーザーの管理をしていきます。 
1. このサーバーは、バーチャルドメインユーザーのみを収容する。 
2. バーチャルドメインユーザーは、全てvduser(ID:100)というグループに属することとし、このグループ内のユーザーは、他のユーザーファイルやディレクトリに干渉することはできない。 
3. バーチャルドメイン毎に管理用ユーザーアカウントを設定し、それぞれのホームディレクトリは、/home以下に作成する。  
●グループの設定
 
まず、バーチャルドメインユーザーのみが属する、vduserというグループを作ります。/etc/group ファイルにグループ「vduser」を追加します。 
 
 
#cat >> /etc/group 
文字が打てるようになります 
ftp:*:100 
ctrl+Dと入力
 |  
 
グループ「vduser(ID:100)」が追加されます。  
●ユーザーの追加
 
次に、 adduser コマンド(説明はこちら)を使って、アカウントの追加をします。 
前述のルールに従って、グループは vduser 、ホームディレクトリは /home 以下に作られるように設定します。また、ユーザー毎に使用ディスク容量を決めたい場合は、ディスククォータを用いて使用量に制限をかけます。  
●パーミッションの設定
 
ユーザーが使用するホームディレクトリのパーミッションを設定します。 
chmod(説明はこちら)コマンドを使って、707にしてください。 
この707というパーミッションは、ユーザー本人と本人以外のユーザーは、ファイルを読み書き・実行することはできますが、同じグループに属しているユーザーにはその権限がないことを表します。 
ここでいう同じグループのメンバーとは、このサーバーでバーチャルホストを使用しているユーザーグループのことです。つまり、vduserというグループに属するユーザーは、同じグループの他人のファイルや、ディレクトリには一切干渉できないことになります。 
ユーザー自身にパーミッションがあるのは当然として、他人にもパーミッションが開いているのは、httpd や named、ftpd などのデーモンが、ファイルにアクセスすることができるようにするためです。反面、この設定ではグループ vduser に属さない user は、上記デーモンたちと同じ扱いとなってしまい、グループリソースに対してフリーにアクセスできるようになってしまいます。必ず全てのユーザーを vduser に所属させてください。 
これらの設定は、ひとつひとつ設定していってもかまいませんが、今回の運用ケースのように同じ条件でたくさんのユーザーを登録しなければならない場合には、/usr/share/skel/ にあるdotファイルをあらかじめ編集しておくことをおすすめします。 
  
各アプリケーションの設定(バーチャルホストへの対応)
バーチャルホスト上で設定されるIPアドレスやドメイン名を使用するために、さまざまなアプリケーションがそれぞれのパートを受け持ち、OS単体で対応しきれない部分を補います。 
 
 
| 
Apache 
Apacheではユーザー毎のドメイン名・IPアドレスから対応させたドキュメントルート設定や、セキュリティ・CGIなどにいたるまで、主にウェブ関連をサポートします。 
ドメイン名やIPアドレスから設定する場合はこちら、ポート番号から設定する場合はこちらをごらんください。
  |  | 
sendmail 
異なるホスト間でメールをやり取りする場合に、named のMXレコードを参照してメール転送作業を行います。バーチャルホストへの対応は、 virtusertable というファイルに書かれた対応表によって行います。 
こちらをごらんください。
  |  | 
FTP 
ftpした自分のディレクトリより上位の階層を見れないように制限をかけること(chroot)ができます。wu-ftpd や pro-ftpd はセキュリティ機能に優れたFTPで、バーチャルドメインユーザーに適しています。 
こちらをごらんください。
  |  | 
nameserver 
namedはすべてのアプリケーションと密接なかかわりを持ち、バーチャルホストの仕組みを支えます。1つのIPアドレスしかないホストへ2つ以上のドメイン名をマッピングしたり、sendmailが必要とするMXレコードを保持して、転送先を指示したりと、主にinternet内での道案内的な役割を果たします。 
namedでのバーチャルドメイン設定は、普通にドメインを追加する場合と変わりません。ドメイン名をバーチャルドメイン名に置き換えてください。 
ドメイン/バーチャルホストの追加に関しては、こちらをごらんください。
  |   
 
 
          |