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

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

ただいまの
回答率

88.04%

Apacheのバーチャルホストで複数サイトを実行したい

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 3,447

score 10

前提・実現したいこと

Apacheのバーチャルホストを利用し1つのIPアドレスで2つのサイトを実行したいと思っています。

var/wwwの配下にexmple.comとwordpress.com(仮名)のディレクトリを配置し、
wordpress.comはアクセス出来ているのですが、
example.comはApache TESTINGページが出ている状態です。

当初独自ドメインで1つのサイトを作成していましたが、
wordpressのサイトを新たに作成するため、ディレクトリやバーチャルホストの設定を行いました。
ディレクトリの権限を設定し、再度アップロードしております。
(元々は/var/www/htmlにindex.htmlを置きexample.comを実行していました。)

SSLを2つのドメイン対応に設定する以前は、httpの状態でexample.comはアクセス出来る状態でしたが、
SSLを両方に対応するよう設定した辺りから、index.htmlのページが表示されません。

ドキュメントルートを確認しましたが、どこに問題があるのかわからない状態です。
初心者のため勉強不足は承知ですが、ぜひアドバイスを頂ければと思います。
よろしくお願い致します。

なお、バーチャルホストのコードは以下の通りです。

NameVirtualHost *:80

<VirtualHost *:80>
 ServerName example.com
 DocumentRoot /var/www/example.com
 ErrorLog "logs/example.com-error_log"
 CustomLog "logs/example.com-access_log" common
<Directory "/var/www/example.com">
 Require all granted
</Directory>
</VirtualHost>


<VirtualHost *:80>
 ServerName wordpress.com
 DocumentRoot /var/www/wordpress.com
 ErrorLog "logs/wordpress.com-error_log"
 CustomLog "logs/wordpress.com-access_log" common
<Directory "var/www/wordpress.com">
 Require all granted
</Directory>
</VirtualHost>

補足情報(FW/ツールのバージョンなど)

Apache
CentOS7

/var
/www

/wordpress.com , 
/example.com 

∟ / index.html , css , script ,image 
     

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mosapride

    2019/04/02 13:17

    確認コマンドを発行して内容を貼ってください。
    設定ファイルの整合性確認→「apachectl configtest」
    現在の状況の確認→「httpd -S」など

    キャンセル

  • mmnmmoe

    2019/04/02 13:30

    # apachectl configtest
    AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf/httpd.conf:355
    Syntax OK

    # httpd -S
    AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf/httpd.conf:355
    VirtualHost configuration:
    *:80 is a NameVirtualHost
    default server example.com (/etc/httpd/conf/httpd.conf:357)
    port 80 namevhost example.com (/etc/httpd/conf/httpd.conf:357)
    port 80 namevhost wordpress.com (/etc/httpd/conf/httpd.conf:368)
    port 80 namevhost example.com (/etc/httpd/conf/httpd-le-ssl.conf:13)
    *:443 is a NameVirtualHost
    default server ik1-302-11179.vs.sakura.ne.jp (/etc/httpd/conf.d/ssl.conf:56)
    port 443 namevhost ik1-302-11179.vs.sakura.ne.jp (/etc/httpd/conf.d/ssl.conf:56)
    port 443 namevhost example.com (/etc/httpd/conf/httpd-le-ssl.conf:2)
    port 443 namevhost wordpress.com (/etc/httpd/conf/httpd-le-ssl.conf:19)
    ServerRoot: "/etc/httpd"
    Main DocumentRoot: "/var/www"
    Main ErrorLog: "/etc/httpd/logs/error_log"
    Mutex proxy: using_defaults
    Mutex authn-socache: using_defaults
    Mutex ssl-cache: using_defaults
    Mutex default: dir="/run/httpd/" mechanism=default
    Mutex mpm-accept: using_defaults
    Mutex authdigest-opaque: using_defaults
    Mutex proxy-balancer-shm: using_defaults
    Mutex rewrite-map: using_defaults
    Mutex authdigest-client: using_defaults
    Mutex ssl-stapling: using_defaults
    PidFile: "/run/httpd/httpd.pid"
    Define: _RH_HAS_HTTPPROTOCOLOPTIONS
    Define: DUMP_VHOSTS
    Define: DUMP_RUN_CFG
    User: name="apache" id=48
    Group: name="apache" id=48

    以上になります!ぜひ訂正箇所等ございましたらアドバイスお願い致します!

    キャンセル

  • mosapride

    2019/04/03 09:04

    let's encryptを入れようとして中途半端な設定になっていませんか?
    httpd.conf内で/etc/httpd/conf/httpd-le-ssl.confをIncludeしてるように見えます。
    wordpress.comはhttpd.confのみの設定
    example.comのはhttpd.confとhttpd-le-ssl.confの設定が有効になっているっぽいので違いを探してみてください。

    キャンセル

  • mmnmmoe

    2019/04/11 15:35

    アドバイスを頂いてから返信が遅れまして申し訳ございません!
    確認したところおっしゃるようにhttpd -le-ssl.confの設定がexample.comのみになっていたので訂正致しました。両方のサイトでhttpsは有効になっていますが、依然として片方のサイトがTESTINGページになっております...。
    ポートフォリオサイトを制作していたため、とりあえずそちらを完成させるためhtml下にexample.comページを置き制作を進めておりました。
    そちらが一段楽したらご指摘頂いた点などを元に、バーチャルホストでwordpressサイトもtestingページから抜け出せるように色々と試してみようと思います。
    アドバイスありがとうございました!

    キャンセル

