• 締切済み

apacheのvirtualhostについて

Apache/1.3.22のname virtual hostについておたずねします。 httpd.confの記述で NameVirtualHost 219.***.***.*** <VirtualHost 219.***.***.*** ServerName www.********.co.jp DocumentRoot /home/web/docs ScriptAlias /cgi-bin/ /home/web/cgi-bin/ ErrorLog /home/web/logs/error_log CustomLog /home/web/logs/access_log combined </VirtualHost <VirtualHost 219.***.***.*** ServerName test.********.co.jp DocumentRoot /home/web/test ScriptAlias /cgi-bin/ /home/web/test-cgi-bin/ ErrorLog /home/web/logs/test-error_log CustomLog /home/web/logs/test-access_log combined </VirtualHost としているのですがVirtualHostが反映されません。 また、LAN内のサーバーですのでnamed.confはviewを使用し、zoneファイルは2通り用意しており外部からも内部からも正常に正引きできます。 どのような原因が考えられるでしょうか? また、対処法はどのようにすればよいのでしょうか? ご教授いただきますようお願いいたします。

みんなの回答

回答No.4

こんにちは、FreeBSDユーザです。 自宅にてApacheでNameベースのVirtualHostを構築しています。 私も同様な症状に遭遇した経験が有りますが、Apacheを再起動したら 無事VirtualHostが反映されました。 'apachectl restart'コマンドで再起動出来ると思います。 的外れな解答でしたらゴメンナサイ。

luckytama
質問者

お礼

ご回答ありがとうございます。 残念ながら、再起動しても結果は同じです。どうやらapacheの設定ではなく、ほかに原因がありそうです。 まだ解決していませんが・・・

  • dqndqn
  • ベストアンサー率25% (7/28)
回答No.3

引き続き詳細を伺います。 error_logが記録されないと言うのは、仰るとおり正常終了しています。 >VirtualHostが反映されません。 と判断したのはどんな結果からですか? virtualなURIでアクセスした際、参照されるHTMLソースが、それぞれの DocumentRoot以下のものではない、ということですか? ○OSの種類 ○ソースのコンパイル方法(configure時のオプション) ○httpd.confの在処,主な設定箇所 ○httpdの起動方法 など書かれた方が、広く意見を貰えるのではないでしょうか。

luckytama
質問者

補足

ありがとうございます。 >virtualなURIでアクセスした際、参照される >HTMLソースが、それぞれの DocumentRoot以下の >ものではない、ということですか? 仰るとおりです。 httpd.confで DocumentRoot "/var/www/html" とし、www.*****.co.jpにアクセスしたときに /home/web/docsが参照され、 test.*****.co.jpにアクセスしたときに /home/web/test が参照されるようにしたいのですが いずれも/var/www/htmlが参照されてしまいます。 また、NameVirtualHost 以下のディレクティブを 外部から見たときに参照される <VirtualHost 219.***.***.***> ・・・ </VirtualHost> とした場合も 内部から参照される <VirtualHost 192.168.1.2> ・・・ </VirtualHost> とした場合も結果は同じです。 OSはRedHat7.2です。 configure時のオプションは何も指定していません。 httpd.confは/etc/httpd/conf以下にあり、 バーチャルホスト以外の設定は変更していません。 apacheの起動は apachectlを使用しても init.d/httpd start を使用しても結果は同じです。 この現象はどうやらnamedがらみの様なのですが、どうも腑に落ちません。 ほかに同様のご経験をされた方がおられたらご意見を伺おうと思ったのですが・・・ いかがなものでしょうか

  • dqndqn
  • ベストアンサー率25% (7/28)
回答No.2

>としているのですがVirtualHostが反映されません。 肝心なところは、どのように「反映されない」のか、というところです。 www.****.co.jp test.***.co.jp とアクセスしたときに、ブラウザではどのような応答があり、ログ(access_log /error_log)には何と記録されますか? その情報を伺わないとなんとも云えないです。 バージョンの話ですが、ローカルで運用されているようですのでユーザを 信頼していれば、特に最新版にする必然性はない、と私は思います。 #でも、219で始まるIPアドレスだなぁ。 まずは動かすことでしょう。

luckytama
質問者

補足

ご回答ありがとうございます・ /error_logはエラーは記録されません。 また、-Sオプション付きで起動した場合にも VirtualHost configuration: 219.***.***.***:*** is a NameVirtualHost default server www.*****.co.jp (/etc/httpd/conf/httpd.conf:1235) port 80 namevhost www.*****.co.jp (/etc/httpd/conf/httpd.conf:1235) port 80 namevhost test.****.co.jp (/etc/httpd/conf/httpd.conf:1243) wildcard NameVirtualHosts and _default_ servers: _default_:* www.*******.co.jp (/etc/httpd/conf/httpd.conf:1251) という結果ですので見た目は正常に動作しているように思えます。 そんなわけでこんがらがってしまっております。

  • k-haru
  • ベストアンサー率66% (2/3)
回答No.1

こんにちは、 Apache/1.3.22を使っておられるようですが、セキュリティホールがあるのでApache/1.3.26 以降を使われた方がいいです。 さて、 >> <VirtualHost 219.***.***.*** >> … >> </VirtualHost ですが、 <VirtualHost 219.***.***.*** > … </VirtualHost > というふうにしたらどうですか。

luckytama
質問者

お礼

ご回答ありがとうございます。 <VirtualHost 219.***.***.*** > … </VirtualHost > となっています。 コピーミスでした。 おはずかしい・・・

luckytama
質問者

補足

ご回答ありがとうございます。 apacheのバージョンアップは この問題が解決してからと思ってました(自嘲)

関連するQ&A