- ベストアンサー
バーチャルホスト (Apache2)
REDhatEL + Apache2でバーチャルホストを設定しようとしています。 RedHat7 + Apacheの時は、named.conf、zoneファイルの作成、httpd.confの設定でうまくいきましたが、今回はそれでは表示できませんでした。 何か他に設定が必要なのでしょうか?? http://domain/~vartualhost では表示できています。 宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ありゃ~、困りましたねぇ・・ まずわからない言葉があったら、検索してみてください。現場のプロでもやっていることですから。 >/etc/hosts に何が記されていたら良いのか /etc/hosts ではありません。 最初の回答を見てください。ブラウザを使うクライアントPCのhostsファイルのことです。 普通ブラウザに「http://www.goo.ne.jp」などと打つと、DNSに訊きにいってIPアドレスを見つけるわけです。でもhostsファイルに 192.168.0.100 www.goo.ne.jp という行があったとすると、DNSに聞きにいく前にhostsファイルが参照されてブラウザはそのIPアドレスにアクセスするという動きをします。 ではなぜこんなことをするかというと、DNSに問題があった場合でもこれでとりあえずその問題点をスキップできるからです。つまりこれでアクセスできるならapacheに問題はないという仮説が立ち、問題点をDNSに絞り込めるということになります。 Windowsをお使いの場合、C:\WINDOWS\system32\drivers\etc の中にhosts というファイルがあるので、Notepadで開いて「127.0.0.1 localhost」の下に同じように追加してください。 IPアドレス サーバ名 >named-checkconf この辺を参考にしてみてください。 http://www.atmarkit.co.jp/flinux/rensai/bind911/bind911b.html named.conf やゾーンファイルにミスがあると見つけてくれます。 >httpd.conf、named.conf、zoneファイルを設定し、named、httpdを再起動したら、バーチャルで使用するドキュメントルートにメインのアドレスが切り替わっていました。(困) apacheはメインのサイトと同じIPアドレスでバーチャルホストを作るとそちらの設定に上書きされてしまいます。(だったかな? うろ覚え) 設定ファイルを変更した後は、「apachectl configtest」で確認する癖を付けてください。おかしいところがあれば指摘してくれます。 追加質問があればまたどうぞ。
その他の回答 (3)
- lowrider_2005
- ベストアンサー率40% (1520/3748)
whoisでDNSサーバがちゃんと登録されているがdigでIPアドレスが引けないということは、DNSサーバの設定に問題があるのでしょう。 hostsファイルに書いた場合の状況はでしたか? これで問題なければapache側はOKですが。 whoisで調べてもDNSの問題は見つけることは出来ません。 named-checkconfあたりで調べてみてはいかがでしょうか。
お礼
回答ありがとうございました。 う~ん、lowrider_2005さんのおっしゃっていることが全然わかりません。(知識が無いので。。。) /etc/hosts に何が記されていたら良いのか、named-checkconfで調べると言ってもどこをどう調べるのかもよくわかっていません。 メインのアドレス(←バーチャルではない初期段階からある)をすでに運用しているので、なかなか思い切った設定ができずに困っています。 httpd.conf、named.conf、zoneファイルを設定し、named、httpdを再起動したら、バーチャルで使用するドキュメントルートにメインのアドレスが切り替わっていました。(困)
- lowrider_2005
- ベストアンサー率40% (1520/3748)
>> /home の下にVirtualHost/public_htmlのディレクトリ作成してますか? >はい。作成しています。でも表示できません。。。 別にそこに作る必要はありません。どこにあってもOKです。 >おそらくzoneファイルが原因かなと考えているのですが。。。 nslookupやdigでバーチャルホストのFQDNを引くとどうなりますか? ちゃんとサーバのIPアドレスが返されれば問題なしです。返されなければDNSサーバ周りに問題ありかも。 とりあえずhostsファイルに書いてみればDNS問題は避けて通れますので試す価値ありです。 Windowsの場合、hostsファイルの場所は「C:\WINDOWS\system32\drivers\etc\hosts」にあります。書き方はファイルの中を参照してください。 また「今回はそれでは表示できませんでした。」とのことですが、ブラウザ上のエラーはどんなでしょうか? apacheのアクセスログ及びエラーログには何か出てきませんか?
お礼
回答ありがとうございました。 digコマンドを使用してみると、IPアドレスかえってきませんでした。 DNSの問題かと思いましたが、whoisで調べてみるときちんと設定されていることが確認できています。 これはどういうことでしょうか?? もしお分かりでしたら、教えていただけると幸いです。
- lowrider_2005
- ベストアンサー率40% (1520/3748)
>named.conf、zoneファイルの作成、httpd.confの設定でうまくいきましたが~ ネームベースのVirtualHostなら、それだけでOKなはず。 (IPベースならネットワークの設定も必要) httpd.confの設定はどうなってますか? >http://domain/~vartualhost では表示できています。 これはおそらくmod_userdirの機能ですよね? /home の下にVirtualHost/public_htmlのディレクトリ作成してますか?
お礼
回答ありがとうございました。 httpd.confの設定は、ドメイン名、IPアドレスなどは変更していますが、うまくできていたApacheのものと同じです。 > /home の下にVirtualHost/public_htmlのディレクトリ作成してますか? はい。作成しています。でも表示できません。。。 おそらくzoneファイルが原因かなと考えているのですが。。。
お礼
回答ありがとうございました。 おっしゃるとおりわからない言葉があれば、検索をかけていたのですが、それでも意味がわからずかなり苦戦していました。 /etc/hostsではなく、ブラウザの方のhostsだったのですね。先のご回答にもそう書かれていたのをすっかり/etc/hostsと思い込んでいました。せっかく丁寧にパスまで書いていただいたのに申し訳ありませんでした。今回Windowsのhostsの機能を初めて知ることができました。 named-checkconf、apachectl configtestのようなチェック機能も初めて知りました。 lowrider_2005さんのご回答をもとに、httpd.conf、zoneファイルを一つ一つ見直したところ、うまくいきました。httpd.confではメインのホストをバーチャルホストの設定にしていなくて、NameVirtualHostの設定も違っていました。zoneファイルでは、メインホストのzoneファイルをもとに書き換えていただけでした。 ものすごく時間は掛かりましたが、一つ解決すると、とんとん拍子に解決していきました。 lowrider_2005さん、丁寧にご回答頂きありがとうございました。