質問: ### 環境 サーバー:sakuraのVPSサーバー OS:ubuntu18.04 apache(2.4.29) ### 質問内容 バーチャルホストの設定をし独自ドメインによって表示するwebサイトを切り分けたいのですが、以下手順で上手くいかず苦戦しています。片方のサイトしか表示されないという状態です。 やりたいことは test1.comにアクセス→/var/www/test1を表示 test2.comにアクセス→/var/www/test2を表示 何か設定が足りないのか、構成がそもそも間違っているのか。。 有識者の方教えていただければ幸いです。 ### 試した手順 1test1.comとtest2.comの独自ドメインを取得し、DNSの設定をサーバー管理会社側、VPS側で済ませる。 2apacheの起動が確認できている状態で、/etc/apache2/sites-available 内にある000-default.confを任意の名前でコピー。(test1.confとtest2.confとします) test1.confの内容を以下の様に編集しました ``` ServerName test1.com ServerAdmin webmaster@localhost DocumentRoot /var/www/test1 ErrorLog ${APACHE_LOG_DIR}/test1.error.log CustomLog ${APACHE_LOG_DIR}/test1.log combined ``` test2.confの内容を以下の様に編集しました ``` ServerName test2.com ServerAdmin webmaster@localhost DocumentRoot /var/www/test2 ErrorLog ${APACHE_LOG_DIR}/test2.error.log CustomLog ${APACHE_LOG_DIR}/test2.log combined ``` 3シンボリックリンクを貼りapacheを再起動。 ``` sudo a2ensite test1.conf sudo a2ensite test2.conf sudo service apache2 restart ``` 4公開するディレクトリの構成を以下のようにする /var/www/test1/index.html ``` The test1.com ``` /var/www/test2/index.html ``` The test2.com ``` 5ホストファイルに以下を追記 ``` 127.0.0.1 test1.com 127.0.0.1 test2.com ``` ### 結果 独自ドメインtest1.comでアクセスするとapacheのテストページ(/var/www/html配下にある)が表示されてしまう。 独自ドメインtest2.comでのアクセスはサーバーIPが見つからないというエラー。 sudo a2dissite 000-default.conf 上記コマンドで000-defaultを無効化してみると、test1.comへのアクセスは無事に/var/www/test1の内容が表示されるが、site2.comへのアクセスはサーバーIPが見つからないと表示されてしまう。 confファイルが一つしか読めていない?と疑っているのですが、詰まってしまっています。 ### 補足情報 000-default.confの内容 ``` "000-default.conf" 32L, 1317C 12,27-34 Top #ServerName ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ```
回答: 2つのファイルにvirtualhostの定義を書いていますが、1つのファイルにまとめてください。1つのhttpdが読み込むconfファイルは1つです。それに書いてあるvirtualhostだけを公開しているので。