回答 1

+1

httpd.conf等の記述がお知らせいただいた通りであれば、

<Directory "var/www/wordpress.com">
の箇所は
<Directory "/var/www/wordpress.com">
ではないでしょうか。

現状 /var/www/wordpress.com ディレクトリに対する権限がないため、 403 Forbidden の状態になっています(Apacheの初期設定であれば、この 403 エラー時にはテストページが表示されます)。

あるいは、もう少し詳しいエラー内容を確認するために、 wordpress.com-error_log の内容をご覧になってはいかがでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/02 16:39 編集

    アドバイスありがとうございます!
    指摘箇所を訂正致しました。
    現在、wordpress.comは見られますが、example.comが見られない状態です。
    example.com-error_logでエラーを確認したところ、

    [Tue Apr 02 10:57:39.838278 2019] [php7:error] [pid 8713] [client 198.167.223.52:53660] script '/var/www/example.com/acadmin.php' not found or unable to stat

    という表示が出ました。
    ちなみに、example.comディレクトリはこのようになっております。

    drwxrwxr-x 2 apache vpsuser 27 Apr 1 15:16 css
    drwxrwxr-x 2 apache vpsuser 4096 Apr 1 15:16 image
    -rwxrwxr-x 1 apache vpsuser 4398 Apr 2 11:04 index.html
    drwxrwxr-x 2 apache vpsuser 22 Apr 1 15:16 script

    正直解決策が浮かばないのですが何かアドバイスがございましたら頂けると幸いです。

    キャンセル

  • 2019/04/02 16:49

    example.com のログに出ているようでしたら、このバーチャルホスト設定は有効です。
    その次は、一般的に何が原因で表示されないかの切り分けを行います。

    この場合は、私でしたら

    1. /home/www/example.com/index.html に何か書いて、ブラウザで表示されるかどうか見る
    2. index.php に `<?php phpinfo(); ?>` などを書いて PHP が処理されているかどうか見る

    それぞれにエラーが出るかどうかや、ログのエラーメッセージがどうなっているかの確認を行うことになります。

    キャンセル

  • 2019/04/02 18:38 編集

    ご意見ありがとうございます。
    元々バーチャルドメインにする前にブラウザで表示されていたので、それをディレクトリにアップロードしていますがやはりテストページが出て来てしまいます。
    ttps://example.com/index.htmlでアクセスしたところ、not found 404エラーとなっていました。
    パーミッションやバーチャルホストの確認をしましたが未だ解決しておりません...。
    もう暫し原因を探ってみようと思います。

    キャンセル

  • 2019/04/03 18:33

    テストページが出てしまうのは `/etc/httpd/conf.d/welcome.conf` の影響ですので、これは消してしまってもいいかもしれませんね。

    not found 404 と出てしまうのであれば、ドキュメント・ルートが正しく存在しているかどうか、そして、ファイルが存在しているかどうかがポイントになりそうです。

    よくあるパターンとしましては、apachectl configtest 等を実行して、構文エラーが起こっているため Apache の再起動ができず設定ができないこともあります。

    キャンセル

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

  • ただいまの回答率 88.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る