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

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

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

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

Vagrant

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

Q&A

解決済

2回答

14704閲覧

vagrantで仮想サーバを立ち上げたが、ブラウザからアクセスできない

red-scorpions

総合スコア9

Apache

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

Vagrant

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

0グッド

0クリップ

投稿2016/12/08 14:28

編集2016/12/09 05:03

###前提・実現したいこと
vagrantを使って仮想サーバを立ち上げ、ローカルPCでwebにアクセスしたいです。

###発生している問題・エラーメッセージ
vagrant内のhttpd.confに下記の通りアクセス情報を記載しました。

Listen 8081 <VirtualHost *:8081> DocumentRoot "/vagrant/HOGE" ServerName vagrant.hoge ErrorLog "/var/log/httpd/hoge-error_log" </VirtualHost>

しかし、
curl -v 'http://vagrant.hoge:8081/'と入力すると、

* Trying 192.168.33.10... * connect to 192.168.33.10 port 8081 failed: Operation timed out * Failed to connect to vagrant.hoge port 8081: Operation timed out * Closing connection 0 curl: (7) Failed to connect to vagrant.math.ex port 8081: Operation timed out

と返ってきます。
###試したこと

  • 8081番ポートを80番ポートに変えても同じでした。
  • 下記の記事にあるように、httpdが動いているかの検証は行いました。

http://qiita.com/Chan_moro/items/c0df2763951ab79c57d1
しかし、

$ ps aux | grep httpd root 4887 0.0 0.7 403200 14936 ? Ss 09:57 0:00 /usr/sbin/httpd -DFOREGROUND apache 4888 0.0 0.4 403200 7788 ? S 09:57 0:00 /usr/sbin/httpd -DFOREGROUND apache 4889 0.0 0.4 403200 7788 ? S 09:57 0:00 /usr/sbin/httpd -DFOREGROUND apache 4890 0.0 0.4 403200 7788 ? S 09:57 0:00 /usr/sbin/httpd -DFOREGROUND apache 4891 0.0 0.4 403200 7788 ? S 09:57 0:00 /usr/sbin/httpd -DFOREGROUND apache 4892 0.0 0.4 403200 7788 ? S 09:57 0:00 /usr/sbin/httpd -DFOREGROUND vagrant 4930 0.0 0.0 112664 976 pts/0 R+ 10:04 0:00 grep --color=auto httpd
netstat -ant | grep LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::3306 :::* LISTEN tcp6 0 0 :::80 :::* LISTEN tcp6 0 0 :::8081 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN

と表示され、apache自体は起動しているようです。どういう原因が考えられますでしょうか。

###補足情報(言語/FW/ツール等のバージョンなど)
Max OS X El Capitan
10.11.4

$ vagrant vbguest --status [default] GuestAdditions 5.1.10 running --- OK.

AllowOverride All
Require All granted
の設定は行っています。

ゲストOS側のifconfigの結果は下記の通りです。

$ ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 inet6 fe80::5054:ff:fed8:7180 prefixlen 64 scopeid 0x20<link> ether 52:54:00:d8:71:80 txqueuelen 1000 (Ethernet) RX packets 521 bytes 55910 (54.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 424 bytes 53852 (52.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 43 bytes 3060 (2.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 43 bytes 3060 (2.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

同じVagrantfileとboxを使用している人のPCでは、ifconfigで下記のように192.168.33.10も表示されます。

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.33.10 netmask 255.255.255.0 broadcast 192.168.33.255 inet6 fe80::a00:27ff:fed6:5e6e prefixlen 64 scopeid 0x20<link> ether 08:00:27:d6:5e:6e txqueuelen 1000 (Ethernet) RX packets 951 bytes 188730 (184.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 798 bytes 1180486 (1.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Vagrantfileでは、下記の通りprivate_networkを指定しているのですが。。。

config.vm.network :private_network, ip: "192.168.33.10"

ホストOS側のifconfigの結果は下記の通りです。

$ ifconfig lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 options=3<RXCSUM,TXCSUM> inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 nd6 options=1<PERFORMNUD> gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 stf0: flags=0<> mtu 1280 en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether a4:5e:60:cd:0d:61 inet6 fe80::a65e:60ff:fecd:d61%en0 prefixlen 64 scopeid 0x4 inet 10.208.143.43 netmask 0xffffc000 broadcast 10.208.191.255 nd6 options=1<PERFORMNUD> media: autoselect status: active en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500 options=60<TSO4,TSO6> ether 6a:00:00:52:d8:50 media: autoselect <full-duplex> status: inactive en2: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500 options=60<TSO4,TSO6> ether 6a:00:00:52:d8:51 media: autoselect <full-duplex> status: inactive p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304 ether 06:5e:60:cd:0d:61 media: autoselect status: inactive awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484 ether 72:13:8e:5a:05:24 inet6 fe80::7013:8eff:fe5a:524%awdl0 prefixlen 64 scopeid 0x8 nd6 options=1<PERFORMNUD> media: autoselect status: active bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=63<RXCSUM,TXCSUM,TSO4,TSO6> ether a6:5e:60:dc:b1:00 Configuration: id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0 maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200 root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0 ipfilter disabled flags 0x2 member: en1 flags=3<LEARNING,DISCOVER> ifmaxaddr 0 port 5 priority 0 path cost 0 member: en2 flags=3<LEARNING,DISCOVER> ifmaxaddr 0 port 6 priority 0 path cost 0 nd6 options=1<PERFORMNUD> media: <unknown type> status: inactive vnic0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=3<RXCSUM,TXCSUM> ether 00:1c:42:00:00:08 inet 10.211.55.2 netmask 0xffffff00 broadcast 10.211.55.255 media: autoselect status: active vnic1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=3<RXCSUM,TXCSUM> ether 00:1c:42:00:00:09 inet 10.37.129.2 netmask 0xffffff00 broadcast 10.37.129.255 media: autoselect status: active vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 ether 0a:00:27:00:00:00 inet 192.168.33.1 netmask 0xffffff00 broadcast 192.168.33.255

解析に必要な情報を教えていただければ幸いです。
よろしくお願いいたします。

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

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

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

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

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

TaichiYanagiya

2016/12/08 15:33

仮想マシンの OS が不明ですが、iptables や firewalld は有効でしょうか?
red-scorpions

2016/12/09 01:17

ありがとうございます。下記の回答欄に加筆させていただきました。
A.Ichi

2016/12/09 02:08

ifconfig の結果も見れると有り難いです。192.168.33.10が表示されるとは、思いますが。
A.Ichi

2016/12/09 02:27

マスクを掛けるのも大変なので、存在していればOKです。
red-scorpions

2016/12/09 03:57

ありがとうございます。追記しました。
A.Ichi

2016/12/09 04:04

Vagrantfileにてprivate_networkを指定する事ができますのでご確認をされたら良いと思います。ググルと設定方法もあります。
red-scorpions

2016/12/09 04:36

ありがとうございます。既にprivate_networkは指定しております。追記しました。
A.Ichi

2016/12/09 04:48

vagrantを再起動するとifconfigに表示されるハズですが。
red-scorpions

2016/12/09 05:03

そうですよね、同じVagrantfileとboxを使用している人のPCではifconfigに表示されるのですが、私の方では表示されません。
guest

回答2

0

ベストアンサー

・ポートフォワーディングの設定をいれる(forwarded_port", guest: 8081, host: 8081)
・ブラウザの接続先は 192.168.33.10 ではなく localhost:8081 です

投稿2016/12/09 05:10

moonphase

総合スコア6621

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

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

red-scorpions

2016/12/09 05:27

確かにlocalhost:8081だとつなげました!ありがとうございます。
guest

0

下記に変更して、IPV4で受信待ちになるように変更して
apacheを再起動してください。

Listen 0.0.0.0:8081

まずは、ゲスト側のファイヤーウォールを停止してつないでみる

ゲスト側CentOS6 /etc/initd/iptables stop
ゲスト側CentOS7 systemctl stop firewalld

これで通信確認をお願いします。

ホストとゲスト間の通信設定を疑ってみる。

vargrantfileに下記を追加してみてください。
再起動もお忘れなく。

Vagrantfile

1config.vm.network "forwarded_port", guest: 8081, host: 8081

これで通信確認をお願いします。

投稿2016/12/08 14:37

編集2016/12/08 23:36
nagaetty

総合スコア1106

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

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

red-scorpions

2016/12/08 15:12

早速ありがとうございます。 httpd.confを下記のように変更しました。 $ cat /etc/httpd/conf/httpd.conf |grep Listen # Listen: Allows you to bind Apache to specific IP addresses and/or # Change this to Listen on specific IP addresses as shown below to #Listen 12.34.56.78:80 Listen 80 Listen 0.0.0.0:8081 #Listen 8081 この結果、下記のようになりました。 $ ps aux | grep httpd root 1071 0.1 0.7 403196 14932 ? Ss 15:09 0:00 /usr/sbin/httpd -DFOREGROUND apache 1626 0.0 0.4 403196 7784 ? S 15:09 0:00 /usr/sbin/httpd -DFOREGROUND apache 1628 0.0 0.4 403196 7780 ? S 15:09 0:00 /usr/sbin/httpd -DFOREGROUND apache 1629 0.0 0.4 403196 7784 ? S 15:09 0:00 /usr/sbin/httpd -DFOREGROUND apache 1630 0.0 0.4 403196 7784 ? S 15:09 0:00 /usr/sbin/httpd -DFOREGROUND apache 1631 0.0 0.4 403196 7784 ? S 15:09 0:00 /usr/sbin/httpd -DFOREGROUND vagrant 4604 0.0 0.0 112664 980 pts/0 R+ 15:10 0:00 grep --color=auto httpd $ netstat -ant | grep LISTEN tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::3306 :::* LISTEN tcp6 0 0 :::80 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN しかし、やはり接続できませんでした。。 $ curl -v 'http://vagrant.hoge:8081/' * Trying 192.168.33.10... * connect to 192.168.33.10 port 8081 failed: Operation timed out * Failed to connect to vagrant.hoge port 8081: Operation timed out * Closing connection 0 curl: (7) Failed to connect to vagrant.hoge port 8081: Operation timed out 何か他に原因考えられますでしょうか。
red-scorpions

2016/12/09 01:16

ありがとうございます。 ゲストOSはcentos7です。firewallは既に下記のように停止されていました。 $ systemctl is-enabled firewalld disabled vagrantfileにconfig.vm.network "forwarded_port", guest: 8081, host: 8081を追加し、 vagrant reloadし、vagrant sshしてsudo service httpd restartを実行しました。 しかし、やはり接続できませんでした。 現状、ブラウザで192.168.33.10にアクセスしても、Apacheのデフォルトページが見れません。 なお、以前、PCのOSをEl Capitanにアップデートしてから、localhostもつながらなくなったのですが、それは関係あるでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問