9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

仮想マシンにApacheをインストールしてWebサーバを構築したお話

Last updated at Posted at 2020-01-19

はじめに

先日受けました仮想マシン上でApacheをインストールしてWebサーバ構築を行うハンズオンを受けまして、そこからさらにホストOS側からゲストOSにアクセスし、Webページを返してもらうところまでやってみましたので、こちらにまとめます。

環境

  • ホストOS:Windows10
  • ゲストOS:CentOS7
  • VirtualBox:6.1.0
  • Apache:2.4.6

手順

Apacheインストール

仮想マシン起動

前回の記事でCentOSをインストールした仮想マシンを構築しましたので、その仮想マシンを起動します。
仮想マシンを起動したらターミナル(端末)を開きます。

Apacheをインストール

ターミナル上で

yum -y install httpd

と入力して実行することでApacheをインストールすることができます。

Apacheのインストール確認

Apacheをインストールしたあとにターミナル上で

htttpd -version

と入力すると、インストールしたApacheのバージョンを確認することができます。
2020-01-19_13h26_46.png

Apache起動

Apacheの起動

続いて、インストールしたApacheを起動します。
起動するときは

systemctl start httpd.service

と入力します。

Apacheの自動起動設定

今後、Apacheをインストールしたマシン(今回の場合は仮想マシン)を起動するときに自動でApacheを起動したい場合は、

systemctl enable httpd.service

と入力します。

HTMLを返すか確認(ゲストOS → ゲストOS)

ブラウザから自分自身のパソコンにアクセスすることでWebサーバが構築できているか確認します。
Apacheを起動した状態で仮想マシン上でブラウザを開き、

http://127.0.0.1

にアクセスします。(127.0.0.1は自分自身を指すIPアドレス)
この画面が表示されれば成功です。
2020-01-19_12h38_07.png

HTMLを返すか確認(ホストOS → ゲストOS)

最後にホストOSから仮想マシンに接続して先ほどと同じ画面が表示されるか確認します。

仮想マシンのIPアドレスを確認

先ほどはゲストOSがゲストOS自身に接続するため、IPアドレスは「127.0.0.1」で接続できました。
しかし、今回はホストOSからゲストOSに接続します。
もしホストOSで127.0.0.1を入力した場合、そのIPアドレスはホストOS自身を指し、ゲストOSにはアクセスできません。
人間から見たら同じパソコン(同じハードウェア)であってもホストOSとゲストOSの127.0.0.1は異なるIPアドレスを指します。
そのため今回はゲストOS側のIPアドレスを確認し、そのIPアドレスを使ってホストOSからアクセスします。

IPアドレスを確認するためにまずは設定を開きます。
2020-01-19_12h48_14.png
歯車マークを開きます。
2020-01-19_12h50_40.png
IPv4でゲストOSのIPアドレスを確認できます。
2020-01-19_12h52_52.png

ホストOSから接続

ホストOS側でブラウザを開き、「http://(ゲストOSのIPアドレス)」にアクセスします。
先ほどゲストOS側で確認したのと同じ画面が表示されれば成功です。
2020-01-19_12h38_07.png

つまづいた点

Apacheインストールできない

yum -y install httpd

と、入力したところエラーが発生しました。
そのときのエラーを取っておき忘れてしまったのですが、たしかNot Found的な内容だったと思います。
そこで仮想マシン上のネットワークを確認したところ、そもそもネットワークの接続がすべてオフになっていました。
2020-01-19_13h05_28.png
この単純なミスにもかかわらず、かなりの時間を割いてしまったので念のため記載しておきます。

ホストOSから接続してもHTMLが返ってこない

Apacheを起動した状態でホストOSからアクセスしても、
2020-01-19_13h12_15.png
このエラー画面が表示されてしまいました。
調べると、ゲストOS側のHTTPで接続するための80番ポートをあけないといけないようです。
ターミナル上で、

firewall-cmd --zone=public --add-service=http --permanent

と入力することで、80番ポートを開けることができます。
80番ポート開けたあとはファイアウォールに設定を反映させます。

firewall-cmd --reload

この手順で80番ポートを開けたあとに再度ホストOS側からゲストOS側へアクセスすると、今度はちゃんと画面が表示されるようになりました。

参考記事

Apacheのインストール手順についてはこちらの記事を参考にしました。
80番ポートを開ける手順についてはこちらの記事を参考にしました。

おわりに

今回はApacheのインストールから、ホストOSからゲストOSへアクセスしてWebページが返ってくることの確認までを行いました。
もし間違い等ありましたらご指摘いただけますと幸いです。
今回のお話はここまでです。

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?