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 -

でスーパーユーザーになってから実行してみると解決するかも。