• ベストアンサー

httpd.confの書き方

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

質問者が選んだベストアンサー

  • ベストアンサー
  • kalze
  • ベストアンサー率47% (522/1092)
回答No.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>

R34_666
質問者

お礼

>ServerAlias example1.com *.example1.com なるほど、続けて書くんですね。 長く書いていただき、すごい分かりやすかったです。 本当にありがとうございました。 PS.サイト管理者様  ドメイン名の件、すいませんでした。

その他の回答 (2)

  • kalze
  • ベストアンサー率47% (522/1092)
回答No.2

ちょっと状況を整理してください。 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とは異なるドキュメントルート。 ということでよろしいのでしょうか?

R34_666
質問者

補足

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

  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

1・2共にhttpd.confは特に弄らなくてもできるとおもいますが。 むしろDNSの設定ではないですか?これ 1)なら3つ全て同じIPを割り当てておけば、 同じWEBサーバーにアクセスするので。 2)なら、ワイルドカードを使用するようにしておけばそれで1)と同じ状態になるとおもいます。 /home/******** がDocumentRootってことでお話させていただきました ********.comのドメインの持ち主の方ですか? もしそうでなく例示のために用いているならexample.comにしましょう。 example.comはRFC2606で例示のために予約されています。 httpd.confについて勉強されている技術者の方のようなので。

R34_666
質問者

補足

>むしろ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)の場合どう書けば良いのか・・・?

関連するQ&A

専門家に質問してみよう