Apacheバーチャルホストの設定方法とは?
- 自宅サーバを作っている素人が、Windows 7 32bit上のApache 2.2.25でバーチャルホストを作成する方法について試行錯誤しています。
- 参考にしているサイトの指示に従って設定を行っているが、うまくいかず困っています。
- 具体的には、ServerNameやDocumentRootの指定を変更したが、アクセスするとadminwebのページしか表示されず、localhost1を指定してもページが見つからないという問題が発生しています。
- ベストアンサー
apache バーチャルホストの設定
自宅サーバを作っています。素人です。 windows7 32bit でapacheのヴァージョンは2.2.25です。 http://www.adminweb.jp/apache/virtual/index2.html ここを参考にバーチャルホストを作っているのですが、 何回やっても(5~6回再インストールして作り直しました) ここの通りにやってもうまくいきません。 具体的には ServerName www.adminweb.jp ServerAdmin hogehoge@adminweb.jp DocumentRoot "D:/Apache Group/Apache2.2/adminweb_docs" CustomLog logs/adminweb.access.log common ErrorLog logs/adminweb.error.log を DocumentRoot "D:/www1" に変更した位で、これで http://www.adminweb.jp/にアクセスしても adminwebのホームページが出るだけでした。 ServerName を例えばlocalhost1としても 「このページは見つかりませんでした」と 出るだけです。 ここに書いてある内容で知っていて当たり前の事が 書いてないからかな、と考えています。 素人がここのサイトでバーチャルホストを作るに当たって 留意する事がありましたら教えてください。 どうか宜しくお願いします!
- RIOT1970
- お礼率44% (87/195)
- ネットワーク
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ご質問の内容には、質問者様にとっての完成形をイメージできる内容が書かれていません 環境がWindowsのようですのでIPでなく名前ベースのローカルPC上でのバーチャルホストであると思うのですが 作業内容を見る限り外部サーバを参照するなどバーチャルホストとは何なのかという目的や根本が明確になっていないようです > ここに書いてある内容で知っていて当たり前の事が > 書いてないからかな、と考えています。 内容はざっと見た限り必要十分なことが丁寧に記述されているように思います IPって何、ドメイン名って何ってレベルだったらバーチャルのバの字以前の問題かと > 素人がここのサイトでバーチャルホストを作るに当たって > 留意する事がありましたら教えてください。 素人を名乗るのであれば、バーチャルホストのような上級向けの技術に挑戦する以前に 単体のサーバ構築ができ、「基本知識・技術」を取得するのが先決かと思います 普通はネットの原理を理解しないで闇雲に構築しようとしても単体の独自サーバすらまともに設定できないと思います 医学知識のない素人に盲腸の手術を任せられないのと同じで、ぶっつけ本番初回で奇跡が起こらなければ確実に失敗します 留意すること ・バーチャルホストとは何か 最終的に自機をどういう風にしたいのか 参考サイトの例だと 自機を「www.adminweb.jp」および「www.officepro.jp」という名前どちらでもアクセスできるようにする 設定を見るとDocumentRootが別になっているので別々のコンテンツを表示させたい ※ドメイン名www.adminweb.jpは実際に存在するので、「自分で考えた」ドメイン名で挑戦すること ・ドメイン名・名前解決(当該HPの「実際のテスト」の最初の3行とサンプルデータを参考)とは何か → DNSが無かったらどうやって名前解決できるのか DHCPなんかで何も考えずにネットに接続できるようになって便利になりはしたけど、基礎知識なしでこの業界で仕事してるやつ、あまりに多過ぎてビックリです よって引け目を感じることはないかと思いますが、物事を理解する上で「基礎知識は大切」です 必要に迫られて目的意識からトライするのは理解しやすいですが 単なる勉強なら目的による完成形のイメージが希薄なので理解しにくいと思います 目標として「www.hogehoge.jp」「www.fugafuga.jp」でも自機で同じページが表示できるようにしてみるようまずはトライしてみてください その次のステップとして別のページ表示、さらに「www.aheahe.jp」なんか増やしてみるとか 長々とスイマセンでした
その他の回答 (2)
- Blatsan
- ベストアンサー率46% (15/32)
1台のパソコンを使って、設定しているのですよね? 今回問題のServerName www.adminweb.jpなのですが www.adminweb.jp はどのIPアドレスなのか?と言う問題にぶち当たります。 解説のページでは、「今回の設定用WINマシン」のHostsファイルを書き換えているようです。 このHostsファイルの書き換えは終わっていますか? apacheを起動させて、ちゃんと起動していますか? http://127.0.0.1/ にアクセスしたらアクセス出来ないでしょうか?
お礼
hostsファイルは書き換えましたが駄目でした。 実はポート開放してなかったのが原因かと思われます。 お騒がせしました。 ありがとうございます。
- Wr5
- ベストアンサー率53% (2177/4070)
>ここに書いてある内容で知っていて当たり前の事が >書いてないからかな、と考えています。 書いてあるけどやっていない。または、対象のファイルが間違っているのではないですかね? 名前からIPアドレスを引ける状態にす必要がありますが、管理下のDNSの設定を変更できる権限を持っているのでしょうか? あるいはhostsファイルを編集して対応することになりますが……。 # hostsファイルを編集する場合は「Windows7 hosts」で検索して見つかるページの内容をよく確認して下さい。 # あと、書き換えたコトでウィルス対策ソフトなどが反応する場合もありますのでご注意を。
お礼
取りあえず、ポート開放してapacheを再構築してみます。 怪しいところをひとつずつ消していきます。 ありがとうございました。
補足
名前からIPアドレスを引ける状態にす必要がありますが、管理下のDNSの設定を変更できる権限を持っているのでしょうか? ごめんなさい、この文章の意味が解りません。 ネットで調べてみます。 hostファイルの書き換えはやりました。 ウイルスソフト、それも原因として検討しなければならないですね。
関連するQ&A
- バーチャルホストの設定について
http://test.com →/usr/local/apache/htdocs http://www.test.com →/usr/local/apache/htdocs http://user.test.com →/home/user/public_html としたいのですが、DNSの設定とhttpd.confの設定はどのようにしたらよいでしょうか? DNSはワイルドカード有効にしてあります。 <VirtualHost *:80> ServerAdmin webmaster@test.com DocumentRoot /usr/local/apache/htdocs Servername www.test.com ErrorLog logs/www.test.com-error_log CustomLog logs/www.test.com-error_log common </VirtualHost> <VirtualHost *:80> ServerAdmin user@test.com DocumentRoot /home/user/public_html Servername user.test.com ErrorLog logs/user.test.com-error_log CustomLog logs/user.test.com-error_log common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@test.com DocumentRoot /usr/local/apache/htdocs Servername test.com ErrorLog logs/test.com-error_log CustomLog logs/test.com-error_log common </VirtualHost> このように設定したところ http://test.comでアクセスするとhttp://user.test.comと同じページが表示されてしまいます。
- ベストアンサー
- その他(ITシステム運用・管理)
- バーチャルホスト設定
何度も投稿して申し訳ありません(汗) ここしか聞くところがなくてorz バーチャルホストの設定ですが Apacheが正常にインストールをしていていると想定して vi /etc/httpd/conf/httpd.conf の下のところにあるバーチャルホストの設定のコメントを外すと 403となってApacheの画面が見れていた localhostも見えなくなってしまします。 何か間違いがあるのでしょうか?ちなみに外したのは #NameVirtualHost *:80 ↓ NameVirtualHost *:80 #<VirtualHost *:80> # ServerAdmin webmaster@”ドメイン名” # DocumentRoot /home/ftpmaster/localhost/”ドメイン名” # ServerName ”ドメイン名” # ErrorLog logs/error_log #</VirtualHost> ↓ <VirtualHost *:80> ServerAdmin webmaster@”ドメイン名” DocumentRoot /home/ftpmaster/localhost/”ドメイン名” ServerName ”ドメイン名” ErrorLog logs/error_log </VirtualHost> です。 他に設定などがあるようでしたらご指摘していただけると嬉しいです。 使用OS→CentOS5i386
- ベストアンサー
- Linux系OS
- apacheのバーチャルホストについて
恐れ入ります。 linuxでサーバーの運営をしてみようかなと思っているのですが、windows xp proで試しにapacheを入れてみてドメインを2つ取得してhttpd.confのバーチャルホストについて記述してみました。 その際に以下をつけたして新しいドメインでブラウザからアクセスしてみたら普通にアクセスできました。どこかのサイトでDNSサーバーを自分のlinuxにたちあげないといけないみたいなことが書いてあったのですが、linuxの場合はdnsサーバーをたちあげないといけないのでしょうか?教えてください。 <VirtualHost xxx.xxx.x.xx> ServerAdmin xxx@xxx.com DocumentRoot "C:\Program Files\Apache Group\Apache2\aaa" ServerName 新しいドメイン ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost>
- ベストアンサー
- Linux系OS
- apacheのバーチャルホスト設定について
apacheのバーチャルホストを次のように2つ設定しました。 <VirtualHost *:80> ServerAdmin admin@hogehoge.co.jp DocumentRoot /www/hogehoge ServerName hogehoge.co.jp </VirtualHost> <VirtualHost *:80> ServerAdmin admin@umauma.co.jp DocumentRoot /www/umauma ServerName hogehoge.co.jp </VirtualHost> 上記でそれぞれ http://hogehoge.co.jp/ http://umauma.co.jp/ にアクセスできるようになりました。 そこで、それぞれにサブディレクトリ http://hogehoge.co.jp/web1/ http://umauma.co.jp/web2/ を持たせたいのですが次のようにaliasはどのように設定したらいいのでしょうか? ・hogehoge.co.jpに対する設定 (ttp://hogehoge.co.jp/web1/にアクセスできました) Alias /web1 "/www/hogehoge/web1" <Directory "/www/hogehoge/web1"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ・umauma.co.jpに対する設定?(これはダメでした) Alias umauma/web2 "/www/umauma/web2" <Directory "/www/umauma/web2"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> このケースはどのように設定するべきでしょうか。
- ベストアンサー
- その他([技術者向] コンピューター)
- VirtualHostの設定
名前ベースのVirtualHostの設定を試してるのですが、 Permission denied: file permissions deny server accessとなり アクセスできません。wwwはアクセスできます。 サイトでいろいろ調べているのですが、解決できませんでした。 パーミッションも777に設定しています。httpd.confの設定を載せます。pperというユーザーを追加しました。 *ホストとドメインは仮名 NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/html ServerName www.pani.mydns.jp ErrorLog logs/www.pani.mydns.jp-error_log CustomLog logs/www.pani.mydns.jp-access_log common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /home/pper/html ServerName test.pani.mydns.jp ErrorLog logs/test.pani.mydns.jp-error_log CustomLog logs/test.pani.mydns.jp-access_log common </VirtualHost>
- ベストアンサー
- Linux系OS
- バーチャルホストで、同htmlファイルが表示される
バーチャルホストを作成しました。 http://wp.yat-net.com/?p=2400 http://likealunatic.jp/2008/05/16_xampp.php の様のページを参考にし、バーチャルドメインを設定しました。 【1.httpd.conf】 Include "conf/extra/httpd-vhosts.conf" ←有効 【2.httpd-vhosts.con :2つのバーチャルホスト作成】 <VirtualHost *:80> DocumentRoot C:/xampp/htdocs ServerName localhost ErrorLog "logs/error.log" CustomLog "logs/error.log" common </VirtualHost> <VirtualHost *:80> DocumentRoot C:/xampp/htdocs/test/doc ServerName wordpress.localhost ErrorLog "logs/error.log" CustomLog "logs/error.log" common </VirtualHost> 【3.hostsの設定】 127.0.0.1 localhost 127.0.0.1 wordpress.localhost 【4.index.htmlを作成】 C:/xampp/htdocs/index.html ⇒ aaaaa と記述したもの C:/xampp/htdocs/test/doc ⇒ eeeee と記述したもの 【5.ブラウザからアクセス】 http://wordpress.localhost/index.html http://localhost/index.html 【6.結果】 「http://wordpress.localhost/index.html」「http://localhost/index.html」のどちらでアクセスしても、 「C:/xampp/htdocs/index.html」の内容(aaaaa)が表示されます。 <質問> なぜ、「http://wordpress.localhost/index.html」でアクセスした際に、eeeeのindex.htmlファイルが 表示されないのでしょうか…。 環境は「Win7、Xampp1.7.7で Apache/2.2.21 」になります。
- ベストアンサー
- オープンソース
- apacheのバーチャルホストの設定について
XAMPPを一通りインストールして、apacheでバーチャルホストの設定を行っております。 環境:Windows2003server ApacheFriends XAMPP (Basispaket) version 1.7.1 + Apache 2.2.11 固定のグローバルIPアドレスは1つ持っており、仮に111.222.333.444としておきます。 バーチャルホストのドメイン名は2つ設定したいと思っており、 aaa.hogehoge.net bbb.hogehoge.net 他業者のDNSにて111.222.333.444をAレコードの値として、それぞれ割り当てしました。 ちなみに、hogehoge.netのAレコードは別のサーバーを当てています。 そこで、携帯から直接 http://aaa.hogehoge.netとhttp://bbb.hogehoge.net をアクセスしましたら、自社サーバーのC:/xampp/htdocs/にあるindex.htmが表示されました。 一応、名前解決は成功したとして、、、 念のため、Windowsのhostsに 111.222.333.444 aaa.hogehoge.net bbb.hogehoge.net を追加しました。 apacheのメイン設定-httpd.conf ------------------------------ ServerRoot "C:/xampp/apache" Listen 80 ServerAdmin admin@localhost ServerName localhost:80 DocumentRoot "C:/xampp/htdocs/" ↓バーチャルホストのファイルをインクルード Include conf/extra/httpd-vhosts.conf ----以下、httpd-vhosts.confの中身 ホスト名を2つ設定 NameVirtualHost 111.222.333.444:80 <VirtualHost 111.222.333.444:80> ServerAdmin admin@aaa.hogehoge.net DocumentRoot C:/xampp/htdocs/aaa.hogehoge.net ServerName aaa.hogehoge.net ServerAlias www.aaa.hogehoge.net <Directory "C:/xampp/htdocs/aaa.hogehoge.net"> Options FollowSymLinks Includes ExecCGI AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost 111.222.333.444:80> ServerAdmin admin@bbb.hogehoge.net DocumentRoot C:/xampp/htdocs/bbb.hogehoge.net ServerName bbb.hogehoge.net ServerAlias www.bbb.hogehoge.net <Directory "C:/xampp/htdocs/bbb.hogehoge.net"> Options FollowSymLinks Includes ExecCGI AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> 設定後、apacheを再起動して、再度携帯電話からhttp://aaa.hogehoge.netとhttp://bbb.hogehoge.netにアクセスしたのですが、C:/xampp/htdocs/にあるindex.htmが表示されてしまい、C:/xampp/htdocs/aaa.hogehoge.net/index.htm、C:/xampp/htdocs/aaa.hogehoge.net/index.htmが表示されません。それぞれのパーミッション自体は766になっているので、こちらは違うと思うのですが、バーチャルホストの設定が悪いのか何処が悪いのか、何か設定が悪いのか全くわからなくなりました。参考書のマニュアルを見ると、「バーチャルホストを設定すると、メインホストの設定が無効になる」と書いてあったので、それでもメインのホストが表示されてしまうということは、バーチャルホストの設定に問題があるのだと自分なりに察知しております。 どなたか、考えられる原因や心当たりある事がございましたら、ご教授をお願いします。
- ベストアンサー
- ハードウェア・サーバー
- apache:wwwでアクセスしたユーザをwwwなしに転送したい
rh9 apache2で鯖を立ててます。 www.???.co.jpでアクセスがあったユーザを ???.co.jpへと転送させたいと思っています。 下のようにRedirect を設定しても効きませんでした。 トヨタのホームページみたいにしたいと思っています。 www.toyota.jp → toyota.jp <VirtualHost 192.168.1.1:80> ServerName ???.co.jp Redirect / http://???.co.jp DocumentRoot /home/ipets/public_html/ ServerAdmin root@SIDE3.localhost ErrorLog /home/ipets/logs/error_log CustomLog /home/ipets/logs/access_log combined </VirtualHost>
- ベストアンサー
- Linux系OS
- Apache Virtual Hostでの認証
Apache の Virtual Host で認証をかけることはできますか? 以下のように設定したのですが、Apache起動時に Syntax error on line 1066 of /usr/local/apache2/conf/httpd.conf: AuthType not allowed here といわれます。 .htacessを使えば実現できるようですが、VirtualHostディレクティブ内で設定する方法はないでしょうか? <VirtualHost *:80> ServerAdmin test@example.com DocumentRoot /home/test ServerName test.example.com ErrorLog logs/test-error_log CustomLog logs/test-access_log common AuthType Basic AuthName "Restricted Files" AuthUserFile /home/test/.htpasswd Require user test </VirtualHost> よろしくお願いします。
- ベストアンサー
- ハードウェア・サーバー
- apache2.2でのバーチャルホストでの設定
質問させて頂きます。 apache2.2.21にてweb鯖を立てて、ドメインを取得しDDNSにてテストしています。 test.comというドメインにバーチャルホストにて web1.test.comとweb2.test.comを設定 した場合に、 なぜかtest.comとweb1.test.comが同じ内容が表示されてしまいます。 web2は通常通り表示されます。 詳しい方が居ましたら間違い点を教えて下さい。 httpd-vhostsの内容 # # Virtual Hosts # # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # <URL:http://httpd.apache.org/docs/2.2/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any <VirtualHost> block. # <VirtualHost *:80> DocumentRoot "C:/web/web1" ServerName web1.babayasu.info ErrorLog "logs/web1.localhost-error.log" CustomLog "logs/web1.localhost-access.log" common <Directory "C:/web/web1"> order deny,allow allow from ALL Options Indexes FollowSymLinks ExecCGI IncludesNoExec </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/web/web2" ServerName web2.babayasu.info ErrorLog "logs/web1.localhost-error.log" CustomLog "logs/web1.localhost-access.log" common <Directory "C:/web/web2"> order deny,allow allow from ALL </Directory> </VirtualHost>
- ベストアンサー
- レンタルサーバ・ASP
お礼
こちらこそありがとうございます。 お礼が遅くなってしまって申し訳ありません。 実はあの後、AN HTTPDをインストールして 色々実験して、アンインストールしようと したら、レジストリが悪さをしたみたいで、 apacheがインストールエラー (ソケットがどうたらとかDOS窓で)が出てしまって 取りあえず色々なゴミを捨てるという意味合いを かねてクリーンインストールしていたらこんなに 時間がかかってしまいました。 で、ふと思ったのですが、 実はポート開放してなかったので、もしかして これが原因ではないかと…まだOSクリーンインストール したばかりなのでapacheはこれからなので解りませんが これで巧くいくような気がしました。 怒らないでくださいね…もしそうだったとしても。 私事ですが、今首の病気で働けないのです。なので時間ばかり が余ってしかたないので、何かひとつやり遂げたかったのです。 今まで人生振り返って何ひとつ中途半端じゃないか、と。 で、きっかけは、やはり自分のwebサーバを持ちたい、 apacheは無料で利用出来て情報も沢山ある。 無から、有を作り出したいというか… 職業訓練も兼ねて、webサーバを取りあえず構築しよう じゃあないか、と。と、動機はそんな所です。 ポート開放が原因じゃなかったとして、また道に躓いたら 質問しますので、そのときはどうか宜しくお願い致します。