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

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

ただいまの
回答率

89.13%

Vagrant + Virtualbox + CentOS 6.5 でhttpdサーバを構築できない

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 4,120

watabisa

score 10

■環境
win10 home
vagrant : 1.8.1
virtualbox : 5.0.14
仮想OS : CentOS 6.5

■症状
Vagrant + Virtualbox + CentOS 6.5 でhttpdサーバを構築しようとしましたが、
192.168.33.10 にアクセスして /var/www/html/index.html を表示させることができませんでした。

■行った手順
(windows コマンドプロンプト)

vagrant reload
==> default: Attempting graceful shutdown of VM...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 4.3.6
    default: VirtualBox Version: 5.0
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => C:/Users/USER/Documents/vagrant/centos65
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.


(CentOS)

sudo yum -y install httpd
sudo service httpd start
sudo chkconfig httpd on
sudo service iptables stop    左を実行したとき、下3つの表示が出てこない
iptables: Flushing firewall rules:            [OK]
iptables: Setting chains to policy ACCEPT: filter    [OK]
iptables: Unloading modules:                [OK]
sudo chkconfig iptables off
Vagrantfileの下の部分のコメントアウトを解除
config.vm.network :private_network, ip: "192.168.33.10"
192.168.33.10 にアクセス→失敗

■iptablesの状態
startコマンドを入力しても常にファイアウォールが動いていない状態でした
[vagrant@vagrant-centos65 ~]$ sudo service iptables start
[vagrant@vagrant-centos65 ~]$ sudo service iptables status
iptables: Firewall is not running.
[vagrant@vagrant-centos65 ~]$ sudo service iptables stop
[vagrant@vagrant-centos65 ~]$ sudo service iptables status
iptables: Firewall is not running.
[vagrant@vagrant-centos65 ~]$ sudo service iptables restart
[vagrant@vagrant-centos65 ~]$ sudo service iptables status
iptables: Firewall is not running.
[vagrant@vagrant-centos65 ~]$

■httpdの状態
[vagrant@vagrant-centos65 ~]$ sudo service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: httpd: apr_sockaddr_info_get() failed for vagrant-centos65.vagrantup.com
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]
[vagrant@vagrant-centos65 ~]$ sudo service httpd status
httpd (pid  8271) is running...
[vagrant@vagrant-centos65 ~]$

■補足
過去に同じ症状になった際にvagrant-vbguestを試してみましたが、さらに別のエラーが発生してしまい、
vagrant up 自体ができなくなってしまいました。

よろしくお願いいたします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 2

checkベストアンサー

+2

httpd サービスは起動しているようですので、

(1) ss -tln または netstat -tln で TCP 80番ポートが LISTEN になっていることを確認します。
    0.0.0.0:80 または :::80 となっていれば OK です。

(2) localhost から TCP 80番ポートに HTTP で接続できるか確認します。
    curl http://127.0.0.1/ で index.html の内容が表示されれば OK です。

(3) iptables が無効になっていることを確認します。
    iptables -nvL で INPUT, FORWARD, OUTPUTチェインに何もルールがないこと、policy ACCEPT となっていれば OK です。

(4) httpd/CentOS 6.5 と同じネットワークにあるホスト(この場合は Windows ホストになるでしょうか)から telnet で TCP 80番ポートに HTTP で接続できるか確認します。
200 OK が返れば OK です。
ブラウザから http://192.168.33.10/ へアクセスしてもいいと思いますが、プロキシを使わず直接接続すること。

(例)
> telnet 192.168.33.10 80
Trying 192.168.33.10...
Connected to 192.168.33.10.
Escape character is '^]'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
(以下略)


Connection refused などで接続できない場合はネットワークまわりに原因がありそうです。
接続できるのに期待した応答ではない場合、エラーログ(/var/log/httpd/error_log)を調べると何かわかるかもしれません。

まずはここまで。

(2016/02/03 15:52 追記)

(3)までは OK ですね。

(4-1) IPアドレスを確認します。
    ip addr コマンドでネットワークインターフェース(eth0 など)に 192.168.33.10 が設定されていれば OK です。

(4-2) 同じネットワークにあるホストから ping 192.168.33.10 で疎通できることを確認します。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2016/02/03 14:47

    ご返答ありがとうございます。
    (1)、(2)はうまくいきましたが、(3)、(4)が失敗しました。

    以下がその時の表示です。
    (3)iptablesの確認
    [vagrant@vagrant-centos65 ~]$ iptables -nvL
    FATAL: Error inserting ip_tables (/lib/modules/2.6.32-431.3.1.el6.x86_64/kernel/net/ipv4/netfilter/ip_tables.ko): Operation not permitted
    iptables v1.4.7: can't initialize iptables table `filter': Permission denied (you must be root)
    Perhaps iptables or your kernel needs to be upgraded.
    [vagrant@vagrant-centos65 ~]$

    ただし、sudo で実行すると以下の表示になりました。
    [vagrant@vagrant-centos65 ~]$ sudo iptables -nvL
    Chain INPUT (policy ACCEPT 136 packets, 11665 bytes)
    pkts bytes target prot opt in out source destination

    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    pkts bytes target prot opt in out source destination

    Chain OUTPUT (policy ACCEPT 79 packets, 14416 bytes)
    pkts bytes target prot opt in out source destination
    [vagrant@vagrant-centos65 ~]$



    (4)TCP 80番ポートに HTTP で接続
    Microsoft Telnet> open 192.168.33.10 80
    接続中: 192.168.33.10...

    ホストとの接続が切断されました。

    Microsoft Telnet>

    またご返答いただけますと幸いです。

    キャンセル

  • 2016/02/03 15:54

    回答に追記しました。
    (3)は root 権限が必要です。OK です。

    キャンセル

0

解決しました!
原因は Microsoft Edge でした。
IEで試しに 192.168.33.10 にアクセスしたら /var/www/html/index.html を表示できました。
かつてはMicrosoft Edgeでも表示できていたので、windows側のどこかの設定が変更されてしまって、
今回の問題が発生したんだと思います。
自己解決という形になりましたが、頂いたアドバイスのお陰で原因がCentOSやネットワークには無いことに気づけました。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

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