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

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

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

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

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

2262閲覧

Vagrant で仮想環境を構築し、かつバーチャルホストの設定をしたいのですがうまくいきません

Web_akira

総合スコア34

Apache

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

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

1クリップ

投稿2019/03/11 07:45

編集2019/03/11 09:26

オンプレミスで、開発用のサーバを構築中です。
CentOS7 をインストールした物理サーバに、Vagrant をインストールしました。
Vagrant を使って、仮想環境を2つ立ち上げています。

具体的には、PHPのバージョン5系と7系を1つのサーバで使えるようにし、
かつ、バーチャルホストで様々なドメインで使えるようにするのが最終目標です。

・物理サーバ 192.168.11.202 (CentOS7 / VirtualBox)
・VM ① public_network: 192.168.11.203 (private_network: 192.168.33.11) Apache2.2/PHP5.3.3
・VM ② public_network: 192.168.11.204 (private_network: 192.168.33.12) Apache2.4/PHP7.3.1

IP での接続まではうまくいきました。
社内LAN で 192.168.11.203 / 192.168.11.204 で使い分けができました。
以下、Vagrantfile の設定の一部です。

config.vm.network "forwarded_port", guest: 80, host: 8100 config.vm.network "private_network", ip: "192.168.33.11" config.vm.network "public_network", ip: "192.168.11.203", bridge: "enp2s0" config.vm.synced_folder ".", "/var/www/html", :owner => "apache", :group => "apache", :mount_options => ["dmode=775,fmode=775"]

ここから、httpd のバーチャルホストを使いたいので
/etc/httpd/conf/httpd.conf を編集していますが、うまくいっていません。

NameVirtualHost *:80 <VirtualHost *:80> ServerName 192.168.11.203 DocumentRoot /var/www/html </VirtualHost> <VirtualHost *:80> ServerName web01.dev DocumentRoot /var/www/html </VirtualHost> <VirtualHostt *:80> ServerName press.dev ServerAlias press.dev DocumentRoot "/var/www/html/press.dev/public_html/press.dev" </VirtualHost>

最初の設定(192.168.11.203)だけは有効です。
あとの、web01.dev、press.dev は、どういうわけか http でアクセスしているのに https へリダイレクトされてしまい、設置しているページも表示されません。

Windows 側の hosts ファイルには以下を追加しています。

192.168.11.203 web01.dev 192.168.11.203 press.dev

Vagrant を立てたサーバの /etc/hosts にも同様に以下を追加しています。

192.168.11.203 web01 192.168.11.203 press.dev

VM(仮想環境側)の hosts は編集する必要がないと思っていますが、合っているでしょうか。
VM の hosts も設定を入れてみましたが、うまくいかず、つまっています。

あまりこのような設定をされることは少ないかと思いますが、
お分かりになる方がいらっしゃいましたら、ご教示のほど、よろしくお願いいたします。

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

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

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

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

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

Yousuck

2019/03/11 08:36

ファイアーウォールは無効化されてますか?
Web_akira

2019/03/11 08:47 編集

> Yousuke 様 VM ①は CentOS6 なので、以下のコマンドで無効化にしています。 sudo /etc/rc.d/init.d/iptables stop sudo /etc/rc.d/init.d/ip6tables stop sudo chkconfig iptables off sudo chkconfig ip6tables off 物理サーバの方は CentOS7 で、 systemctl stop firewalld で停止しています。
Yousuck

2019/03/11 08:56

承知しました。 httpd.confファイルを編集する前に、/var/www/htmlにindex.htmlを置いての確認はされてますか?
Web_akira

2019/03/11 08:59

> Yousuke 様 はい、しております。 index.php に phpinfo(); を出力させています。 192.168.11.203 でアクセスすれば表示されます。
Yousuck

2019/03/11 09:13

記載されてましたね。。大変失礼しました。 vagrant-hostsupdaterはインストールされてますか?
Web_akira

2019/03/11 09:16

> Yousuke 様 最初に vagrant-hostsupdater を入れてみたのですが、ダメでした。 おそらく、物理サーバからアクセスする場合は、有効なのでしょうが、 社内 LAN の別PCからアクセスするという通常ではない構成なので無理なのかなと考えています。 今は、hosts は手動で変更しています。
Yousuck

2019/03/11 09:20

そうだったんですね。 最後に確認させてください。 Vagrantfileに "config.vm.hostname" "config.hostsupdater.aliases" の設定はされてましたでしょうか?
Web_akira

2019/03/11 09:22

> Yousuke 様 vagrant-hostsupdater を入れていた時は、設定していました。 今は外していますので、どちらも取り除いております。
Yousuck

2019/03/11 09:27

承知しました。 あと私がお答えできる事は、 ディレクトリのパーミッションを変更してみることくらいですかね。 すみません。。
Web_akira

2019/03/11 09:29

> Yousuke 様 ありがとうございました。 パーティションも変更済みで、samba を使って、社内の Windows機 から編集できるようにしています。 IP アドレスでなら、どのマシンからもアクセス/編集できることを確認しています。
guest

回答1

0

自己解決

VagrantのLAMP環境でのバーチャルホストの設定方法

上記の記事の方と同じように、hosts の名前を~.com に変更したところ、出来ました。
~.dev ではドメイン名と認識されないのかも知れませんね…。
そのあたりを調べてみますが、とりあえずは解決できましたので、ご報告いたします。

投稿2019/03/11 09:42

Web_akira

総合スコア34

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

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

Web_akira

2019/03/11 10:04

原因が分かりましたので、追記します。 .dev というトップレベルドメインは、存在しており、Google が管理しています。 「Google運営のTLD、HSTSに追加 まずは「.foo」「.dev」が対象」 https://www.itmedia.co.jp/enterprise/articles/1709/28/news053.html .foo もそうですが、強制的に https にブラウザ側で変更されてしまうとのこと。 開発機ということで、.dev にしたのが間違いでした。 .test などにするか、運用面で考えていきたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問