

apacheのバーチャルホストについて設定を行い  
example.comでapacheの開発環境  
/var/www/html/example  
にアクセスすることができました。

がlocalhostにアクセスすることができません。  
192.168.33.10にはアクセスできます。  
/etc/httpd/conf.d/localhost.confファイルには以下を記述しています。

[code]

    <VirtualHost *:80>
    ServerName localhost
    DocumentRoot /var/www/html/
    <Directory "/var/www/html/">
    AllowOverride All
    Options FollowSymLinks -Indexes
    </Directory>
    ErrorLog logs/local-error_log
    CustomLog logs/local-access_log combined env=!no_log
    </VirtualHost>
    
[/code]

ローカルマシンのwindowsのhostsファイルには以下を記述しています。

[code]

    192.168.33.10 localhost
    
[/code]

初歩的な質問で恐縮ですが  
検索しても情報が見つけられず質問させていただきました。  
よろしくお願いいたします。

* * *

以下追記させていただきます。

今回実行している環境は  
windows10上にvirtualboxにてcentos6を構築し  
その中にapache2.2.15を入れている状況です。


CC BY-SA 3.0
2017-02-05T02:47:41.213
32391
2017-02-10T05:41:02.167
2017-02-07T01:28:40.640
19992
19992
question
apache
apacheのバーチャルホスト設定について


末尾の"/"を外しましょう。  
その後、Apacheを再起動して変わりませんか？

[code]

    DocumentRoot /var/www/html
    <Directory "/var/www/html">
    
[/code]

* * *

少し考えたのですが、このApacheを実行しているサーバと  
実際見ているWindowsって別物ですか？  
`localhost`って自分を指すものなので別のサーバを見せたいなら別の仮想ドメインにしたほうがいいです。  
`hosts`とどちらが強いか分かりませんが、  
基本的に`localhost`は`127.0.0.1`や`::1`といった自分を見るものなので  
動作しないのであれば`localhost`以外でも試してみるといいです。

* * *

`localhost`を`hosts`で別IPに参照させてみたところ  
`ping`で別IPに送信されているので`hosts`で上書きは出来るようです。  
こちらでVirtualBoxで立てたサーバに接続できるか試験してみました。  
ブラウザによっては`localhost`で自分を呼ぶようですね。

  * IE：OK
  * FireFox：OK
  * Chrome：NG
  * Opera：NG

また、Apacheの設定もテストしましたが動作しているようです。  
ただし、誤字を１つ見つけました。`Options -FollowSymLinks -Indexes`に"-"がありません。

[code]

    <VirtualHost *:80>
        DocumentRoot /var/www/html
        ServerName localhost
    
        <Directory "/var/www/html">
            AllowOverride All
            Options -FollowSymLinks -Indexes
        </Directory>
        ErrorLog logs/local-error_log
        CustomLog logs/local-access_log combined env=!no_log
    </VirtualHost>
    
[/code]


CC BY-SA 3.0
2017-02-06T08:48:08.163
32420
2017-02-07T02:48:40.610
2017-02-07T02:48:40.610
32391
answer


一般的に localhost は ループバックアドレス (127.0.0.1) を指す名前ですので
Windows10上でのlocalhostはWindows10ですし、CentOS6上でのlocalhostはCentOS6です。

ご質問の環境では、Windows10上でlocalhostにアクセスした際に、CentOS6に接続させたいのだと思いますが
通常の使い方ではないので別の事を考えたほうが良いと思います。

例えば Centos6 側の ホスト名を設定して Windows10 側の hosts ファイルに書く、またはホスト名ではなく Centos6 の IP
アドレスで接続するのが良いと思います。

余談ですが、名前解決にはhostsファイルとDNS参照などがありますが、どのように名前解決するかはアプリケーションごとに異なります。特にブラウザは独自にキャッシュしていることもあるので
個人的な好みで言いますと、特に支障がなければIPアドレスでアクセスするのが悩みが少なくていいと思います。


CC BY-SA 3.0
2017-02-10T05:41:02.167
32552
2017-02-10T05:41:02.167
5008
32391
answer