Apache(httpd) 仮想ホスト設定

Apache(httpd) 仮想ホスト設定

ローカル Web サーバーで仮想ホストを構成しようとしています。必要なのは、ローカルホストまたはサーバー IP にアクセスしたときにデフォルトの Centos ページが表示され、/etc/hosts で構成されている他の Web サイトにアクセスしたときにそれらの Web サイトが表示されることです。

これはこのセットアップの正しい構成ですか? 思ったように動作しません。すべての Web サイトがデフォルトの Centos ページに移動するため、これは望んでいることではありません。

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/
    ServerName localhost
</VirtualHost>


<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/vhost/web1.com/html/
    ServerName web1.com
    ErrorLog /var/www/vhost/web1.com/logs/error.log
    CustomLog /var/www/vhost/web1.com/logs/access.log common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/vhost/web2.com/html/
    ServerName web2.com
    ErrorLog /var/www/vhost/web2.com/logs/error.log
    CustomLog /var/www/vhost/web2.com/logs/access.log common
</VirtualHost>

答え1

これを ServerName web1.com のすぐ下の仮想ホストに追加します。

ServerAlias *.web1.com

これは質問内のコメントに対する回答なので、その質問を追加するには質問を編集する必要があります。

答え2

Ubuntu サーバーで Apache を設定する場合は、/etc/apache2/sites-available/000-default.confファイルに移動して以下の行を追加します。

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/vhost/web1.com/html/
    ServerName web1.com
    ErrorLog /var/www/vhost/web1.com/logs/error.log
    CustomLog /var/www/vhost/web1.com/logs/access.log common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/vhost/web2.com/html/
    ServerName web2.com
    ErrorLog /var/www/vhost/web2.com/logs/error.log
    CustomLog /var/www/vhost/web2.com/logs/access.log common
</VirtualHost>

また、ホストファイル( )にも以下の行を追加します/etc/hosts

127.0.1.1    web1.com
127.0.1.2    web2.com

関連情報