CentOS7にApache2.4をインストールしたがテストページが表示されない

apacheをCentOSにインストールする度に結構頭から抜け落ちていたりする。

原因

Apacheのファイヤーウォールの設定でhttp用のポートが閉じていた。

経緯

Apache2.4をインストールする

仮想マシンにCentOS7をインストールし、その後webサーバーを構築します。
webサーバーとしてApache2.4をコンソールから以下のyumコマンドでインストール。

インストールが完了。

Apacheを起動させます。

Apacheの起動状態を確認。

active欄がrunningとなっているので、どうやら起動しているようだ。

ルートディレクトリにテストページを配置してみる

apacheをインストールすると、varディレクトリ内にwwwというディレクトリができます。

ブラウザにページを表示させるためのファイルを置くディレクトリは”/var/www/html”直下になるので、ブラウザでちゃんと閲覧できるかどうか、適当に作ったテストページでも置いてあげましょう。

適当に作ったhtmlファイル。これを”/var/www/html”に置く。

その後ブラウザからwebページが正しく表示されるか確認する。正しく表示されるなら”ほげほげ”と表示されるはず。
apacheのテストページが表示されない
表示されない。
このファイルをルートディレクトリから取り除いたりしたり、テストページが表示されるか試したが、やはり表示されない。

ルートディレクトリの確認をする

一応ルートディレクトリの場所を確認します。

ルートディレクトリは、Apacheの設定ファイルであるhttpd.confから確認できます。
場所はこれ。”/etc/httpd/conf/httpd.conf”

httpd.confの119行目あたりにこんな記述が。

このDocumentRootというのは、ルートディレクトリを表しています。
どうやらルートディレクトリは間違っていないらしい。

解決

ファイヤーウォールの設定をする

apache2.4をyumでインストールすると、デフォルトでhttp通信のポートが閉じているっぽいので、そのままではhttp通信のやり取りができません。

つまりwebページの閲覧ができない。
故に、ファイヤーウォールの設定でhttpの通信を許可してあげる必要があります。

という訳で、ファイヤーウォールの稼働状況を見てみます。

services欄にhttpがありません。http通信はブロックされます。
ここにhttpを追加してあげる必要があります。

httpを追加。

稼働状況を確認する前に設定を再起動します。
これをしないと設定が反映されません。

service欄にhttpが追加されています。これで、httpのポートが開きました。

再度表示

これで再度ルートディレクトリにブラウザでアクセスしてみます。

ほげほげ

表示されました。無駄に空欄が多い。

テストページ表示成功

テストページも表示。

初めて設定する時にページを表示させるのはかなりワクワクする瞬間だというのに、とりあえずで表示できないのは勘弁してくれよ、とこの時思った。

ちなみにファイヤーウォールのポートを閉じるには、

先ほどの命令文のaddの部分をremoveにしてあげましょう。
これでファイヤーウォールの設定を再起動すると、リストからhtmlが消えます。