プロが教える店舗&オフィスのセキュリティ対策術

apahce、httd.confのserver aliasとserver nameの記述法を教えてください。
1)
********.com
www.********.com
aaa.********.com
この3つが同じディレクトリ/home/********/index.htm
を表示するようにする。
2)
xxx.********.com
xxxの所に何を入力しても同じディレクトリ/home/********/index.htm
を表示するようにする。

A 回答 (3件)

DNSの設定でexample1.com(及びそのサブドメイン)、example2.comが共にAAA.BBB.CCC.DDDというIPアドレスを指定してあるとして。



NameVirtualHost AAA.BBB.CCC.DDD

<VirtualHost AAA.BBB.CCC.DDD>
  ServerAdmin webmaster@example1.com
  DocumentRoot /home/********/
  ServerName example1.com
</VirtualHost>

<VirtualHost AAA.BBB.CCC.DDD>
  ServerAdmin webmaster@example2.com
  DocumentRoot /home/********2/
  ServerName example2.com
</VirtualHost>

だけでもいけるんじゃないでしょうか?
特に指定していない場合、一番上に書いてあるVirtualHostディレクティブがデフォルトになるので、example2.comでアクセスしてきたもの以外には、example1.comのものが適用されるとおもいます。

もちろんサブドメインのものを全部定義していっても問題ないです。

最初のexample1.comのヴァーチャルホストの設定を
<VirtualHost AAA.BBB.CCC.DDD>
  ServerAdmin webmaster@example1.com
  DocumentRoot /home/********/
  ServerName example1.com
  ServerAlias example1.com *.example1.com
</VirtualHost>

とすると、example1.comドメイン全てをこの設定で処理するようになります。

emaple2.comもサブドメインを使用ということであれば、
それぞれにSeverAliasを設定してやれば、
それぞれのドメイン宛はそれぞれの設定で処理するという風にできますね
NameVirtualHost AAA.BBB.CCC.DDD

<VirtualHost AAA.BBB.CCC.DDD>
  ServerAdmin webmaster@example1.com
  DocumentRoot /home/********/
  ServerName example1.com
  ServerAlias example1.com *.example1.com
</VirtualHost>

<VirtualHost AAA.BBB.CCC.DDD>
  ServerAdmin webmaster@example2.com
  DocumentRoot /home/********2/
  ServerName example2.com
  ServerAlias example2.com *.example2.com
</VirtualHost>
    • good
    • 0
この回答へのお礼

>ServerAlias example1.com *.example1.com

なるほど、続けて書くんですね。
長く書いていただき、すごい分かりやすかったです。
本当にありがとうございました。

PS.サイト管理者様
 ドメイン名の件、すいませんでした。

お礼日時:2004/05/24 16:40

ちょっと状況を整理してください。



example1.comが今まで有り、
http://example1.com
http://www.example1.com
http://aaa.example1.com
の3つをネームベースのヴァーチャルホストに設定していた。

今回、example2.comのドメインを取得
上記に追加して、
http://example2.com
でアクセスできるようにする。

このときの条件として、
example1.comとexample2.comは同じIPアドレスを指すようにしている。
*.example1.comは全て同じドキュメントルート。
example2.comはexample1.comとは異なるドキュメントルート。

ということでよろしいのでしょうか?

この回答への補足

kalze様、何度もありがとうございます。
説明不足ですいません。だいたいそんな感じです。

補足日時:2004/05/24 14:22
    • good
    • 0

1・2共にhttpd.confは特に弄らなくてもできるとおもいますが。



むしろDNSの設定ではないですか?これ

1)なら3つ全て同じIPを割り当てておけば、
同じWEBサーバーにアクセスするので。

2)なら、ワイルドカードを使用するようにしておけばそれで1)と同じ状態になるとおもいます。

/home/********
がDocumentRootってことでお話させていただきました

********.comのドメインの持ち主の方ですか?
もしそうでなく例示のために用いているならexample.comにしましょう。
example.comはRFC2606で例示のために予約されています。
httpd.confについて勉強されている技術者の方のようなので。

この回答への補足

>むしろDNSの設定ではないですか?これ
すいません。必要無いと思って書かなかったのですが、
1つのサーバで複数のドメイン扱っている場合です。
http.confはバーチャルホストで記述してます。

>********.comのドメインの持ち主の方ですか?
>もしそうでなく例示のために用いているならexample.comにしましょう。
>example.comはRFC2606で例示のために予約されています。
そうだったんですか。気をつけます。
これ以降、example.comに置き換えます。

>httpd.confについて勉強されている技術者の方のようなので。

えーと・・・素人です。
うちのサーバを友人らに提供してるってだけなんで^^;


ドメイン一つだった時は上記DNSの設定だけだったんですが、複数ドメイン扱う事になったので、今まで使ってたサブドメイン名3つをどう記述すれば良いかわからなくなってしまいました。
2つなら、
server name example.com
server alias www.example.com
で良いとは思ったんですが、1)、2)の場合どう書けば良いのか・・・?

補足日時:2004/05/24 13:16
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!