読者です 読者をやめる 読者になる 読者になる

CentOS 7にApacheを導入しようとして挫折する物語

これは、CentOS 7.2をインストールしたRaspberry Pi 3にApacheを導入する物語である。
筆者は、CentOSを3年もいじっているので、Apacheを入れるなんて朝飯前。
サーバを何回も初期化して、幾度とApacheを入れ直してるんで
Apacheを入れるのなんかカップラーメンにお湯を注ぐぐらい簡単だよって思ってます。

やることを頭に描き

## Apacheのインストール
# yum install httpd

## Apacheの起動および自動起動の設定
# service httpd start
# chkconfig httpd on

## 80番ポートの開放
# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT // 追加
# service httpd restart

サラッと、これを実行して、http://__IP_Address__ にアクセスして下の画面を確認しよう!

f:id:usmysa:20160529172640p:plain

第一章 Apacheを起動させよ

一瞬でApacheをインストールし、いざApacheを起動させようとした時、
普段なら下みたいに表示されるのに、表示されない…
まぁ、いっか。
きっと起動してるはず!

# いつも表示される結果
# service httpd start
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
# 今回、表示された結果
# service httpd start
Redirecting to /bin/systemctl start httpd.service

第二章 挫折への前触れ

じゃあ、次にポートの開放をやってみよう。
えっ…「/etc/sysconfig/」に「iptables」がない…!
うん、きっと80番ポートはデフォルトで空いてるはず…

第三章 大いなる挫折

さぁ、http://__IP_Address__にアクセスして、いつもの画面を確認しよう!

「ページを開けません。このページのあるサーバが応答しません。」

な、な、なぜだ…!!
いつもの段取りでやってるのに、なんで出来ない…
いつもiptablesあるのに、なんでない…
ラズパイ用のCentOSだとないのかな…

第四章 解決へのアプローチ

実は、解決へのヒントが表示されていました。
そうです、「Redirecting to /bin/systemctl start httpd.service」です。
実は、CentOS 7になってから自分が大好きだったserviceコマンドがなくなっていました。
ついでに、iptablesもなくなってました。
新しいやり方では、「systemctl」というコマンドを使います!

## Apacheの起動および自動起動の設定
# systemctl start httpd.service
# systemctl enable httpd.service

## 80番ポートの開放
# firewall-cmd --add-service=http --zone=public
# firewall-cmd --add-service=http --zone=public --permanent

参考:Apache httpd 2.4 を CentOS 7 に yum でインストールする手順 | WEB ARCH LABO

で、http://__IP_Address__にアクセスしてみると、Apacheの画面を確認することができるようになりました。
f:id:usmysa:20160529181908p:plain

あとがき

今回、初めて当たり前だと思っていたことに挫折を覚えました。
ググる時も、CentOSのバージョンを意識しないで、
普通に「CentOS Apache」というクエリーで調べていたので
違うバージョンのやり方が出て、解決するのに時間がかかってしまいました。
バージョンが上がったら、変更される部分があるということを実感したので、
今後は注意したいと思います!笑