• ベストアンサー

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

  • httpd.confに関して

    Windows版apache2.2.4のhttpd.confの設定をWeb等で調べながら行っていますが、自分がダウンロードしてきたhttpd.confとWeb上の表記が違っていて混乱しています。 例えばユーザディレクトリuserを作り、以下のURLで表示させたい場合、 http://localhost/~user/index.html 以下の設定をすれば良い、と書いてあります。 <IfModule mod_userdir.c> UserDir "C:/Program Files/Apache Group/Apache/users/" </IfModule> 上記記述は最初から私がダウンロードしたファイルにはありませんでした。 この部分をコピーペーストして試しましたがうまく表示されませんでした。 以下のことを教えていただけないでしょうか。 1)上記ユーザディレクトリを表示するにはどうすれば良いか。不足している記述等。 2)httpd.confの記述がダウンロード先によって違うのは何故か。バージョン情報などそれらの違いを識別する方法はあるのか。また、すべての機能を網羅したバージョン(?)は存在するのか。 以上、宜しくお願いします。

  • 【httpd.conf】リダイレクト設定について

    APACHEのhttpd.confの設定でどうしてもうまくいかない 点があって困っています。よろしかったら教えて下さい。 目的: アンケート入力ページ以降をhttpsで参照してもらうように設定したい。 行った設定: <VirtualHost XXX.XXX.XXX.XXX:80> ServerName www.xxxxx.co.jp DocumentRoot /home/test/html RedirectMatch \/testap\/(.*) https://www.xxxxx.co.jp/testap/$1 </VirtualHost> 環境: Server version: Apache/2.0.40 概要: アンケートページはJAVAで作られていて 「/var/tomcat/webapps/testap」ディレクトリ以下です。 URLは 「http://www.xxxxx.co.jp/testap/servlet/input?param=aaa」 testapにマッチした場合に転送するよう設定すれば よいかと考えていたのですが全く遷移しない状況です。 試しにドキュメントルート直下のディレクトリへの アクセスをhttpsに転送する設定を書いてみた場合は うまくいきました。testapディレクトリがドキュメント ルート直下でないのが原因なのでしょうか? よろしくお願いします。

  • httpd.confでアップロードディレクトリを変更

    httpd.confで該当のディレクトリ内の、 httpd.confで、アップロード時のテンポラリディレクトリを変更したいのですが、 記述を調べてもでてきません。 (下記のように記述してみたのですが反映されません。 googleでごっそり出てくるかとおもいきや、具体的な記述が全く見つからず・・・) すみませんが、わかる方がいらっしゃれば教えてください。 <Directory "/home/project/hogehoge"> upload_tmp_dir "/home/tmp" </Directory>

    • ベストアンサー
    • PHP
  • httpd.confと.htaccessについて

    http://www.○○.jp/ とファイル名を指定せずにURLを打ち込んだ時にindex.htmlではなくindex.phpを 見に行くようにしたいので、 apacheのhttpd.confを設定したんですが、うまく.htaccessファイルを見に行ってくれません。 一応、下記のとおりAllowOverrideをAllにして、.htaccessを使用可能な状態にしたハズなのですが 何か足りない部分があるんでしょうか? ************************************* <Directory /> Options FollowSymLinks AllowOverride All </Directory> AccessFileName .htaccess ************************************* ちなみに.htaccessが使用可能でなくても、最初にindex.phpを見に行ってくれればOKなので 下記のようにhttpd.confに設定をしたのですが、やっぱりダメで 無条件でindex.htmlを見に行ってしまいます。 DirectoryIndex index.php index.html index.htm index.shtml index.cgi 何分、初心者なのでつまらない質問かもしれませんが 色々試みたんですが、お手上げ状態です。。 どなたかわかる方いらっしゃったらよろしくお願いいたします。

  • Apatcheのhttpd.confについて

     わけあって現在運用中のウェブアプリが入ったサーバを調査し始めたのですが、 公開されているページを含むソースが何処にあるのか解らず困っています。  httpd.confの中のDocumentRootという項目で指定されているディレクトリを観ても中身は空でした。Aliasの項目で指定されているディレクトリはiconというディレクトリで中は画像ファイルしかありませんでした。  しかし運用中のアプリのソースがこのサーバにあるはずなので何処かに公開されているディレクトリが書いてあると思っているのですが、こういった場合どういった方針でソースを探すのが良いのでしょうか?  因みに本アプリケーションはEC CUBEというPHPのフレームワークを使っているようです。  自力で検討を付ける方法が知りたいと思っていますので、 開発者に聞けば?という回答以外でお願い致します。  アドバイス下さい。宜しくお願い致します。

    • ベストアンサー
    • PHP
  • Apatche http.conf Include

    Fedora11 apatche http.confとIncludeファイルの設定についてお尋ねします。 httpアクセスの許可/禁止をIncludeファイルで指定する場合、次のような指定でよいのでしょうか。。 ----http.confの記述-------- . . Include conf.d/*.conf … Fedora11のデフォルト . . <Directory "/var/www/html"> Options FollowSymLinks AllowOverride None Order allow,deny </Directory> --------------------------- これから作成するファイル(1) ---conf.d/allow.conf--- <Directory "/var/www/html"> allow from 129.60.0.0/16 allow from 129.136.0.0/16 . (日本で使用されているIPアドレスらしい) . allow from 126.0.0.0/8 </Directory> ----------------------------- これから作成するファイル(2) ---conf.d/deny.conf--- <Directory "/var/www/html"> deny from xxx.xxx.xxx.xxx . (随時追加するつもり) . deny from xxx.xxx.xxx.xxx </Directory> ----------------------------- ・質問(1) http.conf、allow.conf、deny.conf という3つのファイルで指定することはよいのか。 ・質問(2) それぞれのファイルの中身の記述様式はよいか。 ・質問(3) http.confの中で、Include の行が、<Directory "/var/www/html">より先にあるがよいのか。 Order allow,deny が allow.conf や deny.conf の後になるが。 初歩的な質問ですが、よろしくお願いします。

  • Apache2.2 Aliasについて

    http://www.adminweb.jp/apache/docroot/index3.html 上のサイトを参考に、ドキュメントルート以外の場所へアクセスできるようにしたいんですが 参考サイト通りにやっても、うまく動きません。 httpd.confは <IfModule alias_module> Alias /labo/ "C:/Apache_Server/data/" <Directory "C:/Apache_Server/data"> Allow from all </Directory> ScriptAlias /cgi-bin/ "C:/Apache_Server/Apahce2.2/cgi-bin/" </IfModule> このように書いています。 (ServerRoot は "C:/Apache_Server/Apahce2.2" DocumentRoot は "C:/Apache_Server/Apahce2.2/htdocs"です) C:\Apache_Server\data に index.htmlを置き http://localhost/labo/index.html へアクセスしても Not Found The requested URL /labo/index.html was not found on this server. と表示されます。 環境はApache2.2、windows7です。 どこか間違っているところがあるのでしょうか? よろしくお願いいたします。

  • まだphpmyadminのタイトル画面がでません

    Vine Linuxです。 apacheとphpinfoのテスト用画面は正常に出力されます。 しかし、ブラウザでphpmyadminのタイトル画面を表示したときには、そのディレクトリの中(phpmyadmin)のファイル構成が出てくるだけでした。 {インストール先ディレクトリ}/index.php でアクセスしようとするとNotFoundになりますので、 apacheのhttd.confに次のような記述を追加しました。 Alias /phpmyadmin/ "/var/www/html/phpmyadmin" <Directory "/phpmyadmin"> Options -Indexes FollowSymLinks Order deny,allow Allow from xxx.x.x.x Allow from xxx.xxx.xx.x <Directory> (xxxというのは接続するPCのアドレスが入ります) また、下記のサイトで出ていました、 http://ziddy.japan.zdnet.com/qa4458048.html 1. httpd.conf の DirectoryIndex ディレクティブに index.php が含まれていない。 2. httpd.conf に AddType application/x-httpd-php .php がない。 3. httpd.conf で Options -Indexes FollowSymLinks が指定されていない。または Options Indexes FollowSymLinks が指定されている。 の設定対応も行っています。 ここまでの設定でもブラウザでの表示は変化ありません。 足りない設定など、改善に向かうヒントがありましたら、ご教授いただけないでしょうか? よろしくお願いします。

  • リダイレクトの設定について httpd.conf .htaccess

    リダイレクトに関して質問させていただきます。 今回、WEBサイトを閉鎖するにあたり、現在のサイトにアクセスした場合(全てのディレクトリ)、一度インデックスページにリダイレクトさせ、そのページにサイト閉鎖の案内を出そうと思っています。 リダイレクトさせるため、.htaccessに下記の記述をしたのですが、サイトのインデックスのページ(index.html)にアクセスすると、ループ状態になってしまいます。 【記述内容】 Redirect permanent / http://xxx.co.jp/index.html http.confも変更・修正ができますので、どういう記述をすれば、ループに陥ることなくスムーズなリダイレクトができるかご教授ください。

  • httpd.conf内ScriprAlias設定に関して

    何時もお世話になります。 現在APACHE2でCGIの設定をしております。 過去の質問などを色々と読んでおりますが、ScriptAliasの設定で判らない部分がございます。 一つのディレクトリ内のcgi-binでは動くのですが、複数のディレクトリで動かそうとすると、ソースが表示されてしまいます。 複数のディレクトリ内でそれぞれCGIを動かす為の設定はどの様にしたら宜しいのでしょうか・・・? 現在 ScriptAlias /cgi-bin/ "usr/local/apache2/cgi-bin/" <Directory "home/hoge1/cgi-bin/" Options +ExecCGI </Directory> <Directory "home/hoge2/cgi-bin/" Options +ExecCGI </Directory> となっております。 それぞれにScriptAliasのパスを書かないとダメ?と思い、 デフォルトを切って ScriptAlias /cgi-bin/ "/home/hoge1/cgi-bin/" ScriptAlias /cgi-bin/ "/home/hoge2/cgi-bin/" 等を付けたり切ったり、何度かパタンを試しましたが巧く行きません。 Aliasの考え方が間違って居るのでしょうか・・・? ご指導の程、お願い申し上げます。