Linux
CentOS
Apache
httpd
firewalld

Linux(CentOS7)でWebサーバーを構築する。 -Apache導入編-

More than 3 years have passed since last update.

概要

Linux(CentOS7)上でWebサーバーを構築する手順を綴りたいと思います。
まずはApacheの導入とそれに付随する設定を最短(?)で。

導入するもの

  • Apache

手順

1. Apacheの導入

# yum -y install httpd
コマンドはこれだけ。

ずらずらーってログが流れて、
Complete!
って表示されたら完了。

とっても簡単ね!

2. ファイアウォールの設定

ファイアウォールが動いているか確認
# firewall-cmd --state
"running"と表示されればOK!

起動していなかったら下記コマンドで起動
# systemctl start firewalld

今のファイアウォール設定の確認
# firewall-cmd --list-all

httpサービスの追加
# firewall-cmd --permanent --add-service=http
"--permanent"を付けるとサービスを再起動した場合にもこの設定を維持するよ

ファイアウォール設定の更新
# firewall-cmd --reload

もう一度ファイアウォール設定を確認
# firewall-cmd --list-all
servicesの欄にhttpが追加されていればOK!

これでhttp用のポートが空いたハズ…!

3. 動作確認

ここまでOKかな?

ブラウザにサーバーのアドレスを入力してみよう!

http://???.???.???.???

うまくできていれば、Apacheのテストページ「Testing 123..」が表示されるよ!

あとは、
/var/www/html/
に、任意の.htmlファイルを置いて楽しもう!

0. トラブルシューティング

「なんかようわからんが動かん!」という場合は読んでみてね。

SELinuxの状態確認

どういう症状が出るか忘れましたが…
# getenforce
の結果が、"Enforcing"だとうまく動かなかった気がします。

ので、
# setenforce Permissive
または
# setenforce Disabled
で、SELinuxの動作を停止させます。

※SELinuxってのはLinuxのセキュリティを強化してくれる何からしいです。
※私も詳しくないので自己責任でお願いします!

iptablesの停止

手順通りfirewalldの設定をしたけど繋がらない…!

iptablesが動いているとfirewalldと競合してしまうので、
# iptables -F
で止めとくと良いかも。

firewall-cmdコマンド実行時に何やら難しそうなエラーメッセージが出る

ERROR:dbus.proxies:Introspect error on :1.4:/org/fedoraproject/FirewallD1:...(略)
スーパーユーザーになっていないかも。

$ sudo firewall-cmd --state
こんな感じでsudoに続けてコマンドを入れるか、
$ su -
でスーパーユーザーになってから実行してみると解決するかも。