質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

1回答

943閲覧

ubuntu,apacheでのバーチャルホストを設定し2つの独自ドメインで表示サイトを切り分けたい

owns

総合スコア12

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

1クリップ

投稿2019/04/02 02:01

環境

サーバー:sakuraのVPSサーバー
OS:ubuntu18.04
apache(2.4.29)

質問内容

バーチャルホストの設定をし独自ドメインによって表示するwebサイトを切り分けたいのですが、以下手順で上手くいかず苦戦しています。片方のサイトしか表示されないという状態です。

やりたいことは
test1.comにアクセス→/var/www/test1を表示
test2.comにアクセス→/var/www/test2を表示

何か設定が足りないのか、構成がそもそも間違っているのか。。
有識者の方教えていただければ幸いです。

試した手順

①test1.comとtest2.comの独自ドメインを取得し、DNSの設定をサーバー管理会社側、VPS側で済ませる。

②apacheの起動が確認できている状態で、/etc/apache2/sites-available 内にある000-default.confを任意の名前でコピー。(test1.confとtest2.confとします)

test1.confの内容を以下の様に編集しました

<VirtualHost *:80> ServerName test1.com ServerAdmin webmaster@localhost DocumentRoot /var/www/test1 ErrorLog ${APACHE_LOG_DIR}/test1.error.log CustomLog ${APACHE_LOG_DIR}/test1.log combined </VirtualHost>

test2.confの内容を以下の様に編集しました

<VirtualHost *:80> ServerName test2.com ServerAdmin webmaster@localhost DocumentRoot /var/www/test2 ErrorLog ${APACHE_LOG_DIR}/test2.error.log CustomLog ${APACHE_LOG_DIR}/test2.log combined </VirtualHost>

③シンボリックリンクを貼りapacheを再起動。

sudo a2ensite test1.conf sudo a2ensite test2.conf sudo service apache2 restart

④公開するディレクトリの構成を以下のようにする
/var/www/test1/index.html

<html> <body> <h1>The test1.com</h1> </body> </html>

/var/www/test2/index.html

<html> <body> <h1>The test2.com</h1> </body> </html>

⑤ホストファイルに以下を追記

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の内容

</VirtualHost> "000-default.conf" 32L, 1317C 12,27-34 Top <VirtualHost *:80> #ServerName ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/04/02 02:42

そもそも双方のドメインでIPひいたらサーバのIPが出てくるんでしょうか
owns

2019/04/02 09:49

ご回答ありがとうございます。 はい、双方ともサーバーIPとの紐づけはできております。 >>独自ドメインtest2.comでのアクセスはサーバーIPが見つからないというエラー。 こちらについては独自ドメインの設定に誤りがあったためでした。 現時点では双方とも/var/www/html内のapacheのテストページが表示されてしまいます。 000-default.confを無効化しても同様の結果になります。 confファイルの中身は質問時から変更していません。
guest

回答1

0

2つのファイルにvirtualhostの定義を書いていますが、1つのファイルにまとめてください。1つのhttpdが読み込むconfファイルは1つです。それに書いてあるvirtualhostだけを公開しているので。

投稿2019/05/12 10:18

sage

総合スコア1216

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問