バーチャルホストとは
通常、IPアドレスは1台のホストには1つしか付いていません。
1台のホストに2つの名前を付ける必要がある場合、いくつかの方法があります。
そのうちの一つとして、すでに割り当てられているIPアドレスに対して別のホスト名
を割り振って、複数のホスト名を併用する方法があります。
ネームサーバでは、一つのIPアドレスに複数のIPアドレスを割り当てることが可能
なため、このような設定を行うことが出来ます。 しかし、一つのIPアドレスに対して
複数のホスト名を割り振った場合でも、標準のApacheの設定では、当然のことな
がら同じページが表示されてしまいます。
これを、別々のページが出るように設定をするならば「バーチャルホスト」機能を設定して運用することになります。
バーチャルホストの設定方法
1 |
※ これから紹介するのは設定の方法です。
弊社はこの設定に関してサポートを 行う物では有りません。また、このマニュアルを見て設定を行い
障害が発生した場合でも、責任を負いかねますのであらかじめご了承下さい。
また、このマニュアルは、Apacheの仕様は弊社でインストールした
デフォルトの状態であることが前提で記述されています。
|
以下の作業は、基本的にはスーパーユーザで行います。
以下の設定は、httpd.confに行います。
また、このマニュアル内で利用しているIPアドレスは、説明のための物です。
実際に設定する際は、弊社へお問い合わせ下さい。
( )内は内容説明です。
以下の2つの方法のうち一つ設定を行うだけでかまいません。
●ドメインベースによる設定
●IPアドレスベースによる設定
●ポートベースによるドメインの分別はこちらをご覧ください。
ドメイン名ベースによる設定
現在 server.sakura.ne.jpという名前を持つサーバに対して一つのIPアドレスが割り
当てられているとします。そして、そのIPに対し二つのドメイン名 www.sakura.ne.jpと
www.sub.sakura.ne.jpを持っており、ドメイン名毎に違うページを表示したい場合の設定を行ってみます。
この方法によるメリットは、現在あるIPアドレスにドメイン名を割り当てるため、
余っているIPアドレスが無くても設定が可能です。
まず、バーチャルホストで利用するディレクトリを"mkdir" コマンドで作成します。
バーチャルホストで、ファイルをディレクトリとエラーログ・アクセスログを保存する
場所を作成します。ディレクトリは、スーパーユーザ状態で作成すると、ファイルの
書きこみ許可等を与えらず、ファイルのアップロードなどが出来なくなるので、ログ
イン時のアカウントは、"admin"で行います。
% cd /usr/home/admin
% mkdir htdocs
% mkdir logs
|
以下の作業はスーパーユーザで行います。
httpd.conf は /usr/local/apache/conf/ の中にあります。
サーバコンフィギュレーション
httpd.conf内では必要の無い行に関しては、"#"によりコメントアウトされています。
コメントアウトされている行は、コメント"#"を外してください。
この解説のなかでは、"#"は外してあります。
現在"*"がついている部分は補足説明です。ご注意下さい。
・
・
・
- <VirtualHost 割り当てられたIPアドレスを入れてください。 >
- DocumentRoot /usr/local/apache/htdocs *2
- ServerName www.sakura.ne.jp *3
- ErrorLog /usr/local/apache/logs/ *4
- CustomLog /usr/local/apache/logs/ *4
- </VirtualHost>
- *上記前半の部分は、ドメイン www.sakura.ne.jp の設定を行っています。
- <VirtualHost 割り当てられたIPアドレスを入れてください。>
- DocumentRoot /usr/home/admin/htdocs *5
- ServerName www.sub.sakura.ne.jp *6
- ErrorLog /usr/home/admin/logs/error_log *7
- CustomLog /usr/home/admin/logs/access_log *7
- </VirtualHost>
- *上記後半の部分は、バーチャルホスト www.sub.sakura.ne.jp の設定を行っています。
・
・
・
|
*2下のアドレスで表示させたいページを保存する場所
*3上のページを表示させるためのアドレス
*4 上のページのエラーログと、アクセスログを保存する場所
*5下のアドレスで表示させたいページを保存する場所
*6上のページを表示させるためのアドレス
*7 上のページのエラーログと、アクセスログを保存する場所
|
現在サーバに割り当てられているIPアドレスを知る方法です。
レンタルサーバの場合、以下のコマンドで知ることが出来ます。
% ifconfig -a
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 210.155.142.82 netmask 0xfffffff0 broadcast 210.155.142.95
ether 00:90:cc:01:1b:05
media: 100baseTX <full-duplex>
・
・
・
|
上記のような内容が表示されます。青字の部分がNICデバイス名、赤字の数字の部分に、お客様のIPアドレスが表示されます。また、表示される内容は、サーバの環境により異なりますので、必ずご確認下さい。
IPアドレスベースによる設定方法
現在サーバは、www.sakura.ne.jp と www.othersakura.ne.jp というホスト名を持っており、www.sakura.ne.jp には 192.168.0.1を、www.othersakura.ne.jp には
192.168.0.2 を割り当てるとします。
・この方法によるメリット
この方法によるメリットはIPが余っていればその数だけ設定できることです。
また、IPによる設定なので、DNSの設定を行うことにより、逆引きもで
きるようになります。
新たにドメインを所得して、運用することも可能です。
まず、バーチャルホストで利用するディレクトリを"mkdir" コマンドで作成します。
バーチャルホストで、ファイルをディレクトリとエラーログ・アクセスログを保存する
場所を作成します。ディレクトリは、スーパーユーザ状態で作成すると、ファイルの
書きこみ許可等を与えらず、ファイルのアップロードなどが出来なくなるので、ログ
イン時のアカウントは、"admin"で行います。
% cd /usr/home/admin
% mkdir htdocs
% mkdir logs
|
以下の作業はスーパーユーザで行います。
httpd.conf は /usr/local/apache/conf/ の中にあります。
サーバコンフィギュレーション
httpd.conf内では必要の無い行に関しては、"#"によりコメントアウトされています。
コメントアウトされている行は、コメント"#"を外してください。
この解説のなかでは、"#"は外してあります。
現在"*"がついている部分は補足説明です。ご注意下さい。
・
・
・
- <VirtualHost 割り当てられたIPアドレスを入れてください。>
- DocumentRoot /usr/local/apache/htdocs *8
- ServerName www.sakura.ne.jp *9
- ErrorLog /usr/local/apache/logs/ *10
- CustomLog /usr/local/apache/logs/ *10
- </VirtualHost>
- <VirtualHost 割り当てられたIPアドレスを入れてください。>
- DocumentRoot /usr/home/admin/htdocs *11
- ServerName www.othersakura.ne.jp *12
- ErrorLog /usr/home/admin/logs/error_log *13
- CustomLog /usr/home/admin/logs/access_log *13
- </VirtualHost>
・
・
・
|
*8下のアドレスで表示させたいページを保存する場所
*9上のページを表示させるためのアドレス
*10 上のページのエラーログと、アクセスログを保存する場所
*11 下のアドレスで表示させたいページを保存する場所
*12上のページを表示させるためのアドレス
*13 上のページのエラーログと、アクセスログを保存する場所
|
www.sakura.ne.jpは割り当てられたIP(メインサーバ) を通じてつながりますが、
www.othersakura.ne.jp は新たに割り当てたIPアドレスを通じてバーチャルホスト
としてつながります。
※IPアドレスは、お客様が自由に割り振ることは出来ません。追加IPアドレスが必要な場合は、
別途お申し込み下さい。
|